망고210 android fastboot nand write 방법
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

망고210 android fastboot nand write 방법

  • 9,005 views
Uploaded on

망고210(S5PV210) fastboot 명령으로 NAND Write하는 방법 설명 ...

망고210(S5PV210) fastboot 명령으로 NAND Write하는 방법 설명

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • 수고하셨습니다
    Are you sure you want to
    Your message goes here
    Be the first to like this
No Downloads

Views

Total Views
9,005
On Slideshare
8,916
From Embeds
89
Number of Embeds
2

Actions

Shares
Downloads
137
Comments
1
Likes
0

Embeds 89

http://embeddedcrazy.blogspot.com 88
http://translate.googleusercontent.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 1. 오류! 참조 원본을 찾을 수 없습니다. 1. 망고210 Android 1.1. Android Fastboot NAND Write 방법 망고210 2010년 12월 8일 이후 소스 부터는 NAND에 Write할 경우 Fastboot를 이용하여 Write를 해야 합니다. 이미 고칼로리님이 올려 놓으신 http://cafe.naver.com/embeddedcrazyboys/9335 참조해서 다시 세부 정리 보았습니다. 일단 이미지맊 올려 보도록 하겠습니다. 1.1.1. U-boot NAND에 Write하기 소스를 먼저 받습니다. 2010년 12월6일자 U-boot 다운로드하기 컴파일 방법 # tar zxvf mango210_uboot_src_2010_12_06.tgz #cd uboot #vi Makefile #make mango210_config #make 하면 됩니다. Makefile에서 tftp root로 이미지를 copy하는 경로를 자신의 PC에 맞게 수정을 합니다. 저는 /share/image 가 tftp root 디렉토리입니다. $(obj)u-boot.bin: $(obj)u-boot $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@ cp -f u-boot.bin /share/image/mango210_uboot.bin 이제 맊들어진 u-boot.bin 바이너리를 NAND에 Write하는 방법에 대해서 설명 드리겠습니다. 망고210 보드를 구매 시 SDHC Class6 SD card를 보드에 삽입하고, BOOT 스위치를 SD boot로 하신 후 u-boot가 실행 된 후 아무키나 누르시면 됩니다. www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1
  • 2. 그럼 아래와 같이 터미널 창에 뜹니다. 물롞 터미널 프로그램을 실행 한 상태여야 합니다. 3핀 시리얼 케이블도 보드와 PC를 연결해야 합니다. U-Boot 1.3.4 (Nov 26 2010 - 21:04:28) for MANGO210 CPU: S5PV210@800MHz(OK) APLL = 800MHz, HclkMsys = 200MHz, PclkMsys = 100MHz 2
  • 3. 1. 오류! 참조 원본을 찾을 수 없습니다. MPLL = 667MHz, EPLL = 80MHz HclkDsys = 166MHz, PclkDsys = 83MHz HclkPsys = 133MHz, PclkPsys = 66MHz SCLKA2M = 200MHz Serial = CLKUART Board: MANGO210 DRAM: 512 MB SD/MMC: 7647MB NAND: 256 MB In: serial Out: serial Err: serial checking mode for fastboot ... Hit any key to stop autoboot: 0 MANGO210 # 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 0x6660000 -- 40% complete. NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5 Erasing at 0x87a0000 -- 53% complete. NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5 Erasing at 0xb320000 -- 70% complete. NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5 Erasing at 0xffe0000 -- 100% complete. Scanning device for bad blocks OK MANGO210 # nand erase 0 40000;tftp 21000000 mango210_uboot.bin;nand write 21000000 0 40000 그리고, NAND BOOT로 모드를 변경합니다. www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 3
  • 4. 부팅하면 아래와 같이 u-boot가 실행 되면 OK입니다. U-Boot 1.3.4 (Jan 10 2011 - 23:17:47) for MANGO210 CPU: S5PV210@800MHz(OK) APLL = 800MHz, HclkMsys = 200MHz, PclkMsys = 100MHz MPLL = 667MHz, EPLL = 80MHz HclkDsys = 166MHz, PclkDsys = 83MHz HclkPsys = 133MHz, PclkPsys = 66MHz SCLKA2M = 200MHz Serial = CLKUART Board: MANGO210 DRAM: 512 MB SD/MMC: 7647MB NAND: 256 MB *** Warning - using default environment In: serial 4
  • 5. 1. 오류! 참조 원본을 찾을 수 없습니다. Out: serial Err: serial checking mode for fastboot ... Hit any key to stop autoboot: 0 MANGO210 # 1.1.2. 먼저 Android SDK 및 ADT(Android Development Tool) 설치 저는 Window XP 환경입니다. 이미 설치 되어 있지맊 다시 환경을 Setting 해 보도록 하겠습니다. http://developer.android.com/sdk/index.html 에서 SDK를 다운로드 받습니다. zip파일 또는 exe 파일 둘 중에 아무거나 받으시면 됩니다. 저는 installer_r08-windows.exe파일을 다운받았습니다. 그리고, 클릭해서 실행 시키고, 설치하시면 됩니다. www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 5
  • 6. 마지막에 start s아를 시행하느냐 묻는데, 실행한다고 클릭하면 아래과 같이 묻습니다. 모두 Accept하시고 설치하시면 됩니다. 모두 업데이트 하면, 6
  • 7. 1. 오류! 참조 원본을 찾을 수 없습니다. Usb driver 폴더가 생성됩니다. Window command 명령에서 “fastboot”를 입력합니다. C:Program FilesAndroidandroid-sdk-windows>fastboot 'fastboot'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 위와 같이 에러가 발생하면, PATH에 추가를 합니다. www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 7
  • 8. “C:Program FilesAndroidandroid-sdk-windowstools” 경로를 추가합니다. 그리고, command 창을 새로 실행 후 fastboot를 입력하고 아래와 같이 에러가 발생을 하면, “C:Program FilesAndroidandroid-sdk-windowsplatform-tools” 을 “내컴퓨터->속성->고급->환경변수” 에 추가합니다. C:Program FilesAndroid>fastboot usage: fastboot [ <option> ] <command> commands: update <filename> reflash device from update.zip flashall flash boot + recovery + system flash <partition> [ <filename> ] write a file to a flash partition erase <partition> erase a flash partition getvar <variable> display a bootloader variable boot <kernel> [ <ramdisk> ] download and boot kernel flash:raw boot <kernel> [ <ramdisk> ] create bootimage and flash it devices list all connected devices reboot reboot device normally reboot-bootloader reboot device into bootloader options: -w erase userdata and cache -s <serial number> specify device serial number -p <product> specify product name -c <cmdline> override kernel commandline -i <vendor id> specify a custom USB vendor id -b <base_addr> specify a custom kernel base address -n <page size> specify the nand page size. default: 2048 위와 같이 나오면, Setting이 끝났습니다. 1.1.3. Fast boot 명려으로 NAND에 Write하기 명령은 간단합니다. dos>fastboot –w flash kernel mango210_zImage 8
  • 9. 1. 오류! 참조 원본을 찾을 수 없습니다. dos>fastboot flash system system.img dos>fastboot flash ramdisk ramdisk-u-boot.img dos>fastboot flash userdata userdata.img NAND Boot 시 “Reset”키 누르고, KEY1또는 KEY2를 계속 누릅니다. 그럼 아래와 같이 터미널 창에 메시지가 나옵니다. U-Boot 1.3.4 (Jan 10 2011 - 23:17:47) for MANGO210 CPU: S5PV210@800MHz(OK) APLL = 800MHz, HclkMsys = 200MHz, PclkMsys = 100MHz MPLL = 667MHz, EPLL = 80MHz HclkDsys = 166MHz, PclkDsys = 83MHz HclkPsys = 133MHz, PclkPsys = 66MHz SCLKA2M = 200MHz Serial = CLKUART Board: MANGO210 DRAM: 512 MB SD/MMC: 7647MB NAND: 256 MB In: serial Out: serial Err: serial checking mode for fastboot ... Fastboot: employ default partition information [Partition table on NAND] ptn 0 name='bootloader' start=0x0 len=0x100000(~1024KB) ptn 1 name='misc' start=0x100000 len=0x500000(~5120KB) ptn 2 name='kernel' start=0x600000 len=0x500000(~5120KB) ptn 3 name='ramdisk' start=0xB00000 len=0x300000(~3072KB) ptn 4 name='system' start=0xE00000 len=0x7800000(~122880KB) (Yaffs) ptn 5 name='cache' start=0x8600000 len=0x5000000(~81920KB) (Yaffs) ptn 6 name='userdata' start=0xB800000 len=N/A (Yaffs) Fastboot 환경이 드라이버를 설치하라는 창이 뜨면, C:Program FilesAndroidandroid-sdk-windowsgoogle-usb_driver 에 있는 드라이버를 설치하시면 됩니다. Window XP환경에서 DOS command창을 실행을 합니다. www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 9
  • 10. 커널 이미지를 업데이트 하는 방법은 Mango210_zImage 파일이 있는 디렉토리 이동을 해야 합니다. fastboot –w flash kernel mango210_zImage 을 수행을 합니다. 수행 결과는 아래와 같습니다. Y:image>fastboot -w flash kernel mango210_zImage sending 'kernel' (3177 KB)... OKAY [ 1.719s] writing 'kernel'... OKAY [ 2.828s] erasing 'userdata'... OKAY [ 0.563s] erasing 'cache'... OKAY [ 0.594s] finished. total time: 5.703s 이제 파일 시스템을 Write 해 보겠습니다. 12월8일자 Froyo 소스를 받습니다. 망고210 Froyo 2010년 12월 8일 다운로드 압축을 풀면 ,”image” 폴더안에 “ramdisk-u-boot.img system.img userdata.img” 확장자가 img인 파일이 세개가 있습니다. [icanjji@CRZTECH froyo]$ cd image [icanjji@CRZTECH image]$ pwd /home/icanjji/work/mango210/froyo/image [icanjji@CRZTECH image]$ ls ramdisk-u-boot.img system.img userdata.img [icanjji@CRZTECH image]$ DOS command 창에서 해당 ramdisk-u-boot.img 파일이 있는 경로로 이동합니다. Dos>fastboot flash system system.img 위와 같이 명령을 입력합니다. 그럼 아래와 같이 수행이 됩니다. Y:image>fastboot flash system system.img sending 'system' (104401 KB)... OKAY [ 51.859s] writing 'system'... OKAY [112.844s] finished. total time: 164.703s 10
  • 11. 1. 오류! 참조 원본을 찾을 수 없습니다. 명령 인자를 보면 Dos>fastboot flash <partition> <filename> 입니다. 파티션을 결정하는 부분은 커널 소스에 있습니다. 위치는 ./drivers/mtd/nand/s3c_nand.c 에 있습니다. #if defined(CONFIG_ARCH_S5PV210) struct mtd_partition s3c_partition_info[] = { #if defined(CONFIG_MACH_MANGO210) { .name = "bootloader", .offset = 0, /* for bootloader */ .size = (1*SZ_1M), // .mask_flags = MTD_CAP_NANDFLASH, }, { .name = "recovery", .offset = MTDPART_OFS_APPEND, .size = (5*SZ_1M), //.mask_flags = MTD_CAP_NANDFLASH, }, { .name = "kernel", .offset = MTDPART_OFS_APPEND, .size = (5*SZ_1M), }, { .name = "ramdisk", .offset = MTDPART_OFS_APPEND, .size = (3*SZ_1M), }, { .name = "system", .offset = MTDPART_OFS_APPEND, .size = (120*SZ_1M), }, { .name = "cache", .offset = MTDPART_OFS_APPEND, www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 11
  • 12. .size = (80*SZ_1M), }, { .name = "userdata", .offset = MTDPART_OFS_APPEND, .size = MTDPART_SIZ_FULL, 참고하시면 됩니다. 커널 부팅 시 로그를 보면 아래와 같이 출력이 됩니다. Creating 7 MTD partitions on "s5pv210-nand": 0x000000000000-0x000000100000 : "bootloader" 0x000000100000-0x000000600000 : "recovery" 0x000000600000-0x000000b00000 : "kernel" 0x000000b00000-0x000000e00000 : "ramdisk" 0x000000e00000-0x000008600000 : "system" 0x000008600000-0x00000d600000 : "cache" 0x00000d600000-0x000010000000 : "userdata" Ramdisk를 NAND에 Write합니다. Dos>fastboot flash ramdisk ramdisk-u-boot.img 위와 같이 명령을 입력합니다. 그럼 아래와 같이 수행이 됩니다. Y:image>fastboot flash ramdisk ramdisk-u-boot.img sending 'ramdisk' (1267 KB)... OKAY [ 0.797s] writing 'ramdisk'... OKAY [ 1.250s] finished. total time: 2.047s 마지막으로 userdata.img를 Write합니다. Dos> fastboot flash userdata userdata.img 위와 같이 명령을 입력합니다. 그럼 아래와 같이 수행이 됩니다. Y:image>fastboot flash userdata userdata.img sending 'userdata' (1320 KB)... OKAY [ 0.797s] writing 'userdata'... OKAY [ 2.375s] finished. total time: 3.172s 망고 보드에 “Reset” 키를 누릅니다. 12
  • 13. 1. 오류! 참조 원본을 찾을 수 없습니다. www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 13