<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    Linux下USB燒寫uImage kernel

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接 Linux下USB燒寫uImage kernel   1.啟動開發板,進入u-boot:(如果開發板中沒有系統,可以通過用SD卡方式啟動開發板進入)   U-Boot 2011.06 (Mar 19 2012 - 08:45:34) for MINI6410   CPU: S3C6400@667MHz Fclk = 667MHz, Hclk = 133MHz, Pclk = 66MHz (ASYNC Mode) Board: MINI6410 DRAM: 256 MiB NAND: 512 MiB MMC: SAMSUNG SD/MMC: Host controler CH0 SD card is SD_VERSION_2 SD/MMC size : 3911680 block * 512B = 1910MB Video: no Video params found, try bootargs~~ 640x480x24 31kHz 59Hz [petworm] video_hw_init: <640, 480, 640, 480> Error: Bad gzipped data Error: no valid bmp or bmp.gz image at 57500000 In: serial Out: serial Err: serial Net: dm9000 Hit any key to stop autoboot: 3   2.按任意鍵進入命令行狀態后,運行dnw命令,文件存放地址作為參數傳入(十六進制):   MINI6410 # dnw 50008000 Insert a OTG cable into the connector!   3.插入USB電纜,連接主機和開發板,minicom會出現如下提示:   USB Cable is Connected Now, Waiting for DNW to transmit data   4.另開一個終端,加載secbulk驅動:   sudo insmod secbulk   5.建立secbulk驅動設備節點(通過試驗,可跳過此步):   sudo mknod /dev/secbulk0 c 102 0   6.運行dnw程序,將欲傳送的uImage的帶路徑的文件名作為參數傳入:   sudo ./dnw uImage_a70 #(我們選擇當前目錄下的uImage_a70文件)   回車后傳輸開始,直至傳送完畢。Minicom端提示如下:   Now, Waiting for DNW to transmit data Download Done!! Download Address: 0x50008000, Download Filesize:0x40de8 Checksum is being calculated. Checksum O.K.   主機端提示如下:   liwei@liwei:~/Desktop/dnw_linux/dnw$ sudo ./dnw uImage_a70 file name : uImage_a70 file size : 3763296 bytes Writing data... 100% 3763306 bytes OK   此時,文件傳送完畢,且校驗正確。這時我們就可以用u-boot命令來將文件寫入相應 的nandflash地址中:   MINI6410 # nand erase 80000 400000 NAND erase: device 0 offset 0x80000, size 0x400000 Erasing at 0x460000 -- 100% complete. OK MINI6410 # nand write 50008000 80000 400000 NAND write: device 0 offset 0x80000, size 0x400000 4194304 bytes written: OK   7.將S2調整到NAND啟動位置,重啟開發板后從NandFlash讀取內核到內存,運行結 果如下:   U-Boot 2011.06 (Mar 16 2012 - 13:58:27) for MINI6410   CPU: S3C6400@667MHz Fclk = 667MHz, Hclk = 133MHz, Pclk = 66MHz (ASYNC Mode) Board: MINI6410 DRAM: 256 MiB NAND: 512 MiB MMC: SAMSUNG SD/MMC: Host controler CH0 No SD/MMC card detected! No MMC card for env! Using default environment Video: no Video params found, try bootargs~~ 640x480x24 31kHz 59Hz [petworm] video_hw_init: <640, 480, 640, 480> No SD/MMC card detected! Video: No MMC card for background image! In: serial Out: serial Err: serial Net: dm9000 Hit any key to stop autoboot: 0 MINI6410 # nand read 50008000 80000 400000 NAND read: device 0 offset 0x80000, size 0x400000 4194304 bytes read: OK   8.從內存中啟動內核:   MINI6410 # bootm 50008000 ## Booting kernel from Legacy Image at 50008000 ... Image Name: petworm Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3763232 Bytes = 3.6 MiB Load Address: 50008000 Entry Point: 50008040 Verifying Checksum ... OK XIP Kernel Image ... OK OK   Starting kernel ...   Uncompressing Linux... done, booting the kernel. Initializing cgroup subsys cpu Linux version 2.6.38-FriendlyARM (root@jensen) (gcc version 4.5.1 (ctng-1.8.1-F1 CPU: ARMv6-compatible processor [410fb766] revision 6 (ARMv7), cr=00c5387f CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache Machine: MINI6410 。。。 。。。 至此,Linux下用USB電纜燒寫uImage成功完成!   附: 我們可以通過使用u-boot自帶的mkimage命令來將zImage轉換為uImage文件,命令如下: mkimage -A arm -O linux -T kernel -C none -a 0x50008000 -e 0x50008040 -n "image-name" -d zImage_a70 uImage_a70 此命令將zImage_a70文件轉換為uImage_a70文件,鏡像的名稱為image-name。RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全