1. 程式人生 > >x210(s5pv210 linux)開發板fastboot和SD卡刷機詳細教程

x210(s5pv210 linux)開發板fastboot和SD卡刷機詳細教程

之前在x210開發板上刷系統,過了一段時間重新刷時又出現一些問題。現對整個刷機過程做了詳細的筆記,分享給大家,共大家參考。。。

1.3.3.開發板刷系統1

1.3.3.1、什麼是刷系統

刷系統就是利用刷機工具,向開發板中燒錄預先編譯好的系統映象,使之在開發板上執行起來。

1.3.3.2、串列埠輸出的意義(做系統控制檯)

串列埠是一種硬體通訊口,很多年前的時候串列埠是CPU之間進行通訊的主要介面。但是現在因為串列埠通訊的速度很低,所以現在串列埠主要是用來做程式輸出監控、除錯。

桌面電腦可以開啟一個虛擬控制檯,嵌入式系統一般是用串列埠來做控制檯的。一般是用一根串列埠線連線開發板的串列埠和我們膝上型電腦的串列埠,然後在電腦上開啟一個串列埠監視,這樣開發板上的串列埠輸出內容就可以在電腦上看到。還可以通過監視終端向開發板輸入一些控制命令由開發板執行。常用的串列埠監視軟體有:超級終端、SecureCRT、minicom

1.3.3.3、安裝USB轉串列埠線的驅動

本來電腦都是有串列埠的(DM9介面),但是現在大家都用筆記本沒有串列埠了,所以這種串列埠連線線用不了。辦法是使用USB轉串列埠線,這種線傳入電腦後需要安裝驅動,安裝驅動後在電腦上會形成一個串列埠(叫usb轉串列埠),這樣就相當於你電腦有了一個串列埠,可以通過這個串列埠來監視開發板的串列埠輸出。

注意1:windows對USB裝置的管理是和USB口有關的,你每次把usb轉串列埠線插到1個口中,這樣得到的COM口號碼是不變的,方便我們後期使用。如果每次胡亂更換插口,可能得到的COM口會變。我們安裝綠聯USB轉串列埠驅動(PL2303)。安裝完成後,如下圖所示:

注意2:COM口號碼是可以改的,還可以強制佔用顯示“已使用”的COM號,一般改成COM4以內的就可以了。

1.3.3.4、使用SecureCRT

從網盤下載SecureCRT.rar,解壓後直接使用。註冊時參考解壓包中的《說明.txt》。

開啟SecureCRT.exe後,建立一個Serial連線,開始監視串列埠。設定參考視訊中,注意流控(RTS/CTS(T))一定要去掉。

開發板這邊串列埠一定要接COM2(官方出廠預設的燒錄映象都是使用串列埠2的),然後開機,就可以看到串列埠資訊了。

使用SecureCRT軟體建立連結的方法:開啟軟體,點選:“檔案”-> “快速連線”,然後視窗中的設定如下:

連線成功如下圖所示:

1.3.3.5、破壞iNand中的bootloader以從SD2啟動

留待第四部分,做LED實驗時再說。

