首頁 > 軟體

如何在Ubuntu下使用TF/SD 卡製作Exynos 4412 u-boot啟動盤

2020-06-16 18:08:30
/**
******************************************************************************
* @author    Maoxiao Hu
* @version   V1.0.1
* @date       Feb-2015
******************************************************************************
* < COPYRIGHT 2015 ISE of SHANDONG UNIVERSITY >
******************************************************************************
**/
 
如果你的系統是Mac OS X,請移步這裡《如何在Mac下使用TF/SD 卡製作Exynos 4412 u-boot啟動盤》 http://www.linuxidc.com/Linux/2015-02/113494.htm
 
 
硬體:迅為iTop 4412精英版 & TF卡
軟體:系統自帶終端即可
 
首先,我們應該清楚TF/SD卡可以看作一張完全空白的“白紙”,之所以有分割區、分割區格式的區別不過是在在這張“白紙”的某些特定位置寫入了一些資料來指示分割區、分割區格式。
 
其次,我們還應該清楚,在TF/SD啟動模式下,exynos 4412一上電,內部iROM會從TF/SD的第1個Block(第512個位元組開始)讀取8KB的資料到內部iRAM,然後從內部iRAM的0地址開始執行。
 
原理搞清楚了,那麼首先需要把TF/SD低階格式化-所有Block全部寫0x00

1、連線TF/SD卡,開啟終端

使用ls /dev/sd* 命令檢視所有連線到電腦上磁碟。
問題:在這裡為什麼不用df命令?
原因是假設你的TF/SD卡只有一個分割區但這個分割區已損壞,或者有多個分割區但是沒有一個可以識別的分割區,那麼此時df命令無法檢視到tf/sd卡,所以說直接列出dev下所有sd開頭的裝置,是終極方案。
 
(1)假設你的tf/sd卡只有一個分割區,無論這個分割區是否損壞,現象應該是類似這樣的:
 
插上tf/sd卡之前:
 
 
插上tf/sd卡之後:
 
 
很明顯多出的/dev/sdb就是本文後續操作的物件。
 
(2)假設你的tf/sd卡已有多個分割區,無論這些分割區是否損壞,現象應該是類似這樣的:
 
插上tf/sd卡之前:
 
 
插上tf/sd卡之後:
 
這裡多出5個裝置,但是我們仍然將/dev/sdb作為本文後續操作的物件。
 
注意:我這裡是/dev/sdb,但是還有可能是/dev/sdc等等其它符號,必須根據你實際出現的裝置名稱進行以下操作,否則有可能損壞系統分割區,非常重要,切記!!!
 

2、使用16進位制模式開啓TF卡檢視資料(可跳過)

我們使用linux自帶命令hexdump檢視tf/sd卡中的資料:
命令為:

sudo hexdump -n 1048576 /dev/sdb

其中-n 1048576代表列印出前1M=1024*1024=1048576位元組的資料。

 

執行結果(部分)如下:

 

 

*代表內容為0x00,為了節省空間故作省略。

3、清空TF卡上前1MB的資料

由於4412的uboot大小基本在幾百kB的量級,所以清空前1MB空間足夠用,注意這裡的清空不是格式化,而是填充0x00。

我們利用系統/dev下的zero裝置,清零tf/sd卡前1MB。

執行結果如下:

這裡的count=2000代表清空2000個block,一個block=512B,2000個正好為1MB。

 

再次hexdump檢視tf/sd卡資料,發現:

前1MB空間成功清0x00。

4、燒寫uboot啟動檔案

在這裡,我們待燒寫的檔案為 u-boot-iTOP-4412.bin 這個檔案。

終端執行命令:

if代表輸入檔案地址,以你u-boot-iTOP-4412.bin 這個檔案的實際地址為準,of代表輸出地址,以你tf/sd卡的實際裝置號為準。

到這裡,就可以將tf/sd卡插入開發板上電啟動了,為了證明我們燒寫無誤,我們執行後續操作。

5、確認燒寫正確(可跳過)

我們需要確定從tf/sd卡的第一個block開始處,確實正確燒寫了u-boot-iTOP-4412.bin這個檔案,下面我們對比一下,用到的命令同樣還是hexdump。

在這裡,我們為了顯示方便,只列印前5KB資料,發現bin檔案被正確的複製到了sd卡的512位元組處:

6、將TF卡接到開發板上,撥碼開關選擇TF啟動,上電:

Done。


IT145.com E-mail:sddin#qq.com