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

안녕하십니까.

근래들어 이솝을 통해 많은 도움을 받고 있습니다.

한가지 더 도움을 받고자 글을 남깁니다.

 

현재 진행중인 모델에 양산과정에서 사용할 바이너리 다운로드 하는 방법에 대해 알아 보고 있습니다.

제목처럼 SD Card나 USB로 부팅을 하여 파티션을 나누고,  fwbl1, bl2, u-boot.bin

tzsw를 Write 하고, 최종으로 바이너리를 mmc로 다운로드 할 수 있는 방법이 있는지요?

 

그냥 느낌상으로는 왠지 가능할 것 같은데.. 워낙에 경험이 없는지라...

가능하다면 어떻게 해야 하는지 ?

 

가능하지 않다면 어떤 방법이 있는지... 여러 고수님들의 조언이 필요합니다.

부디 다변 부탁드립니다.

 


이제현

2014.02.28 01:57:37
*.90.137.102

SD로 부팅하여 eMMC에 이미지를 기록할 수 있습니다.

u-boot 상태에서 미리 만들어 놓은 script와  eMMC용 이미지를 기록하는 방식으로 가능합니다.


http://com.odroid.com/sigong/nf_file_board/nfile_board_view.php?keyword=&tag=&bid=181

위 링크의 설명에 있는 "emmc_installer_for_odroidx.zip"를 받아 SD 설치하고, boot.scr의 내부를 분석해 보세요.

고도리

2014.02.28 02:31:48
*.200.239.210

삼성칩의 경우 eMMC boot fail이면 자동으로 SD boot로 넘어갈 겁니다.


해서 SD card에 script를 만들어서 넣으시면 됩니다.

간단하게, 해당 image가 write되어 있는 block number를 가지고 

mmc 명령을 이용해서 write하시면 됩니다.

마빡

2014.03.05 21:29:47
*.214.201.106

안녕하세요..

근래들어 고도리 님의 도움을 많이 받네요.. 감사합니다.

죄송하지만.. 좀더 자세하게 설명 부탁드립니다.

말씀하신데로 mmc boot fail이면 자동으로 SD boot로 넘어 옵니다.

그럼 SD에서 u-boot를 읽어 들이는건가요.?

image가 Write되어 있는 block number를 가지고 mmc 명령을 이용해서 write하면 된다고 하셨는데..

write되어 있는 block number 라는 말을 제가 이해가 되지 않아서요..

 

제가 이해한 바로는 일단.. sd로 부팅하는 과정은...

포맷한 sd를 삽입한 후에.. 해당경로( 예를 들면  /dev/sdb1)에...아래 이미지들을 fusing..

sudo ./sd_fusing.sh /dev/sdb1/fwbl1.bin

                                                  bl2.bin

                                                  tzsw.bin

                                                   u-boot.bin    이렇게 4개 파일을 fusing하면 sd로 부팅 가능... 여기까지는 맞는지요..?

 

그럼 이후에 깡통이된 시료에 sd를 넣으면 부팅은 가능하고.. 이 시료를 살리려면 mmc 명령을 이용해서 파티션을 나누고, 펌웨어를 write해야하는데...

이부분을 잘 모르겠습니다..  되도록이면, sd booting 부터 펌웨어 write까지 한방에 자동으로 하고 싶은데...

죄송하지만... 조금더 자세한 설명 부탁드립니다..

 

고도리

2014.03.06 09:38:03
*.200.239.210

1. mmc의 booting 구조와 동일하게, SD 카드에도 bl1, bl2, tzsw, u-boot를 넣어놓으시면 됩니다.

그러면 mmc fail시 부팅하겠죠?


2. 그 후에 sd card의 partition을 잘 나눈 후에(u-boot 명령어 등을 이용하거나 fdisk를 이용해서)

FAT partition을 만드시고요.


3. u-boot configuration을 조정해서 FAT를 살립니다.


4. fat 명령어를 이용해서 sd card에서 읽은 후 mmc로 write하면 됩니다.

마빡

2014.03.11 02:29:49
*.214.201.106

안녕하세요.. 고도리님..

귀찮으실텐데... 매 질문마다 답변을 주셔서... 많은 도움이 되고 있습니다.

이쪽 파트는 첨 경험하는 것들이라... 정말 무지합니다.. ㅠㅠ

 

이번에 프로젝트를 진행하면서 많은것을 배웁니다.

1번 사항은 일단 완료하고 테스트 진행해서.. 정상으로 부팅 되는 것을 확인 했습니다.

그럼 그 다음이.. 시료의 파티션을 나눠야 하는데, 파티션은 fdisk –c 0 300 14000 300  나눠서 사용 합니다.

sd card 파티션은 왜 나누는 건가요?  ( 질문이 너무 원초적인가..?  정말 몰라서 여쭤 봅니다. )

제가 8기가 메모리에서 작업을 하는데..  정말 모르겠습니다.

욕을 하셔도 좋으니.. 설명 부탁드립니다.

 

3.번 사항은 fatls / fatload 명령어를 쳐서

MLDKC220 # fatls
usage: fatls <interface> <dev[:part]> [directory]

MLDKC220 # fatload
usage: fatload <interface> <dev[:part]> <addr> <filename> [bytes]

올라오는 것을 확인 했습니다.

4. 번 항목은 좀더 자세하게 설명을 부탁드려 봅니다..

    사용하는 명령어 인자들.... ( ㅠㅠ 죄송합니다. )

 

5. 마지막으로 4번까지 완료되었다라고 하면.. Sd card로 부팅시에 어떻게 자동으로 실행이 되는건가요..?

 

정말 제가 몰라도 너무 모르네요.. 부디 진정하시고... 회답 부탁드립니다.

