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

안녕하십니까.

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

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

 

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

제목처럼 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 조회 수
348 프로젝트 계획 조언부탁드립니다. [5] 시그인트 2014-02-19 2734
347 Exynos 4412 S3C RTC 및 MAX77686 RTC 문의 [2] 마빡 2014-02-21 2413
346 USB bluetooth dongle on jellybean [4] 신현호 2014-02-21 50328
345 프레임버퍼 디스플레이가 잘 안되는데요 [1] timul1 2014-02-24 3251
344 v4l2 는 camera register 관련된 포트에만 쓰일수 있는건가요? [1] biokk 2014-02-25 1755
343 프로젝트 부품을 구하려하는데 조언부탁드립니다. [1] 시그인트 2014-02-27 1654
» Exynos 4412 Sd Card or USB booting 후 바이너리 다운로드 [9] 마빡 2014-02-28 4810
341 디바이스 노드파일을 동적으로 생성하려면 어찌해야하나요? USB관련,... [2] ice179 2014-02-28 4818
340 udev 적용문제 확인부탁드립니다. [1] ice179 2014-02-28 3363
339 MAX77686 Deep Sleep시 깨어나지 않는 현상. [10] 마빡 2014-03-01 4219
338 엑시노스 4412 SDIO 관련해서 문의 드립니다. [2] 씨네가이드 2014-03-03 2193
337 패키지를 컴파일할때 depends on이란 무엇인가요? file [1] xoduddk123 2014-03-04 1781
336 임베비드 보드의 터미널을 두개를 띄울수는 없나요? [7] ice179 2014-03-04 2261
335 안드로이드 디바이스 드라이버 [3] 하하호호하하 2014-03-04 2351
334 임베디드 보드의 top 명려에 대한 질문입니다.(우분투top 비교, 프로... [9] pedor11 2014-03-05 7024
333 Arndale EXYNOS 5250 UART1 관련 접근 질문 입니다. [3] Gbuddha 2014-03-11 2288
332 system service에서 camera 권한 획득 [1] 잭크 2014-03-13 1457
331 /dev/tty* 의 숫자들을 줄일수 있나요?? file [2] xoduddk123 2014-03-14 1822
330 rules 파일 확인좀 바랍니다. [1] pedor11 2014-03-15 1410
329 Arm 버전 library는 같은 ARM 프로세서간에 공유 및 호환이 가... [3] biokk 2014-03-17 1455

사용자 로그인