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

aEsop 보드를 사고 나서 (중고로 구입) 사이트가 해킹당해서 그동안
미뤄왔던 것들을 해보고 있습니다. 여러가지 궁금한게 있습니다.

[질문 1]
aEsop 기본 설정으로 커널을 tftp로 부터 받아와 압출을 푸는 방식인것 같습니다.
맞나요?? ez-x5를 쓸때는 커널을 nand 플래시로 부터 가져온것 같은데
이 부분은 개발환경을 편하게 하기 위해서 그런것 같은데요

커널을 NAND Flash에 저장해서 써보고 싶습니다. 그래서 kingseft 님의 문서를
보고 따라하던중

nand erase 0 40000
tftp 30000000 aesopk
nand write 30000000 0 $(filesize)

setenv bootcmd nand read 32000000 0 d0000;bootm 32000000

이런식으로 되어있더라구요 nand 메모리에서 읽어와 32000000 로드하고
그다음 32000000으로 부팅을 시작하라는 것 같은데

이대로 하고 보드를 부팅시키면 커널이미지를 풀지 못하고 다시 부트로더 프로픔트
상태로 들어올 경우가 있구요 다시 하면 잘 될 경우도 있고 그러네요;;
혹시 제가 잘 못한 부분이 있는지요..

[질문 2]
좀 무식한 질문인지 모르겠는데요 aEsop의 경우 아래와 같이 램상태가 되는게 맞는건가요 u-boot 쪽 조금 보고 나름대로 생각해서 본건데...

u-boot area        0x33c0 0000
LCD framebuffer   0x3300 0000
Default loading    0x3200 0000
USB mass storage 0x3100 0000
ramdisk Area      0x3080 0000
Kernel Area        0x3000 8000

이런식으로 되는것 같습니다. 그렇다면 일반적인 응용 프로그램이 램으로 올라가는 공간은 어디가 되는건지 잘 감이 안잡힙니다. 그림이 있으면 좋으련만 죄송합니다.ㅠ.ㅠ

[질문 3]
NAND 플래시가 3개의 파티션으로 나뉘어졌다고 합니다.

mtd0   커널이미지 (4MB)
mtd1   루트파일이미지 (16MB)
mtd2  OPIE(44MB)

루트 파일이미지가 어떤건지 모르겠습니다. Yaffs 같은 루트 파일 시스템이라는건가요?? 그리고 OPIE 라는 것은 어떤건지 잘 모르겠네요 ㅜ.ㅜ 어디에 나와있는지 잘 못찾는것 같은뎅 how-to에 왠만한게 다 있더라고요 ^.^;; 저 같은 초보를 위해서 고생하십니다.

고현철

2006.04.16 02:43:15
*.114.205.16

답 1> 좀 이상한 경우이긴 한데, 한번도 본적도 들은적도 없어서요...^^, kernel은 nand에 쓰지마시기 바랍니다. 왜냐하면 nand에 bad block 날 경우가 있는데, 그 부분에 커널이 쓰여져 있으면 나중에 문제생기겠지요.

그런 이유때문에 nor 2M짜리를 보통 사용합니다. 앞부분 512k정도는 부트로더용으로 남겨놓고, 맨 뒷블럭은 환경변수 영역으로, 대략 80000서부터 1effff까지는 비어있으니, 그 부분을 사용하시길 바랍니다.

조심할 것은 부트로더 영역을 overwrite하지 않게 조심히 하시고요.

답 2> u-boot용 일반 프로그램을 말씀하시는 것인지요?
u-boot용은 32000000 정도에 올려서 쓰면 됩니다.
커널로 부팅이 된 후를 말씀하시는 것이면 크게 신경안써도 됩니다. 커널로 부팅만 되면 알아서 매핑하니깐....유저가 신경쓸일은 아닙니다.


답 3> kelp의 임베디드강좌/윤덕배 란에 가시면 제가 u-boot에 대해서 써 놓은게 있습니다. 2번째 강좌쯤에 rootfs란 무엇인가에 대해서 써 놧습니다. 그걸 참고하시고요.

NAND flash의 경우 현재는 1개만 사용합니다. 궂이 나눌 필요가 없어졌기 때문입니다. 2.6.13 커널을 보시면 일단 64M를 total 하나의 mtd block으로 잡았습니다.

참고로, yaffs는 특정 파티션에 탑재하는 filesystem의 타입이고요(ex> fat 와 비슷하다고 보면 됨). OPIE는 QT-embedded 2.3.10을 이용한 PDA용 library입니다.

안정섭

2006.04.16 07:46:19
*.210.234.32

그러면 현재 이숍보드 nor에 커널이 올라가 있는건가용 ??
제가 궁금한것은만약에 개발을 다하고 들고 다닐경우에는 커널이 플래시 메모리 안에 존재하고 Yaffs나 어떤 다른 파일 시스템을 사용할 것 같습니다만... ^.^;;
아직 개념이 잘 정리가 안되서 그런것 같습니다. ㅠ.ㅠ

고현철

2006.04.16 09:44:06
*.114.205.16

음....개발시는 이솝보드에는 부트로더만 써 놓습니다.
커널과 rootfs의 경우는 tftp와 nfs를 이용해서 서버에서 가져다가 사용합니다.
해서 리눅스 개발시 ethernet이 없으면 개발이 힘듧니다.

그리고, 개발이 다 끝나서 상용으로 가거나 들고 다닐 경우는 패키징을 하게 되는데

mtd나 yaffs같은 녀석들이 주로 패키징에 많이 쓰이는 넘입니다.

만일 aesop보드를 패키징을 하게 된다면, 용량에 따라 약간 틀려지겠지만,
1. X windows를 탑재하지 않을 경우
2M NOR에 boot와 kernel을 넣고
64M nand를 yaffs fs를 이용해서 패키징을 합니다.

2. X windows를 탑재할 경우
용량이 크기 때문에 boot, kernel은 위와 마찬가지로 nor에 놓고
/usr 디렉토리를 제외한 녀석들은 64M nand에 yaffs fs를 이용해서 넣고
/usr의 경우는 SD를 이용해서 패키징을 하면 될겁니다.

안정섭

2006.04.16 13:35:17
*.248.13.73

답변 감사합니다. ^.^ 제대로 이해하게 되었습니다.
List of Articles
번호 제목 글쓴이 날짜sort 조회 수

사용자 로그인