도와주세요!!
글 수 15,339
2004.05.03 14:39:13 (*.78.199.133)
6691
ezboot.x5.v14/main/mx29lvx.c 를 보시면
MX29LV400T에 블럭을 지울때의 경우를
Datasheet 페이지 7 Table 4 에 보시는 내용을 프로그램한것인데
//----------------------------------------------------------------------
// 설 명 : 블럭을 지운다.
// 반 환 : 성공 0
// 주 의 : 반드시 블럭의 주소를 준다
//----------------------------------------------------------------------
int MX29LVx_EraseBlock( unsigned long vBase, unsigned long
vBlkAddr )
{
Word16 status;
int loop;
for (loop=0; loop
{
MX29LVx_WriteMemoryShort( vBase+(0x555<<1), 0xAA );
MX29LVx_WriteMemoryShort( vBase+(0x2AA<<1), 0x55 );
MX29LVx_WriteMemoryShort( vBase+(0x555<<1), 0x80 );
MX29LVx_WriteMemoryShort( vBase+(0x555<<1), 0xAA );
MX29LVx_WriteMemoryShort( vBase+(0x2AA<<1), 0x55 );
MX29LVx_WriteMemoryShort( vBase+vBlkAddr, 0x30 );
msleep(100);
status = MX29LVx_GetStatus( vBase );
if ( status == MX29LVx_STATUS_READY )
{
MX29LVx_CMD_RESET(vBase);
return 0;
}
else
{
MX29LVx_CMD_RESET(vBase);
}
}
printf( "Erase Error [retry count]...
" );
return -1;
}
질문 1:
MX29LV400T에서 vBase의 어드레스는 몇번지이며 어느파일에 정의되 있나요?
질문 2:
MX29LV400T의 한 블럭에서 실제로 쓸수있는 데이타의 시작번지와
끝번지는 어디에서 어디까지 인지요? (Silicon ID 같은것을 제외하고서 )
한블럭의 시작번지부터 오프셋 얼마에서 얼마까지 인지요?
질문 3:
왜 RETRY_COUNT가 100으로 설정되 있나요?
MX29LV400T에 블럭을 지울때의 경우를
Datasheet 페이지 7 Table 4 에 보시는 내용을 프로그램한것인데
//----------------------------------------------------------------------
// 설 명 : 블럭을 지운다.
// 반 환 : 성공 0
// 주 의 : 반드시 블럭의 주소를 준다
//----------------------------------------------------------------------
int MX29LVx_EraseBlock( unsigned long vBase, unsigned long
vBlkAddr )
{
Word16 status;
int loop;
for (loop=0; loop
MX29LVx_WriteMemoryShort( vBase+(0x555<<1), 0xAA );
MX29LVx_WriteMemoryShort( vBase+(0x2AA<<1), 0x55 );
MX29LVx_WriteMemoryShort( vBase+(0x555<<1), 0x80 );
MX29LVx_WriteMemoryShort( vBase+(0x555<<1), 0xAA );
MX29LVx_WriteMemoryShort( vBase+(0x2AA<<1), 0x55 );
MX29LVx_WriteMemoryShort( vBase+vBlkAddr, 0x30 );
msleep(100);
status = MX29LVx_GetStatus( vBase );
if ( status == MX29LVx_STATUS_READY )
{
MX29LVx_CMD_RESET(vBase);
return 0;
}
else
{
MX29LVx_CMD_RESET(vBase);
}
}
printf( "Erase Error [retry count]...
" );
return -1;
}
질문 1:
MX29LV400T에서 vBase의 어드레스는 몇번지이며 어느파일에 정의되 있나요?
질문 2:
MX29LV400T의 한 블럭에서 실제로 쓸수있는 데이타의 시작번지와
끝번지는 어디에서 어디까지 인지요? (Silicon ID 같은것을 제외하고서 )
한블럭의 시작번지부터 오프셋 얼마에서 얼마까지 인지요?
질문 3:
왜 RETRY_COUNT가 100으로 설정되 있나요?