嘗試編譯x210的uboot

2021-09-27 10:26:37 字數 4300 閱讀 9634

x210的編譯首先要經過配置,之後才能進行編譯。我這裡使用的是九鼎官方已經做好的x210的uboot 進行編譯得到u-boot.bin。uboot的或得路徑可以是從uboot的官方、可以是soc官方、也可以是你用的開發板的廠家。

編譯過程:

1、在linux源生目錄下配置編譯

(1)x210移植過的uboot在開發板光碟的bsp中。

(2)bsp就是board support package(板級支援包,一般由開發板**商提供),裡面的內容就是這個開發板的所有相關的源**、文件、教程等。

(3)將整個bsp打包檔案弄到linux的源生目錄中去解壓分析,不要在windows中的共享資料夾中解壓開。(除非你的**只在windows下去分析而不去編譯,如果你想編譯工程就一定不要在windows共享資料夾下,否則會出錯),我在共享資料夾下嘗試了以下,錯誤如下:

root@ubuntu:

/mnt/hgfs/winshare/x210/uboot/jiuding/uboot# make x210_sd_config

configuring for x210_sd board...

ln: failed to create symbolic link 『asm』: operation not supported

make:**

*[x210_sd_config] error 1

root@ubuntu:

/mnt/hgfs/winshare/x210/uboot/jiuding/uboot#

提示有乙個鏈結不支援。

(4)解壓

root@ubuntu:

/usr/local/arm/uboot# ls

uboot_jiuding.tar.bz2

root@ubuntu:

/usr/local/arm/uboot# tar -jxvf uboot_jiuding.tar.bz2

完成之後會生成乙個uboot,進入之後,會看到以下檔案及資料夾:

root@ubuntu:

/usr/local/arm/uboot/uboot# ls

api config.mk fs makefile post

api_examples copying image_split mk readme

arm_config.mk cpu include mkconfig rules.mk

board credits lib_arm mkmovi sd_fusing

changelog disk libfdt nand_spl tools

changelog-before-u-boot-

1.1.5 doc lib_generic net

changelog_samsung drivers maintainers onenand_bl1

common examples makeall onenand_ipl

(5)我們在linux下維持乙份uboot,在windows下也維持乙份uboot,在我們沒有開始任何工作之前,這兩份uboot內容一樣的,都是九鼎官方的uboot 內容。我們這樣做目的是:在linux中進行編譯、在windwos下進行**分析和**。(windwos下有sourceinsight等很好的工具輔助我們看**、編輯**,在linux下編輯和看**都很麻煩·····)。

2、配置

(1)uboot和linux kernel等複雜專案,都不能直接編譯,都要先配置才能編譯。

(2)uboot也要先配置,配置方法是:首先cd進入uboot原始碼的根目錄,而且是在linux環境下的原始碼,不能是在windows和linux的共享資料夾下,在root使用者下,在根目錄下執行配置命令,並只出現configuring for x210_sd board… 的提示,說明配置完成,如下:

root@ubuntu:

/usr/local/arm/uboot/uboot# make x210_sd_config

configuring for x210_sd board.

..

說明配置好了,如果不是這個是別的說明配置出錯了。

3、編譯得到uboot.bin

(1)編譯之前一定要注意檢查arm-linux-gcc對不對,檢查份2步:

第一步:檢查當前編譯環境中有沒有安裝合適的arm-linux-gcc。我們裝的是arm-2009q3,因為這個是三星官方、九鼎官方開發uboot時使用的。

root@ubuntu:

/usr/local/arm/uboot/uboot# arm-linux-gcc -v

thread model: posix

gcc version 4.4

.1(sourcery g++ lite 2009q3-

67)

第二步:檢查當前目錄下(uboot根目錄)的makefile中編譯器的設定是否正確。在工程的總makefile中會設定交叉編譯工具鏈的路徑和名字,必須確保這個路徑和名字和我們自己裝的一致,否則編譯會出錯。

使用vi 檢視makefile檔案中冠以交叉編譯器的配置:

ifeq ($(arch)

,arm)

#cross_compile = arm-linux-

#cross_compile = /usr/local/arm/4.4.1-eabi-cortex-a8/usr/bin/arm-linux-

#cross_compile = /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-

cross_compile =

/usr/local/arm/arm-

2009q3/bin/arm-none-linux-gnueabi-

endif

(2)確保了以上2點,即可進行編譯。直接make即可。或者可以make -j4 (多執行緒編譯,主機如果是多核心電腦,可以嘗試多執行緒編譯,會快一些)

root@ubuntu:

/usr/local/arm/uboot/uboot# make -j4

編譯之後:

root@ubuntu:

/usr/local/arm/uboot/uboot# ls

api credits maintainers readme

api_examples disk makeall rules.mk

arm_config.mk doc makefile sd_fusing

board drivers mk system.map

changelog examples mkconfig tools

changelog-before-u-boot-

1.1.5 fs mkmovi u-boot

changelog_samsung image_split nand_spl u-boot.bin

common include net u-boot.dis

config.mk lib_arm onenand_bl1 u-boot.map

copying libfdt onenand_ipl u-boot.srec

cpu lib_generic post

root@ubuntu:

/usr/local/arm/uboot/uboot#

在uboot的根目錄下會生成u-boot.bin的檔案,這就是啟動檔案。

X210刷機 利用markdown嘗試編寫

首先檢查開發板能否被pc識別,不能識別說明我們的開發板驅動需要重新更新下,能識別就不需要了。將串列埠線和usb線都插好,配合securecrt都接好對於linux qt系統的刷機,我們需要注意的細節 首先先明白乙個概念 什麼是系統控制台?什麼是uboot控制台?其次我們需要學會做sd卡燒錄映象,製作...

ARM裸機 x210的啟動方式

x210的啟動方式 一.基本概念 1.記憶體 sram靜態記憶體 特點 容量小 高 不需要軟體初始化 上電就可以使用 dram動態記憶體 特點 容量大 低 不能上電就工作 需要軟體進行一定的初始化 2.外存 norflash 容量小 可以通過匯流排的方式直接連線到cpu cpu上電後就可以訪問 一般...

1 x210官方uboot配置編譯實踐

本文內容來自對 朱有鵬嵌入式linux核心課程 學習總結 具體的開發板 商 譬如x210的生產商深圳市九鼎科技 首先購買三星的smdkv210開發板,然後進行裁剪之後生成的新的開發板 譬如x210 和三星官方的smdkv210有所不同,因此uboot也不同。但是因為soc是相同的,所以相似度至少有6...