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...