1. 程式人生 > >express_ca9x4 uboot分析

express_ca9x4 uboot分析

開發 app ret makefile arch cross top chang express

1.vexpress-ca9x4和qemu介紹

vexpress-ca9x4是arm公司的模擬開發板,

官方資料是:

ARM? CoreTile Express A9×4 Technical Reference Manual Cortex?-A9 MPCore (V2P-CA9)

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0448i/index.html

RealView? Platform Baseboard Explore for Cortex?-A9 User Guide HBI-0182 (baseboard) and HBI0183 (daughterboard)

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.home/index.html

qemu是一個模擬器

2.環境搭建

編譯器,qemu,uboot,

詳見這篇文章:http://blog.chinaunix.net/uid-21273033-id-3276237.html

uboot(2017.07)編譯:

CROSS_COMPILE=arm-linux-gnueabi- make mrproper O=../t

CROSS_COMPILE=arm-linux-gnueabi- make vexpress_ca9x4_defconfig O=../t

CROSS_COMPILE=arm-linux-gnueabi- make vexpress_ca9x4_defconfig all O=../t

運行:
qemu-system-arm -M vexpress-a9 -m 256M -nographic -kernel u-boot

3.makefile分析

閱讀readme,CONFIG_,CONFIG_SYS_,make <board_name>_defconfig

CONFIG_SYS:depend on the hardware etc,

info命令輸出和man一樣,需要安裝doc。u跳到上層的小節 “p”跳到上一節,按鍵“n”跳到下一節。

LC_ALL=C 是為了去除所有本地化的設置,讓命令能正確執行。

shell中,文件分界符(通常寫成EOF,你也可以寫成FOE或者其他任何字符串)緊跟在<<符號後,意思是分界符後的內容將被當做標準輸入傳給<<前面的命令,直到再次在獨立的一行遇到這個文件分界符(EOF或者其他任何字符

MAKEFLAGS += -rR --no-print-directory
#-r禁止使用build-in規則
#--no-print-directory是:不要再屏幕上打印"Entering directory.."

有一個 make 的環境變量叫“MAKECMDGOALS”,這個變量中會存放你所指定的終極目標的列表,如果在命令行上,你沒有指定目標,那麽,這個變量是空值

linux頂層Makefile(不錯)

Kernel頂層Makefile文件分析

http://blog.csdn.net/hushup/article/details/26105333

http://www.cnblogs.com/heaad/archive/2010/07/17/1779806.html

http://www.cnblogs.com/amanlikethis/archive/2013/11/17/3427682.html

4.代碼分析

vexpress-ca9x4

express_ca9x4 uboot分析