기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
안녕하세요.
저희 회사에서 ARM1176이 들어간 Chip을 개발중입니다.
ARM에 Linux를 올려야 되는데요... 드라이버 및 Application만 개발해본 사람으로써 어떻게 접근해야되나 무진장 고민하면서 자료를 찾고 있습니다.
부팅은 SDcard에 커널과 부트로더를 넣어두고, Chip내에 boot rom을 배치하여 SDCard에 있는 부트로더를 RAM으로 복사해서 커널까지 올리려고 하고 있습니다.
Chip내 Boot Rom에 들어갈 코드는 어떻게 작성해야 되며 어떤 작업을 해야 되는지,
그리고 SDcard에 들어갈 부트로더는 일반적인 u-boot를 사용해서 수정작업을 하면 되는지요?
난감합니다. 자료를 찾을수록 햇갈리고 무슨 말인지 이해가 잘 되지도 않구요...
혹 위와 같은 작업을 하려는데 필요한 자료 혹은 간단하게 나마 설명해주시면 감사드리겠습니다.
어떻게 시작해야되나 싶어 접근하기가 쉽지 않네요.
혹 부트로더와 커널을 빌드를 해서 올려볼 수 있는 테스트보드가 있으면 추천 좀 부탁드립니다.
리눅스를 올려서 테스트해보려고 합니다.
s3c24xx 시리즈에서 스테핑스톤 에 관한 지식이 있으실 겁니다.
(후속칩도 전부 이 개념에서 출발 하죠?)
중요요점은 스토리지에서 일정 부분 ROM 역활을 하는 놈들을 복사해 온다 이고,
그에 대해서 처리한 부분이
u-boot 내의 CONFIG_NAND_SPL( CONFIG_SPL 관련 ) 에 유념 하시고 한번 분석해 보시면
어느 정도 감이 잡히지 않으실까요?
CONFIG_NAND_SPL 를 하게 되면 3가지 바이너리가 만들어지는데
u-boot-4k.bin (4KB)
(SRAM 에서 수행 되는 놈, startup 및 초기화 코드를 가지고 있음, u-boot.bin 을 특정 ram 에 적재 시킴.
그리고 특정 ram 영역으로 jump )
u-boot.bin ( 252KB ) ( 일반적인 우리의 u-boot )
u-boot-nand.bin ( ex> 256KB ) (위에 2개의 바이너리를 합친 u-boot )
제거 nand 경험까지 밖에 없어서 nand 로 예를 들었습니다.