1.3.3、開發板刷系統:破壞原有的bootloader從SD2的bootloader啟動
阿新 • • 發佈:2019-01-08
為什麼需要給開發板刷系統?
- 因為開發板買過來後預設已經裝好了一個4.0的安卓系統,在這個系統之上沒辦法做實驗。
- 我們要做的實驗是和裸機程式設計有關的,所以不需要跑系統,所以要想辦法把原有的系統破壞掉。
破壞方法:
- 安裝好USB裝串列埠驅動,將串列埠線插到開發板的UART2口(開發板預設系統使用了UART2口)。
- 開啟一個串列埠監視軟體(SecureCRT),選擇正確的COM號,設定波特率為115200.
- 然後啟動機器,會看到串列埠工具上面會列印很多的文字資訊,然後等待預設的安卓系統完全跑起來。
- 系統完全跑起來以後,在串列埠工具中敲回車鍵,進入命令列模式。
- 敲入命令:
busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync
sync
- 命令的意思就是說把板載的iNand的第一個扇區用全0來填充,其實就是擦除它,這樣我們板載的iNand的bootloader的開始第1個扇區就被破壞了。將來啟動時iROM還是會先從iNand中讀取前16KB,然後計算校驗和。這時候因為有1個扇區被擦掉了,所以校驗和不通過,所以啟動失敗(會從SD2去執行2nd啟動)。
- 至此,就破壞了原有的iNand中的bootloader,重新開機會在串列埠上提示以下資訊:
- SD checksum Error
- SD Init Error
- Uart negotiation Error
- 但是並沒有破壞iNand中的安卓系統,我們只是需要能使S5PV210從SD2通道中啟動2nd就可以了。
那要怎麼讓S5PV210從SD2執行bootloader呢?
- bootloader肯定是使用開發板原廠提供的uboot.bin檔案,所以先找到開發辦廠商提供的uboot.bin檔案,我還是選擇和開發板預設使用的安卓4.0的uboot.bin,這樣可以幫我能重新正常把預設的安卓4.0再跑起來。
- 想辦法把uboot.bin放到SD卡里面,這裡還是要藉助開發板廠商提供一個的燒錄軟體:x210_Fusing_Tool.exe
- 將SD卡插入電腦,然後開啟x210_Fusing_Tool.exe,然後通過x210_Fusing_Tool.exe開啟uboot.bin,然後點選Start開始燒錄。
- 成功將uboot.bin燒錄到SD之後,將SD插到開發板的SD2插口,然後開機。
- 這個時候就能看到如下所示的資訊:
- 第一行:SD checksum Error是提示預設在SD0通道的iNand上的bootloader校驗錯誤。
- 第二行:OK提示在SD2通道的SD卡里面的bootloader校驗成功。