2014년 7월 11일 금요일

Mango210, CM-V210 Android ICS4.0.4 NAND Boot method





https://drive.google.com/folderview?id=0Bxdf_3fzbUgSNnI5eGJsMjBtRzg&usp=sharing 



커널 확인사항
CONFIG_VIDEO_TV20=y
CONFIG_HDMI_CEC=y
CONFIG_HDMI_HPD=y

안드로이드 확인 사항
"device/crazyboys/mango210/BoardConfig.mk" 파일에 아래 내용이 있어야 합니다.
S5P_BOARD_USES_HDMI := true
ifeq ($(S5P_BOARD_USES_HDMI),true)
BOARD_HDMI_STD := STD_1080P
S5P_BOARD_USES_HDMI_SUBTITLES := true
Endif


소스 이미지를 받습니다.

http://crztech.iptime.org:8080/Release/mango210/android/ics/2014_0325/m210_ics404_nand_boot_image.tgz

소프트 사양
OS : Android Ice Cream Sandwitch 4.0.4
Board : mango210, CM-V210+ CX-V210
LCD : 7" LCD (with press touch)


- How to
$ tar xf m210_ics404_nand_boot_image.tgz
$ cd image

Micro SD card PC에 삽입

[icanjji@icanjji-pc image]$ df
Filesystem      1K-blocks       Used Available Use% Mounted on
/dev/sda2      1947374844 1571937152 277975584  85% /
udev              2006136          4   2006132   1% /dev
tmpfs              402988       2132    400856   1% /run
none                 5120          0      5120   0% /run/lock
none              2014924         76   2014848   1% /run/shm
/dev/sda1           96880        124     96756   1% /boot/efi
/dev/sdg4          103736       4152     94232   5% /media/6627d2f3-3ec0-70ce-dc9a-4967b533e741
/dev/sdg2          231976     158576     73400  69% /media/57f8f4bc-abf4-655f-bf67-946fc0f9f25b
/dev/sdg3          348264      57828    272460  18% /media/d0eb02fa-3408-a1d4-0da1-796dab7b1748
/dev/sdg1         7070048         48   7070000   1% /media/0000-3333

$ sudo ./sdwriter <device node> 210 bin
ex)$ sudo ./sdwriter sdg 210 bin


Micro SD Card를 Board에 삽입 (SD slot 2)

Boot Switch 변경
Mango210 : 1, 3, 4 ON

CM-V210+ CX-V210 : 2, 3, 6 ON

전원, usb otg cable, 3pin Serial 케이블 연결 후 , 부팅을 합니다.

부팅 후 터미널 프로그램에서
u-boot 실행 되자 마자 아무키나 눌러서 , u-boot 명령창으로 들어갑니다.

소스 이미지를 받습니다.

http://crztech.iptime.org:8080/Release/mango210/android/ics/2014_0325/m210_ics404_nand_boot_image.tgz

소프트 사양
OS : Android Ice Cream Sandwitch 4.0.4
Board : mango210, CM-V210+ CX-V210
LCD : 7" LCD (with press touch)


- How to
$ tar xf m210_ics404_nand_boot_image.tgz
$ cd image

Micro SD card PC에 삽입

[icanjji@icanjji-pc image]$ df
Filesystem      1K-blocks       Used Available Use% Mounted on
/dev/sda2      1947374844 1571937152 277975584  85% /
udev              2006136          4   2006132   1% /dev
tmpfs              402988       2132    400856   1% /run
none                 5120          0      5120   0% /run/lock
none              2014924         76   2014848   1% /run/shm
/dev/sda1           96880        124     96756   1% /boot/efi
/dev/sdg4          103736       4152     94232   5% /media/6627d2f3-3ec0-70ce-dc9a-4967b533e741
/dev/sdg2          231976     158576     73400  69% /media/57f8f4bc-abf4-655f-bf67-946fc0f9f25b
/dev/sdg3          348264      57828    272460  18% /media/d0eb02fa-3408-a1d4-0da1-796dab7b1748
/dev/sdg1         7070048         48   7070000   1% /media/0000-3333

$ sudo ./sdwriter <device node> 210 bin
ex)$ sudo ./sdwriter sdg 210 bin


Micro SD Card를 Board에 삽입 (SD slot 2)

Boot Switch 변경
Mango210 : 1, 3, 4 ON

CM-V210+ CX-V210 : 2, 3, 6 ON

전원, usb otg cable, 3pin Serial 케이블 연결 후 , 부팅을 합니다.

부팅 후 터미널 프로그램에서

Nand 데이터를 지웁니다.

