柚子快報激活碼778899分享:驅(qū)動開發(fā)-系統(tǒng)移植
一、Linux系統(tǒng)移植概念
? ? ? ? 需要移植三部分東西,Uboot? ?,內(nèi)核? ?,根文件系統(tǒng) (rootfs)? ,這三個構(gòu)成了一個完整的Linux系統(tǒng)。
????????把這三部分學明白,系統(tǒng)移植就懂點了。
二、Uboot
1、啥是Uboot
uboot就是引導程序下載的一段代碼,有三種我們可以去使用的,可以去開發(fā)的。
1.官網(wǎng)uboot ,比較原始
2.半導體廠商的uboot ,半導體廠商比如NXP,自家開發(fā)板對應修改裁剪的,可靠性比較好
3.還有自己廠家自己做的Uboot,比如說正點原子自家加的開發(fā)板,做的Uboot
現(xiàn)在用的正點原子開開發(fā)板,還沒有自己修改Uboot的啥水平,先用的他們的Uboot跑跑,主要做法:
1.把他們Uboot弄到虛擬機里,配置一下編譯前的版本信息,然后進行編譯生成鏡像文件.mix
2.通過SD卡下載到開發(fā)板
3.跑一跑,學一學
但是通過SD卡下載到開發(fā)板出現(xiàn)了一個坑:
虛擬機識別不到SD卡,咋辦呢,最后慢慢摸索出來了
主要關(guān)注下面的內(nèi)容
1.虛擬機設置,添加USB控制器設置
2.主機設置,打開VMware USB服務
接著
然后重啟虛擬機
3.插入SD卡,選擇斷開連接,然后重新連接就行了
也可以看看有沒有這個圖標,有著圖標說明就可以了
燒寫Uboot進入SD卡命令(文檔322頁):
1.插入SD卡前后,使用ls /dev/sd* 命令查看分區(qū)
2.燒寫到SD的內(nèi)存分區(qū)
使用
imxdownload
向
SD
卡燒寫
led.bin
文件,命令格式如下:
./imxdownload <.bin file>
燒寫完成的樣子
3.調(diào)整撥碼開關(guān),開發(fā)板的啟動方式,插入sd卡
2、Uboot如何用
? ? ? ? 使用Uboot當然要用一些命令去操作,主要是一些增、刪、改、查的命令。
用這些命令的能操作哪些對象要了解,比如操作信息查詢、修改環(huán)境變量、操作內(nèi)存、操作網(wǎng)絡,等等,操作這些對象干啥,要了解。
? ? ? ? boot命令記一下bootz、bootm 和 boot。
????????bootz加載鏡像文件zImage。也能瞄準地址,加載設備樹文件,可以自己試試這個命令。
????????bootm也差不多,啟用uImage。
3、Uboot移植
? ? ? ? 上面也說了,把修改官方的uboot是比較麻煩的,所以要站在巨人的肩膀上,修改芯片廠商修改后的uboot進行開發(fā)是比較容易的。
移植操作步驟:
? ? ? ? 1.找到對應芯片廠商的Uboot進行編譯
? ? ? ? 編譯的命令如下:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_evk_emmc_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16
????????mx6ull_14x14_evk_emmc_defconfig是在Uboot的configs目錄配置中找的,命令參數(shù),對應我們開發(fā)板的型號。
????????arm-linux-gnueabihf- 指定的編譯器
上述編譯命令,既可以一句依據(jù)的編譯執(zhí)行,也可以寫在頂層makefile中,也可以寫在一個shell腳本中一鍵執(zhí)行。
編譯完成以后會生成
u-boot.bin
、
u-boot.imx
等文件,但是這些文件是
NXP
官方
I.MX6ULL
EVK
開發(fā)板。如何才能用到自家的開翻版呢,這是一個大大的問號?
? ? ? ? 2.編譯完成后下載到板子里,和上面的操作方式一樣
? ? ? ? 發(fā)現(xiàn)一些問題:就是用正點原子的板子加上NXP的uboot,連接串口也能輸出信息,內(nèi)存分區(qū)顯示正常,但是類,LCD屏幕不亮和網(wǎng)絡連接顯示有問題,下面去解決這些問題。
柚子快報激活碼778899分享:驅(qū)動開發(fā)-系統(tǒng)移植
參考文章
本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。