ata_init_sm.c

来自「dm270 source code」· C语言 代码 · 共 62 行

C
62
字号
/*
    DM270 ARM Evaluation Software

    (c)Texas Instruments 2003
*/

#include <fileio/ata_init.h>
#include <ata_media.h>

#include <sm_protocol.h>

#pragma	DATA_SECTION( smDrive, "ata_buf" )
AtaState *smDrive;

#pragma	DATA_SECTION( state, "ata_buf" )
static AtaState state;

#pragma	DATA_SECTION( SMState, "ata_buf" )
static AtaMEDIAState SMState;

STATUS SM_ataInit() {
	AtaError error = ATA_ERROR_NONE;

	smDrive=NULL;

	/*SUSMIT - Adding init code for ATA-FS*/
	SMState.BufR      = BufR;
	SMState.BufFat    = BufFAT;
	SMState.FAT_CACHE_ENABLE = 1;
	SMState.BufDataR  = BufDATAR;
	SMState.BufDataWR = BufDATAWR;
	SMState.RBufSize  = 32;
	SMState.WRBufSize = 32;
	SMState.detect    = SM_cardDetect;
	SMState.init      = SM_initCard  ;
	SMState.readNSector = SM_readNSector;
	SMState.writeNSector = SM_writeNSector;
	
	/*SUSMIT - Adding init code for ATA-FS*/
	state.AtaInitAtaMediaState=MEDIA_initState;
	state.pAtaMediaState=&SMState;

	state.AtaInitAtaMediaState(&state);

	state._AtaWriteBuffer = _AtaWriteBuffer;
	state.get_date = get_date;
	state.get_time = get_time;
	state.get_mod_date = get_mod_date;
	state.get_mod_time = get_mod_time;
	
    error = ATA_systemInit(&state);
	if(error)
		return E_DEVICE;

	ATA_enableMFW(&state);
		
	MEDIA_FAT_cacheInit(state.pAtaMediaState);

	smDrive=&state;
	return E_PASS;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?