도와주세요!!
글 수 15,339
2007.04.03 17:53:55 (*.150.3.131)
6859
안녕하세요..
이번에 이지보드를 기본으로 하여 새로운 보드를 제작하였습니다.
스펙은 SDRAM을 제외하고 거의 같게 하였습니다.
SDRAM을 128M로 K4S511632D-UC75 64MB(8M*16Bit*4Banks)를 두개 사용하였습니다.
회로상에서 수정된 부분은 Band address를 기존의 SA[24..25]에서 SA[25..26]으로 수정을 하였습니다.
또한 CS는 nSDCS0을 사용하였습니다.
소프트웨어적으로 수정사항은
Ez_2410.h에서
1. Column Address가 (A0~A9)까지 이므로
//----------------------------------------------
// nCS6 Timing [ BANKCON6 ] -- SDRAM
#define S3C2410_REG_MBC6 0x4800001C
//----------------------------------------------
#define MBC_CS6_MT ( 0x3 << 15 ) // SDRAM
#define MBC_CS6_TRCD ( 0x1 << 2 ) // 3CLK ( RAS to CAS Delay )
//#define MBC_CS6_SCAN ( 0x1 << 0 ) // 9bit ( Column Address Number )
#define MBC_CS6_SCAN ( 0x2 << 0 ) // 10bit ( Column Address Number )
#define MBC_CS6_VALUE ( MBC_CS6_MT | MBC_CS6_TRCD | MBC_CS6_SCAN )
2. Bank size register에서
//#define MBS_BK76MAP ( MM_64M << 0 )
#define MBS_BK76MAP ( MM_128M << 0 )
mem_map.h에서
3.
//#define BANK0_SIZE (64*1024*1024) // 뱅크0 크기 마지막주소는 0x33ffffff
#define BANK0_SIZE (128*1024*1024) // 뱅크0 크기 마지막주소는 0x37ffffff
커널에서
4. arch/arm/kernel의 setup.c에서
//#define MEM_SIZE (64*1024*1024)
#define MEM_SIZE (128*1024*1024)
위와같이 수정하였습니다.
위와 같은 작업을 한 후에 minicom실행하여 엔터키로 부팅을 할려고 하니
uncompressing Linux............................................................................
crc error
-- system halted
라는 메세지가 뜹니다.
SDRAM을 교체할 때 위와 같은 작업 외에 어떠한 작업이 필요한것인지..
위의 작업이 맞게 된 작업인지 알고싶습니다.
이제 막 시작한 초보로서 막히는 부분이 많이 있네요.
많은 도움 부탁드리며 빠른 답변 부탁드리겠습니다.
이번에 이지보드를 기본으로 하여 새로운 보드를 제작하였습니다.
스펙은 SDRAM을 제외하고 거의 같게 하였습니다.
SDRAM을 128M로 K4S511632D-UC75 64MB(8M*16Bit*4Banks)를 두개 사용하였습니다.
회로상에서 수정된 부분은 Band address를 기존의 SA[24..25]에서 SA[25..26]으로 수정을 하였습니다.
또한 CS는 nSDCS0을 사용하였습니다.
소프트웨어적으로 수정사항은
Ez_2410.h에서
1. Column Address가 (A0~A9)까지 이므로
//----------------------------------------------
// nCS6 Timing [ BANKCON6 ] -- SDRAM
#define S3C2410_REG_MBC6 0x4800001C
//----------------------------------------------
#define MBC_CS6_MT ( 0x3 << 15 ) // SDRAM
#define MBC_CS6_TRCD ( 0x1 << 2 ) // 3CLK ( RAS to CAS Delay )
//#define MBC_CS6_SCAN ( 0x1 << 0 ) // 9bit ( Column Address Number )
#define MBC_CS6_SCAN ( 0x2 << 0 ) // 10bit ( Column Address Number )
#define MBC_CS6_VALUE ( MBC_CS6_MT | MBC_CS6_TRCD | MBC_CS6_SCAN )
2. Bank size register에서
//#define MBS_BK76MAP ( MM_64M << 0 )
#define MBS_BK76MAP ( MM_128M << 0 )
mem_map.h에서
3.
//#define BANK0_SIZE (64*1024*1024) // 뱅크0 크기 마지막주소는 0x33ffffff
#define BANK0_SIZE (128*1024*1024) // 뱅크0 크기 마지막주소는 0x37ffffff
커널에서
4. arch/arm/kernel의 setup.c에서
//#define MEM_SIZE (64*1024*1024)
#define MEM_SIZE (128*1024*1024)
위와같이 수정하였습니다.
위와 같은 작업을 한 후에 minicom실행하여 엔터키로 부팅을 할려고 하니
uncompressing Linux............................................................................
crc error
-- system halted
라는 메세지가 뜹니다.
SDRAM을 교체할 때 위와 같은 작업 외에 어떠한 작업이 필요한것인지..
위의 작업이 맞게 된 작업인지 알고싶습니다.
이제 막 시작한 초보로서 막히는 부분이 많이 있네요.
많은 도움 부탁드리며 빠른 답변 부탁드리겠습니다.