고도리

2014.03.11 11:57:57
*.111.12.170

2 번은 제가 실수 했네요. 1번에서 하는 일이랑 헛갈렸나 봅니다.


예제로 fat명령은 다음과 같습니다. emmc가 mmc 0, sd가 mmc 1이라고 생각하시면


fatls mmc 0:1

--> mmc 0의 1번 파티션을 ls해서 봄


fatload mmc 0:1 50000000 /hello.c

--> mmc 0의 1번 파티션에 있는 /hello.c란 파일을 50000000 번지에 로딩...


대략 이렇게 보시면 됩니다.

마빡

2014.03.12 02:05:19
*.214.201.106

고도리님... 언제나 답변을 주셔서 너무 감사하게 생각 합니다..

답변은 주시는데.. 제가 이해도가 많이 떨어지나 봅니다.

 

말씀해주신 내용은 대략 이해가 가기는 합니다만...  ㅠㅠ  아직....

 

1. sd card로 부팅을 하면.. prompt 에 머물러 있는데.. 이 상태에서  mmc erase boot 0 0 0 , mmc erase user 0 0 0

    mmc를 erase 합니다.

2. fdisk -c 0 300 14000 300 으로  partition을 나눕니다.

3. fastboot 명령을 이용하여 write할 바이너리들을 write 합니다.

    현재는 이 과정을 ( 1 ~ 3 )  host pc에서 수동으로 하고 있습니다.

 

이 과정을 sd card로 부팅을 하면서 모두 자동으로 한번에 이뤄져야 하는데...

답변주신 내용이 제가 원하는 자동으로 모두를 수행하는 것 같지 않아.. 다시 문의 드립니다.

고도리

2014.03.12 03:22:57
*.200.239.210

자동으로 생산하시려면.......부팅후 자동으로 실행시키는 명령으로 위의 명령어를 쓰시면 됩니다.


ex> setenv bootcmd 'fatload...............;mmc write...............;'


이런식으로 sd card의 u-boot환경변수를 지정하시면 됩니다.

마빡

2014.03.12 04:30:59
*.214.201.106

답변 감사합니다.

말씀해주신 setenv를 설정해서 일단 mmc erase, fdisk까지 정상으로 동작되는 것을 확인 하였습니다.


그럼 하나만 더 여쭤보겠습니다.

제가 emmc로 write를 해야하는 binary는 fwbl1.bin / bl2.bin / u-boot.bin / tzsw.bin / system.img / boot.img 입니다. 

말씀해주신 fatload를 이용해서 write를 하려면, 위의 binary들을 sd card에 넣어놔야 할 듯 한데....

그냥 sd로 복사하면 되는건지요...? 아니면, 전에 말씀해주신 sd card를 파티션을 나눠서 사용해야 하는지요?


그리고, 쓰고자 하는 binary들의 어느 번지에 쓸 것인지는 어떻게 알 수 있는지요?

일단 정상 부팅 되는 시료에서 printenv를 하니 아래와 같이 나옵니다.

MLDKC220 # printenv

baudrate=115200

bootcmd=movi read kernel 0 40008000;movi read rootfs 0 42000000 100000;bootm 40008000 42000000

bootdelay=3

ethaddr=00:40:5c:26:0a:5b

gatewayip=192.168.0.1

ipaddr=192.168.0.20

netmask=255.255.255.0

serverip=192.168.0.10


Environment size: 252/16380 bytes


총 6개의 bin및 img를 write해야 하는데.. 어느 번지에 써야 할지 ....? ㅠㅠ

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
6308 커널 소스에 있는 드라이버에 대해서...<--완료 [1] 박현진 2006-05-16 5189
6307 한가지 궁금한 점 문의드립니다 ... [완료] [2] 장석원 2007-03-28 5172
6306 [완료] Ethernet... [2] 정경진 2007-04-11 5110
6305 삼성 6410 git 페이지 [1] 최영진 2009-02-25 4927
6304 [질문] 휴대용으로 사용하려면..[완료] [2] 김성주 2007-04-14 4867
6303 디바이스 노드파일을 동적으로 생성하려면 어찌해야하나요? USB관련,... [2] ice179 2014-02-28 4818
» Exynos 4412 Sd Card or USB booting 후 바이너리 다운로드 [9] 마빡 2014-02-28 4810
6301 이더넷 관련 질문 [1] 류영렬 2007-04-12 4780
6300 [완료] VGA out 에 대하여 질문 있어요 [5] 임은향 2007-04-11 4717
6299 [완료] lx-800의 능력이 어느 정도일까요? [3] 임은향 2007-04-19 4654
6298 V310 Base소스 구할 수 있을까요? [1] 훌러덩 2011-07-21 4647
6297 aesop-lx800 보드에서 질문있어요 [2] 안문기 2007-04-12 4577
6296 core dump 파일 분석 [1] 이성호 2009-02-17 4562
6295 [완료] USB 메모리에 부팅 CD 이미지 넣기... [1] 정경진 2007-06-09 4537
6294 [질문] LCD_BL_PWM라인에 대해서,[완료] [2] 조영택 2007-04-14 4521
6293 [질문] 공구 LX800 화면 잔상 생김 [6] 구현우 2007-05-07 4478
6292 [완료]pci device관련 [2] 조성철 2007-04-19 4464
6291 부팅시 System UIDs inconsistent 에러에 관해 질문드립니다. [1] 김승한 2009-06-17 4337
6290 lcd interface 관련 [6] 류영렬 2007-05-10 4293
6289 [완료] LCD구입 관련 질문입니다. [2] 박영학 2007-05-02 4265

사용자 로그인