1.3.4.開發板刷系統2(用SD卡

請參考朱老師物聯網大講堂\開發版光碟資料\X210V3S_A\UserManual《X210V3 SD卡燒寫教程.pdf》

1.3.4.0、破壞iNand中的bootloader以從SD2啟動

busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync

(在把開發板啟動後,在安卓的控制檯SecureCRT下輸入該指令),然後執行第二條命令

sync

解釋:這句話的意思就是說把板載的iNand的第一個扇區用全0來填充,其實就是擦除它,這樣我們板載的iNand的bootloader的開始第1個扇區就被破壞了。將來啟動時iROM還是會先從iNand中讀取前16KB,然後計算校驗和。這時候因為有1個扇區被擦掉了,所以校驗和不通過,所以啟動失敗(會從SD2去執行2nd啟動)。

注意:破壞板載iNand的bootloader後,不插外部SD卡,啟動時串列埠得到:SD checksum Error

1.3.4.1、製作啟動SD卡(其實就是燒錄uboot到SD卡中)

有2種燒寫方法:一種是在windows中用刷卡工具去製作啟動SD卡;另一種是在linux中用dd命令。

本節介紹第一種(比較簡單),刷卡工具在光碟:A盤\tools\x210_Fusing_Tool.rar

刷卡步驟:插入SD卡到電腦卡槽,然後開啟軟體,刷入:開發版光碟資料\X210V3S_B\android4.0.4\image\inand\buoot.bin

點選START按鈕後,最後顯示彈出對話方塊顯示:fusing image done表示操作成功。

製作完SD後將SD卡插入開發板SD2通道(插入開發板中間一個SD卡卡槽。注意不是SD3),然後開機就可以進入uboot介面了。在uboot開機自動啟動倒數3秒之內迅速按下電腦回車鍵,打斷自動啟動。(否則會自動啟動iNand中的android)

我在燒錄的過程中,一直顯示燒錄失敗,然後解壓燒錄軟體,換了新的後燒錄就ok了,有可能是我的防毒軟體防毒的時候把這個軟體弄壞了。

1.3.4.2、fastboot介紹

fastboot是uboot中用來快速下載映象的一個命令,fastboot同時還是一個windows上的軟體。

fastboot下載時要注意1:fastboot是使用USB線進行資料傳輸的,所以fastboot執行之前要先連線開發板和主機之間的usb線。

fastboot下載時要注意2:需要安裝驅動。

1.3.4.4、fastboot常用命令:

fastboot devices 命令用來檢視當前連線的裝置。(我們開發板看到的是:SMDKC110-01)

fastboot flash xxx 命令用來燒錄的

fastboot reboot 命令用來重啟系統

1.3.4.5、使用fastboot燒錄android4.0.4映象

在Windows命令列cmd下使用以下三個命令來完成燒錄

fastboot flash bootloader  + uboot.bin 的pathname      //燒uboot

fastboot flash kernel + zImage-android 的pathname     //燒linux kernel

fastboot flash system + x210.img的pathname      //燒android rom

比如:

fastboot flash system c:android4.0/x210.img的pathname      //燒android rom

uboot的引數設定:set bootcmd 'movi read kernel 30008000; bootm 30008000'(預設就是這個,不用設定也行)

1.3.5.開發板刷系統3fastboot刷機有關的驅動的安裝)

1.3.5.1、dnw驅動的安裝

驅動位置:6.工具軟體\dnw驅動和fastboot驅動\dnw驅動和fastboot驅動\dnw_driver_win7-64

安裝步驟為:用USB線連線PC機和開發板,然後用手按住開發板上的電源啟動按鍵(POWER),此時開發板上會彈出“SEC S5PC110 Test B/D”裝置,有感嘆號,如下圖:

然後給這個裝置安裝上面指定的驅動即可,在安裝的過程中要選擇忽略數字簽名,安裝完成後如下圖所示出現新的裝置“SecBulk sys Njsmodi 2412 dnw driver”。

至此dnw驅動安裝成功。

此時我們機可以使用dnw.exe軟體來給開發板傳送檔案了,但是現在無法通過Windows命令列來給開發板傳送命令。我們還需要安裝X210 Android驅動

1.3.5.2、fastboot驅動(X210 Android驅動)的安裝

驅動位置:A盤\tools\USB驅動\x210_android_driver

如果不安裝的此驅動,則無法通過windows的命令列在開發板傳送命令,在命令列輸入fastboot的命令後會有“Waiting for device”提示。

安裝此驅動,安裝完成後,計算機管理顯示如下:

此時可以用windows命令列給開發板傳送fastboot命令了。

