u-boot2020.04移植(1、u-boot的編譯)

最近公司項目用到了xilinx的zynq7000 soc,開發方式有所不同,驅動的數據都是通過設備樹來提供,以前沒接觸過,所以想系統的學習一下相關的內容,但是手頭只有一塊三星的s5pv210開發板,使用的u-boot和linux系統不支持設備樹,只好自己移植,以此記錄一下移植過程,加深理解與記憶,如果你也剛好有需要,歡迎參考與指正,我主要以u-boot本身爲主,對於硬件相關的不會怎麼涉及。

我使用的虛擬機是ubuntu1804,選的u-boot版本是最新的2020.04(u-boot下載鏈接),由於三星提供的交叉編譯工具鏈版本太低了,編譯不了這個版本的u-boot,所以還得重新下載一個交叉編譯器(交叉編譯工具鏈下載鏈接),這種下載方式可能很慢,你也可以直接在ubuntu中通過apt下載,使用國內的源,下載比較快,這樣下載的直接就是最新版本,命令如下:

sudo apt install gcc-arm-linux-gnueabi

 注意工具鏈的名字,不要下載錯了。

上面這些準備好後,就可以嘗試編譯u-boot了,在編譯u-boot之前,需要先配置使用的哪塊單板,但在u-boot源文件configs目錄下找不到V210這塊板子的默認配置文件,只好看看有沒有與V210最接近的板子,根據s5pv210的手冊可以得知,V210,C110與C111這三塊芯片非常相似,用的手冊都是一樣的(見圖1),通過搜索關鍵字發現s5p-goni這塊板子裏面有C110相關的內容,所以決定以這塊板子爲基礎進行移植,我沒有另外的添加新的單板,所以後面移植全部都是直接在s5p-goni相關的源文件中修改。

圖1

先執行如下命令生成配置文件.config:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- s5p_goni_defconfig

我這裏沒有修改Makefile,所以需要手動指定交叉編譯器和體系架構類型,正確執行結果如下(圖2):

圖2

 然後執行如下命令編譯u-boot:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-

正確執行結果如下(圖3):

圖3

到這裏,編譯u-boot就完成了,後面就可以進行移植了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章