도와주세요!!
글 수 15,339
2006.10.24 17:22:13 (*.113.12.208)
9143
안녕하세요..
u-boot에서 flash.c의 static ulong flash_get_size (void *base, flash_info_t *info) 함수에서
volatile ushort value16;
volatile ulong value32;
ushort * addr16;
ulong * addr32;
addr16 = (ushort *)base;
addr32 = (ulong *)base;
addr16[0x555] = (ushort)0xaaaa;
addr16[0x2aa] = (ushort)0x5555;
addr16[0x555] = (ushort)0x9090;
mb ();
value16 = addr16[0]; 이부분에서 value16의 값이 1로 셋팅되서 나오는데..
어디서 부터 셋팅되서 오는지 알수있나요?
switch(value16)
{
case (ushort)AMD_MANUFACT:
info->flash_id = FLASH_MAN_AMD;
info->base_addr = base;
nGCS0_is_amd = nGCS0_AMD;
mb ();
value16 = addr16[1]; 이부분에서도 값이 셋팅되서 들어오는데 어디서 셋팅이 되는지
좀 알려주세요..
u-boot에서 flash.c의 static ulong flash_get_size (void *base, flash_info_t *info) 함수에서
volatile ushort value16;
volatile ulong value32;
ushort * addr16;
ulong * addr32;
addr16 = (ushort *)base;
addr32 = (ulong *)base;
addr16[0x555] = (ushort)0xaaaa;
addr16[0x2aa] = (ushort)0x5555;
addr16[0x555] = (ushort)0x9090;
mb ();
value16 = addr16[0]; 이부분에서 value16의 값이 1로 셋팅되서 나오는데..
어디서 부터 셋팅되서 오는지 알수있나요?
switch(value16)
{
case (ushort)AMD_MANUFACT:
info->flash_id = FLASH_MAN_AMD;
info->base_addr = base;
nGCS0_is_amd = nGCS0_AMD;
mb ();
value16 = addr16[1]; 이부분에서도 값이 셋팅되서 들어오는데 어디서 셋팅이 되는지
좀 알려주세요..
addr16[0x555] = (ushort)0xaaaa;
addr16[0x2aa] = (ushort)0x5555;
addr16[0x555] = (ushort)0x9090 를 쓰고
addr16[1]; 를 읽으면 AMD ID 0x01 이 나오는 겁니다 ...
어디서 셑팅되서 나오는게 아니라~~
이 플래쉬 메모리에~~ 일정 주송에 코멘드를 쓰고~~ 그번지를 읽으면 나오는 값입니다.