日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

全志A33-编译uboot

發(fā)布時間:2023/12/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 全志A33-编译uboot 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

開發(fā)板:A33,運行l(wèi)inux-3.4.39

主機:Ubuntu 14.04

----------------------------------------------

?

?

1. 進入uboot目錄:~/A33-Vstar/dragonboard/brandy/u-boot-2011.09

編譯涉及的重要文件:build.sh、Makefile

?

?

2. 編譯

2.1 方式一,使用build.sh腳本

執(zhí)行:sudo ./build.sh -p sun8iw5p1

出現(xiàn)以下錯誤:

?

1)make: INTERNAL: Exiting with 9 jobserver tokens available; should be 8!

解決:打開build.sh,將-j8去掉即可。

即將make -j8 $PLATFORM CROSS_COMPILE=arm-linux-gnueabi-

修改為make $PLATFORM CROSS_COMPILE=arm-linux-gnueabi-

?

2)dereferencing type-punned pointer will break strict-aliasing rules

原因:dereferencing type-punned pointer will break strict-aliasing rules警告信息跟優(yōu)化選項-strict-aliasing 有關。當開啟這個優(yōu)化選項時,可能優(yōu)化會導致源代碼中部分語句缺失,而造成系統(tǒng)工作不正常,所以就所有的違反strict-aliasing rules原則的地方加了條這個警告信息,提醒讀者檢查這個地方的代碼,看看是不是如果優(yōu)化后會導致部分語句工作不正常。同時這個信息提示還有另外一個目的,兩個不同類型的指針指向同一個地址時,極有可能會導致代碼編寫出錯(比如犯大小端的錯誤,還有地址字節(jié)對齊的錯誤),所以這個警告信息還有這一層的目的。

解決:編譯時make系統(tǒng)使用了錯誤的gcc編譯器:/usr/bin/arm-linux-,必須要使用A33自帶的gcc編譯器,位于~/A33-Vstar/dragonboard/out/sun8iw5p1/dragonboard/common/buildroot/external-toolchain/bin/

-1. 先屏蔽 /usr/bin/下的gcc系列編譯器,可將其移動到別的路徑。

-2. 修改build.sh,將PATH修改為:

export PATH=$PATH:~/A33-Vstar/dragonboard/out/sun8iw5p1/dragonboard/common/buildroot/external-toolchain/bin/

即A33自帶gcc編譯器的存放路徑。

?

注:通過在Makefile中添加CFLAGS = -fno-strict-aliasing -O0無效,依舊會出現(xiàn)此錯誤,所以只能采用換自帶編譯器的方法。

?

3)cp: cannot create regular file ‘../brandy/out_source’: No such file or directory

解決:去掉build.sh最后一行:cp -rf u-boot.bin ../brandy/out_source

?

依次解決上述錯誤后,編譯成功:

?

2.2 方式二,直接執(zhí)行make

$ sudo make distclean

$ sudo make sun8iw51

注:應該不會出現(xiàn)方式1的三個錯誤,并且方式二使用的是~/A33-Vstar/dragonboard/brandy/gcc-linaro/bin/目錄下的gcc編譯器

?

?

3. 使用u-boot

編譯成功后,生成的u-boot.bin和u-boot-sun8iw5p1.bin文件存放在當前目錄。且u-boot-sun8iw5p1.bin會自動copy到:~/A33-Vstar/dragonboard/tools/pack/chips/sun8iw5p1/bin/

這時回到dragonboard/目錄下,直接運行sudo ./build pack即可使用新生成的u-boot。

?

?

?

總結

以上是生活随笔為你收集整理的全志A33-编译uboot的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。