1.3.6.刷機(用fastboot刷

1.3.6.1 刷機準備

(1)刷機工具及需要的檔案

用 fastboot 刷Android4.0:

用的映象檔案:uboot.bin x210.img zImage-android

所在光碟位置:E:\x210BV3\X210_B\android4.0.4\image\inand

還有:x210_usb.bin,這個可能在當前目錄找不到,可到 E:\x210BV3\X210_A\WINCE\image,這個位置找找,其實刷wince也是用到這個。找不到可直接搜尋。

用到的工具:DNW.exe fastboot

(2)事先把開發板啟動方式撥到usb啟動。OM5打到VCC就能從usb啟動

(3)兩個刷機檔案x210_usb.bin  和 uboot.bin 準備好。

1.3.6.2、刷機

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

uboot啟動起來後,先fdisk -c 0去重新分割槽,然後再fastboot·······

  1. 事先把開發板啟動方式撥到usb啟動。OM5打到VCC就能從usb啟動
  2. 兩個刷機檔案x210_usb.bin  和 uboot.bin 準備好。在我的電腦路徑:E:\dnw刷機\
  1. 開啟dnw.exe軟體(路徑:H:\文件(E)\朱老師物聯網大講堂\工具軟體\dnw.exe)

點選”configuration -> Options “. 設定USB Port框中的 Download Adderss 為0xd0020010(這個地址是刷x210_usb.bin的地址)

設定好波特率和串列埠,點選“確定”。

然後點選USB Port -> Transmit -> Transmit,找到之前存放的x210_usb.bin 如下:

點選刷機後,如果失敗,則重新輸入地址,重新嘗試。

  1. 刷完第一步之後,然後進行第二步刷機:在dnw.exe軟體中點選”configuration -> Options “. 設定USB Port框中的 Download Adderss 為0x23e00000,
  2. 然後和上上一步一樣,選擇檔案uboot.bin 進行刷機(注意:在選擇uboot.bin之前,要把開發板串列埠連線到電腦端,同時開啟SecureCETR軟體),在點選dnw.exe中選擇uboot.bin檔案的“開啟”,下載完此檔案後,SecureCETR會輸出內容,開發板進入啟動階段,這時要在3秒之內按下電腦的回車鍵。

在SecureCETR終端依次輸入

fdisk -c 0    (此命令是用來分割槽的)

fastboot    (可以得到分割槽表)

然後在windows電腦終端進入刷機命令

比如我把fastboot放到了C盤,刷機的檔案放到了C:\fastboot\image中:

去windows命令列下操作,去到fastboot目錄下(開發版光碟資料\X210V3S_A\tools\fastboot),分別執行: 

fastboot flash bootloader  xxxxx 燒uboot

fastboot flash kernel xxxxx 燒linux kernel

fastboot flash system xxxxx 燒android rom

fastboot -w

上面的 "xxxxx" 指的是對應映象所在路徑,比如我使用的命令:

fastboot flash bootloader  image\uboot.bin 燒uboot

fastboot flash kernel  image\zImage-android 燒linux kernel

fastboot flash system  C:\fastboot\image\x210.img 燒android rom

fastboot -w

如下圖:

上面可以使用相對路徑也可以使用絕對路徑。

注意:在輸入上圖中的命令後,如果提示“Waiting for device”,則說明android驅動沒有裝好。

完了之後把選擇啟動方式的開關撥到不從USB驅動的一端,手動重啟機器即可。

如果啟動不了則需要檢查bootcmd和bootargs的值是否設定的正確。如過不能啟動,則使用print命令檢視環境變數的值。然後設定環境變數的值即可,如下:

環境變數的值如下:

從本地開發板中啟動:

set bootcmd 'movi read kernel 30008000; bootm 30008000'

set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3

從開發板下載核心來啟動:

gatewayip=192.168.1.1

netmask=255.255.255.0

ipaddr=192.168.1.10

serverip=192.168.1.141

bootcmd=tftp 0x30008000 zImage;bootm 0x30008000

bootargs=root=/dev/nfs nfsroot=192.168.1.141:/home/aston/porting_x210/rootfs/rootfs ip=192.168.1.10:192.168.1.141:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC2,115200

設定完成後直接輸入 save儲存, 然後使用reset命令來啟動開發板中的linux系統即可。