2021-05-12 14:32:11
如何在Mac下使用TF/SD 卡製作Exynos 4412 u-boot啟動盤
2020-06-16 18:08:27
/**
******************************************************************************
* @author Maoxiao Hu
* @version V1.0.1
* @date Dec-2014
******************************************************************************
* < COPYRIGHT 2014 ISE of SHANDONG UNIVERSITY >
******************************************************************************
**/
如果你的系統是Ubuntu,請移步這裡《如何在Ubuntu下使用TF/SD 卡製作Exynos 4412 u-boot啟動盤》http://www.linuxidc.com/Linux/2015-02/113493.htm。
硬體:迅為iTop 4412精英版 & 8GB TF卡
軟體:Hex Fiend & 系統自帶終端
首先,我們應該清楚TF/SD卡可以看作一張完全空白的“白紙”,之所以有分割區、分割區格式的區別不過是在在這張“白紙”的某些特定位置寫入了一些資料來指示分割區、分割區格式。
其次,我們還應該清楚,在TF/SD啟動模式下,exynos 4412一上電,內部iROM會從TF/SD的第1個Block(第512個位元組開始)讀取8KB的資料到內部iRAM,然後從內部iRAM的0地址開始執行。
原理搞清楚了,那麼首先需要把TF/SD低階格式化-所有Block全部寫0。
1、連線TF/SD卡,開啟終端,使用diskutil list命令檢視所有連線到電腦上磁碟:
毫無疑問現在/dev/disk2是我的TF卡,從TYPE屬性可以看出現在TF卡是FAT32格式。
2、使用16進位制編輯器開啟TF卡檢視資料(可跳過)
在這裡我們使用一款16進位制編輯軟體:Hex Fiend (Windows下可使用WinHex)
Command+Alt+O開啟路徑:/dev/disk2s1(指定disk2的第一個分割區s1)
我們可以看到TF卡中已被寫入了各種FAT磁碟格式的控制字元。
如有興趣了解這些字元代表的含義,請下載微軟官方Spec:
如果這時我們寫入u-boot,在512行和992行處原來的字元會被保留,這顯然不是我們所希望的。
3、清空TF卡上的資料:
diskutil zeroDisk disk2
執行此句之前請關閉Hex Fiend(如果執行了第2步的話),否則會提示Resource Busy。
非常長的時間,但是執行到4%就可以了,這時已經有8G*0.04 = 320MB的空間被清0了,足夠我們使用了,使用Ctrl + c 打斷diskutil進程。
4、寫入u-boot檔案
首先cd到你u-boot檔案的存放目錄。
使用dd命令寫入:
sudo dd if=u-boot-iTOP-4412.bin of=/dev/disk2 seek=1
5、對比TF卡資料與u-boot bin檔案(可跳過)
再次使用Hex Fiend分別開啟u-boot bin檔案和TF卡,注意此時TF卡的FAT分割區表已經被破壞了,應使用Command+Alt+O開啟路徑/dev/disk2(指定disk2 RAW資料)
對應位置資料完全一致,搞定。
6、將TF卡接到開發板上,撥碼開關選擇TF啟動,上電:
相關文章