MANGO210 # nand scrub

NAND scrub: device 0 whole chip
Warning: scrub option will erase all factory set bad blocks!
        There is no reliable way to recover them.
        Use this command only for testing purposes if you
        are sure of what you are doing!

Really scrub this NAND flash? <y/N>
Erasing at 0x0 --   0% complete.
nand0: MTD Erase failure: -5
Erasing at 0x35c0000 --  21% complete.
nand0: MTD Erase failure: -5
Erasing at 0xa8e0000 --  66% complete.
nand0: MTD Erase failure: -5
Erasing at 0xffe0000 -- 100% complete.
Scanning device for bad blocks
OK
“fastboot” 명령 입력

MANGO210 # fastboot
Fastboot: employ default partition information
[Partition table on NAND]
ptn 0 name='bootloader' start=0x0 len=0x100000(~1024KB)
ptn 1 name='kernel' start=0x100000 len=0x500000(~5120KB)
ptn 2 name='ramdisk' start=0x600000 len=0x300000(~3072KB)
ptn 3 name='system' start=0x900000 len=0xA000000(~163840KB) (Yaffs)
ptn 4 name='cache' start=0xA900000 len=0xA00000(~10240KB) (Yaffs)
ptn 5 name='userdata' start=0xB300000 len=N/A (Yaffs)



Linux pc에서 Write 하기
< board <-> mini usb calbe <-> linux pc >

# sudo ./fastboot-linux.sh
Write 이미지 완료 후


보드에서
Boot switch 변경
Mango210 : 1, 2 ON
CM-V210 + CX-V210 : 1, 6 ON

# sudo ./fastboot reboot
또는
리셋 합니다.

# logcat &
D/SecTVOutService( 2158): SecTVOutService instantiate
D/libfimc ( 2158): SecFimc::SecFimc()
D/SecTVOutService( 2158): virtual void android::SecTVOutService::setHdmiStatus(uint32_t) HDMI cable status = 1
D/libfimc ( 2158): SecFimc::create(fimc_dev: 1, fimc_mode: 3, buf_num: 1)
D/libfimc ( 2158): bool SecFimc::create(int, int, unsigned int):: /dev/video1
D/libfimc ( 2158): fimc1 fd = 23

2014년 7월 8일 화요일

09. (ARM, Cortex-M3, STM32F207) Mango-M32F2 Dfuse USB Write 테스트 방법-2014-0709


http://cafe.naver.com/embeddedcrazyboys 
http://www.mangoboard.com/

아래 프로그램을 설치 합니다.

STM 사이트에 가셔서 검색 하시면 됩니다.


STSW-STM32080 으로 검색




버전이 3.0.3 이네요.

설치하면 시작에 아래와 같이 설치 되어 있습니다. (버전마다 틀릴 수 있습니다.)

64bit 운영체제는 Dfusexx_amd64.exe를 설치하면 됩니다.


DFU File Manager -> 우리가 writing 하는 hex 파일을 dfu 파일로 변환하는 툴
DfuSe Demonstration -> USB 로 라이팅 하게 해주는 툴
STDFU Tester -> DFU Test 프로그램


보드에 USB Device에 Mini usb Cable을 연결, 전원 연결 및 인가



MangoF2 아래 사진의 빨간색 박스를 아래로 합니다.



전원을 넣고 USB mini 케이블을 연결 합니다.
장치 관리자에서 범용 직렬 버스 콘트롤러에서 아래와 같이 STM Device in DFU Mode 를 확인합니다.


DFU File Manager를 실행 합니다.



OK를 누릅니다.


빨간 박스를 눌러서 변환하려는 파일을 선택 합니다. (변환하려는 파일이 bin 이면 bin을 눌러야 합니다.)


파일 형식을 hex 로 변경합니다.


파일 선택 후 빨간 박스 Generate 를 누릅니다.


성공하면 아래와 같이 팝업창이 뜹니다.

DfuSe Demonstration 을 실행 합니다. (각 설명은 UM0412.pdf 파일을 참조 합니다.)


빨간 박스 위 Choose를 누릅니다.


변환 했던 파일을 선택 후 열기를 합니다.


아래와 같은 화면을 볼 수 있습니다.


Upgrade 를 누릅니다.


아래 화면을 볼 수 있습니다.


디버그 포트에 디버그 케이블 연결 후 제대로 writing 되었는지 확인 합니다.

보드에 Debug 3핀 케이블을 연결 후 적색 버튼을 위로 올리고, 전원을 인가합니다.


터미널창에서 아래와 같이 디버깅 메시지를 확인 할 수 있습니다.