기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
안녕하세요
올려주신 자료는 열심히 보고 있습니다.
smdk6410쪽 부트로더가 onenand irom(OM:1111X) 부팅으로 설정 되어 있는데
target는 onenand step stone으로 동작합니다.
그래서 올려주신 u-boot-1.1.6을 참조해서 수정하니
onenand에 쓰고 재 부팅하니
U-Boot 1.3.4-svn30 (Mar 31 2009 - 16:19:30) for SMDK6410
CPU: S3C6410@666MHz
Fclk = 666MHz, Hclk = 133MHz, Pclk = 66MHz, Serial = CLKUART (ASYNC Mod
e)
Board: SMDK6410
DRAM: 128 MB
Flash: 0 kB
SD/MMC: 0 MB
OneNAND: 256 MB
까지 뜨고 멈춰 버립니다.
그래서 보니 ONENAND에 U-BOOT코드의 2KB바이트를 RAM에 올리는 부분은 잇는데
256KB 전체를 올리는 부분이 없습니다.
onenand_copy_to_ram위의 카운트값 r10, #0x40을 강제로 늘려 버리니 멈춰 버리구요.
256kb바이트를 ram에도 올려줘야 하지 않습니까?^^;;
부트로더 조금조금 수정해보다..하려니 어렵습니다..
u-boot의 Configuration을 CONFIG_BOOT_ONENAND_IROM 으로 변경하시고,
onenand_bl2_copy를 호출하도록 해보세요.
그래도 안되면, start.S를 수정해서 바로 onenand_bl2_copy로 진입하도록 해보셔도 좋구요.
s3c-u-boot-1.1.6/cpu/s3c64xx/onenand_cp.c 에 onenand_bl2_copy()가 있습니다.
아무래도 C가 참 쉽조~잉~