arm開發板刷機方法


1.linux系統啟動方式

  bootloader->kernel->system

  在嵌入式系統中內存為DRAM,inand flash 都不能直接啟動需要被初始化。其中初始化程序在(bootloader中)。

  解決思路是通過內部irom中的bl0代碼引導執行uboot。

  啟動uboot可以有多種方式,可以使用內部emmc啟動,sd卡啟動,usb啟動等多種方法。

  由於優先級不同,用sd卡啟動時除了必要的硬件配置(撥碼開關等)也必須破壞內部emmc中的uboot才能通過sd卡啟動uboot。

  在linux系統下破壞uboot的方法:

破壞iNand中的bootloader以從SD2啟動
linux下:
busybox dd
if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync sync
uboot下:
movi write u-boot 0x30000000

  制作啟動SD卡有兩種方法

有2種燒寫方法:一種是在windows中用刷卡工具去制作啟動SD卡;
另一種是在linux中用dd命令。
linux系統的DD命令后面統一講。

  調試開發板時使用SecureCRT可以有效觀看到系統的linux命令行界面,或者可以進入uboot界面。

2.刷機

  2.1(使用fastboot)

  插入sd卡啟動的時候,通過SecureCRT可以進入uboot界面。

  uboot下可以使用fastboot命令。連接電腦(需要安裝相應驅動)。通過fastboot命令將bootloader,kernel,system可以下載到開發板中。

  2.2(使用dnw)

  刷機分2步:第一步刷x210_usb.bin,地址是0xd0020010;第二步刷uboot.bin,刷機地址是0x23e00000

3.linux系統下工具使用

  由於windows下驅動或者兼容性等問題。部分軟件使用十分麻煩。好在以上所有操作在linux系統下都有相應的工具。

  3.1linux系統下的SD的燒寫 

  連接進linux中,在命令行中:ls /dev/sd*查看,和之前對比,就知道SD卡在linux中的設備編號了,一般是/dev/sdb。
 
  執行 ./nand_fusing.sh /dev/sdb(nand_fusing.sh是寫好的一個腳本本質是通過dd命令)

  3.2linux下的fastboot

  fastboot在ubuntu下可以通過apt-get獲取到。

  使用:在uboot下輸入fastboot連接到電腦上(有時需要執行fdisk -c 0分區)

  fastboot常用命令:
  fastboot devices    命令用來查看當前連接的設備。(我們開發板看到的是:SMDKC110-01)
  fastboot flash xxx    命令用來燒錄的
  fastboot reboot    命令用來重啟系統

  fastboot flash bootloader android2.3/uboot.bin 燒uboot
  fastboot flash kernel android2.3/zImage    燒linux kernel
  fastboot flash system android2.3/x210.img    燒android rom  

  3.2linux下的dnw使用(裸機下載或刷機都可以使用)

  linux下的dnw命令為一個網上找的開源代碼。   

  使用格式如下

  dnw -a <地址> <目標>

  dnw -a 0xd0020010 len.bin


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM