標題: 嵌入式開發學習筆記一:燒寫android系統 [打印本頁]
作者: FLYING869 時間: 2017-6-15 14:15
標題: 嵌入式開發學習筆記一:燒寫android系統
我之前學過單片機arm和c語言就直接買了這款4412板子,開始還擔心跨度有點大學不會呢,現在想想還好選了這款,給的資料和視頻教程少走不少彎路,分享一下學習筆記。。。
平臺: iTOP-4412開發平臺
系統:Android 4.0
TF 卡存儲容量最少要 2G 以上。
制作可以燒寫的TF卡
使用 TF 卡之前,必須要先分區。制作 TF 卡需要在 PC 機的 Ubuntu 系統下,分 3 個步驟來完成。這里需要注意的是,TF 卡制作完成后,就可長期使用,不用每次重新制作,另外如果燒壞了 eMMC的 uboot,那么將無法進行分區,就要參考 4.5 小節先給 TF 卡分區。
1. 給 TF 卡分區。需要將 TF 卡先插入開發板,然后再啟動開發板并進入 Uboot 模式
(如何進入可參考前面 2-5 節),然后在超級終端中,依次輸入下列燒寫命令:
— fdisk -c 1
注意上面的分區命令的是參數“1”,代表的是 tf 卡,如果是“0”則代表是 eMMC。
如果是 2G 的 TF 卡,請將命令“fdisk -c 1”改為“fdisk -c 1 300 300 300”。
— fatformat mmc 1:1
— ext3format mmc 1:2
— ext3format mmc 1:3
— ext3format mmc 1:4
執行完上面的命令之后,就要將 uboot 燒寫到 TF 卡。
2. 如下圖所示,在光盤文件夾“06_源碼_uboot 和 kernel”中有一個壓縮包
“iTop4412_uboot_xxx.tar.gz”,壓縮包文件名中的“xxx”代表不確定,“xxx”表示日
期,日期信息在系統升級后會變更。
圖片1.jpg (14.23 KB, 下載次數: 193)
下載附件
2017-6-15 14:14 上傳
3. 使用 SSH 工具(參考使用手冊 3.3.5 安裝和使用 SSH 軟件),拷貝壓縮包
“iTop4412_uboot_xxx.tar.gz”到 PC 機的 Ubuntu 系統中,然后解壓壓縮包,得到文件夾
“iTop4412_uboot”,進入“iTop4412_uboot”文件夾,如下圖所示。
圖片2.jpg (33.96 KB, 下載次數: 198)
下載附件
2017-6-15 14:14 上傳
4. 拷貝光盤中文件夾中對應核心板的鏡像“u-boot-iTOP-4412.bin”到上一步解壓出來
的文件夾“iTop4412_uboot”中,如下圖所示。
圖片3.jpg (40.85 KB, 下載次數: 156)
下載附件
2017-6-15 14:14 上傳
5. 在 Ubuntu 命令行中輸入命令“df -l”,查看一下系統有哪些盤符。
圖片4.jpg (19.61 KB, 下載次數: 178)
下載附件
2017-6-15 14:14 上傳
6. 接著使用讀卡器將 TF 卡連接到 PC 機的 Ubuntu 系統下,如下圖所示,Ubuntu 系統
識別 TF 卡后,可能提示下面的信息。
圖片5.jpg (21.8 KB, 下載次數: 182)
下載附件
2017-6-15 14:14 上傳
7. 在虛擬機 VMware Workstation 選項“虛擬機 M”,進入“虛擬機設置”,如下圖
所示,根據 USB接口選擇一下版本,如果是 USB3.0 則使用 USB3.0。
圖片6.jpg (25.63 KB, 下載次數: 188)
下載附件
2017-6-15 14:14 上傳
8. TF 卡連接之后到 Ubuntu 之后, 再次使用 Linux 命令“df -l”查看盤符。將第二次
查看的盤符和第一次查看的盤符對比一下,就會發現 Ubuntu 系統中多出了盤符,這個盤符就是 TF 卡的盤符,盤符名稱在接下來的 Linux 命令中會用到,如下圖所示。
圖片7.jpg (51.72 KB, 下載次數: 172)
下載附件
2017-6-15 14:14 上傳
9. 在執行下面這條命令的時候,要特別特別注意!一定要分清楚,哪個盤符是 TF 卡的
盤符,如果不清楚,請務必先拔掉 TF 卡,看清楚哪些盤符是屬于 Ubuntu 系統的硬盤盤符,
看清楚哪些盤符是 Ubuntu 系統的硬盤盤符后,再插入 TF 卡,分辨出哪個盤符是新增加的盤符,新增加的盤符才是 TF 卡的盤符。
10. 進入文件夾“iTop4412_uboot”中。在 Ubuntu 命令行中,執行 Linux 命令:
“./mkuboot /dev/sdx”,mkuboot 是 uboot 源碼文件夾中的一個腳本,下圖中腳本
命令的對象是上圖中識別的“sdb”。
(注意,sdx 用前面查看盤符,多出來的盤符名代替,不要帶數字,比如 df -l 看到的 tf 卡
是/dev/sdb0,這個 0 不要帶,直接寫 sdb)
圖片8.jpg (46.28 KB, 下載次數: 193)
下載附件
2017-6-15 14:14 上傳
11. 檢查可以燒寫的 TF 卡是否制作成功。
檢查的方法很簡單,使用讀卡器連接 TF 卡到 Win7系統上,如果在 Win7 系統上發現 TF
卡的存儲空間減少了 2G 以上,那么這個 TF 卡就制作成功了。如下圖所示,8G 的 TF 卡只剩5.68G。
圖片9.jpg (20.76 KB, 下載次數: 142)
下載附件
2017-6-15 14:14 上傳
使用TF卡燒寫
在 Win7 系統和 Ubuntu 系統下,都可以使用 TF 卡燒寫。這里以 Win7 為例,Ubuntu
的也是一樣,將鏡像文件拷貝到 tf 卡中的“sdupdate”文件夾中。
Win7 下 TF 卡燒寫步驟如下:
1. 將制作完成的 TF 卡接入 PC 機的 Win7 或者 Ubuntu 系統中,在 TF 卡上建立文件夾
“sdupdate”。注意,文件夾名字一定要使用“sdupdate”。如下圖所示。
圖片10.jpg (10.98 KB, 下載次數: 172)
下載附件
2017-6-15 14:14 上傳
2. 拷貝相應的鏡像文件到 TF 卡的文件夾“sdupdate”中,如下圖所示。
圖片11.jpg (17.3 KB, 下載次數: 189)
下載附件
2017-6-15 14:14 上傳
3. 將 TF 卡先插入開發板中,進入超級終端的 UBOOT模式,如下圖所示。
圖片12.jpg (25.61 KB, 下載次數: 183)
下載附件
2017-6-15 14:14 上傳
4. 輸入燒寫命令“sdfuse flashall”。
這是一個全部燒寫的命令,就是將“sdupdate”中全部的鏡像燒寫到開發板中,如下圖
所示。
圖片13.jpg (27.53 KB, 下載次數: 161)
下載附件
2017-6-15 14:14 上傳
燒寫命令“sdfuse flashall”可以用下面替代的燒寫命令:
— sdfuse flash bootloader u-boot-iTOP-4412.bin
— sdfuse flash kernel zImage
— sdfuse flash ramdisk ramdisk-uboot.img
— sdfuse flash system system.img
替代的燒寫命令允許單條執行,在執行單條燒寫命令的時候,只燒寫相應的單個鏡像文
件。例如,執行燒寫命令“sdfuse flash kernel zImage”,就只會更新 Linux 內核
“zImage”鏡像,而不會影響其他的鏡像。
5. 等待燒寫完成,最后在超級終端中,輸入以下命令:
— reset(在超級終端中執行該命令會重啟開發板)
完成。
圖片14.jpg (64.28 KB, 下載次數: 157)
下載附件
2017-6-15 14:14 上傳
作者: ensemble 時間: 2017-6-29 09:58
待著疑問學習了,
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |