기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

ALL-100  롬라이터 질문 드립니다.

현재 NOR 파티션이 다음과 같이 되어 있습니다.

0x00000000  ~  0x0003FFFF  : Bootloader 512K
0x00040000  ~  0x0023FFFF  : kernel        2M
0x00240000  ~  0x0063FFFF  : Ramdisk     4M
0x00640000  ~  0x0077FFFF  : ETC
0x00780000  ~  0x0079FFFF  : ENV


위와 같이 되어 있고, u-boot.bin, uimage.bin, ramdisk.bin 과 같이 세 파일로 분리되어 있습니다.

이럴 경우, 롬 라이터를 사용해 nor로 쓰기 전에 소프트웨어적으로 파일 하나로 합치려고 합니다.

각 이미지의 크기가 nor 파티션으로 나눠놓은 것과 일치하지 않기 때문에(파티션 영역보단 각각 작기에) 그냥 이어 붙일 수는 없고 어드레스를 지정해서 붙이고 빈 공간은 0x00 이나 0xff 로 초기화를 해야 할 것 같습니다.

조언 부탁드립니다.


이제현

2007.02.06 23:58:46
*.193.44.18

<1> WACCESS에 특정번지 부터 파일을 읽어 들이는 기능이 있습니다.
3번에 나누어서 시작번지/끝번지를 지정해서 로딩하시면 가능합니다.

<2> 그런데 ENV 영역의 데이터는 일일이 다시 설정해야하는 불편함이 있기에,
칩을 보드에서 띄고 ALL-100으로 통째로 읽어서 복사하는 방법이 편리합니다.
동작도 보장이 되고요.

<3> 부트로더나 커널에서 현재 보드의 메모리를 몽땅 읽어서 파일로 기록하여 ALL-100이 연결된 PC로 보내는 것도 좋습니다.

참고가 되시길 바랍니다..

성진호

2007.02.07 00:15:13
*.10.87.151

파일을 linux에서 dd 명령으로 합칠 수 있습니다.

제현님의 3번 방법이 제일 편리할것 같군요. ^^

김유석

2007.02.07 01:18:15
*.106.174.59

감사합니다. 다음과 같은 방식으로 이미지를 합쳐서 NOR 는 해결했습니다.

dd if=./bootloader.bin of=./gang_nor.img bs=1 conv=sync
dd if=./kernel.bin of=./gang_nor.img bs=1 seek=262144
dd if=./ramdisk.bin of=./gang_nor.img bs=1 seek=2359296
dd if=./firmware.bin of=./gang_nor.img bs=1 seek=6553600
dd if=./reserved.bin of=./gang_nor.img bs=1 seek=6815744
dd if=./firmware_env.bin of=./gang_nor.img bs=1 seek=8126464
dd if=./env.bin of=./gang_nor.img bs=1 seek=8257536

위와 같이 dd 를 사용해서 gang_nor.img 를 만들었습니다.

nor에 쓰니까 잘 됩니다.


도움 주셔서 감사합니다.

오주열

2007.02.07 02:36:13
*.3.71.110

흠... 회사에 ALL-11 이 있는데 저도 한번 이렇게 양산을 해보는 것도 괜찮을 것 같은데..
List of Articles
번호 제목 글쓴이 날짜 조회 수sort

사용자 로그인