前幾天編譯uboot時遇到一些問題,先記錄一下,linux嵌入式開發還是蠻意思的,要想玩的溜,就必須掌握最基本的uboot、kernel移植、適配、裁剪。
二 編譯uboot
2.1 解壓uboot源碼以及交叉編譯器到root目錄
cd ~
tar xvf bb-black-debian-u-boot.tar.bz2
tar xf gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux.tar.xz
2.2 安裝交叉編譯器
gedit /etc/profile
在最后一行加入環境變量
export PATH=$PATH:~/gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux/bin/
使配置生效
source /etc/profile
2.3 查看版本
arm-linux-gnueabihf-gcc -v
這里會報錯
bash: /...-gcc: No such file or directory
沒人任何提示信息,讓人摸不著頭腦,搜索這個問題,發現是少了庫,于是
apt-get install lib32z1
又報錯了
error while loading shared libraries:
libstdc++.so.6: cannot open shared object file:
No such file or directory
這次報錯倒是有提示信息,這樣就簡單了,安裝缺少的庫就可以了
apt-get install libstdc++6
apt-get install lib32stdc++6
2.4 編譯uboot
cd ~
cd u-boot
make ARCH=arm CROSS_COMPILE=${CC} distclean //清理
make ARCH=arm CROSS_COMPILE=${CC} am335x_evm_config //配置
make ARCH=arm CROSS_COMPILE=${CC} //編譯輸
編譯成功
2.5 燒錄測試
2.5.1 接上串口線
2.5.2 復制鏡像文件到SD卡,從SD卡啟動,log如下:
U-Boot 2014.04-rc3 (Aug 17 2022 - 20:55:03)
I2C: ready
DRAM: 512 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - readenv() failed, using default environment
Net: ethaddr > not set. Validating first E-fuse MAC
cpsw, usb_ether
Warning: Your board does not use generic board. Please read
doc/README.generic-board and take action. Boards not
upgraded by the late 2014 may break or be removed.
Hit any key to stop autoboot: 0
U-Boot#
U-Boot# version
U-Boot 2014.04-rc3 (Aug 17 2022 - 20:55:03)
arm-linux-gnueabihf-gcc (crosstool-NG linaro-1.13.1-4.8-2014.03 - Linaro GCC 2014.03) 4.8.3 20140303 (prerelease)
GNU ld (crosstool-NG linaro-1.13.1-4.8-2014.03 - Linaro GCC 2014.03) 2.24.0.20140311 Linaro 2014.03
U-Boot#
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
嵌入式系統
+關注
關注
41文章
3620瀏覽量
129646 -
Linux系統
+關注
關注
4文章
595瀏覽量
27469 -
SD卡
+關注
關注
2文章
566瀏覽量
64045 -
Uboot
+關注
關注
4文章
125瀏覽量
28293 -
交叉編譯器
+關注
關注
0文章
10瀏覽量
7563
發布評論請先 登錄
相關推薦
請教一下uboot下的網卡驅動程序
請教一下,在uboot下的網卡驅動程序,為什么只要發送中斷請求,就會調用驅動中的發送函數,只要有接收中斷就調用驅動中接收函數呢,我沒有看到驅動中的接收函數或發送函數與中斷服務程序綁定起來啊,那為什么只要有相應的中斷來就會調用發送
發表于 10-27 12:51
【LOFT-Q試用】編譯環境搭建 和 編譯uboot
今天終于把GitHub中的代碼和工具都下載下來了.編譯個uboot來試試安裝文件指引,先裝一下工具source loftq-build/sunxi_env.sh但安裝過程需要用到 GCC. 我的版本
發表于 05-24 23:06
【Rico Board試用體驗】uboot和、內核編譯和燒錄
本帖最后由 jeffc_good 于 2016-11-8 00:03 編輯
通過編譯一遍uboot以及內核,可以熟悉一下整個的開發環境。首先是進去Bootloader目錄,將壓縮
發表于 11-08 00:01
記錄一下arm裸板編程出現的問題
led. o -o led.elf ,錯寫成 arm-linux-ld -Ttext 0 led. o start.o -o led.elf在連接的時候必須將啟動文件放在第一的位置,因為是在start文件中調用的其他函數,這種錯誤在make時不會出現錯誤,記錄
發表于 03-23 11:07
iTOP4412精英版Ubuntu16.04系統編譯uboot
令“cd”(一定要使用 root 賬戶),接著使用“vim .bashrc”命令,打開環境變量配置文件。修改環境變量配置文件最底行(取消注釋),如下圖所示。接著還需要更新一下環境變量,如下圖所示,使用命
發表于 09-03 10:56
uboot編譯出來不能用該怎么辦?
使用如上的uboot_1.1.6_OpenJTAG_2g 進行編譯生產的bin文件才是可以用的。我想問一下這兩個區別是啥,在視頻中韋老師編譯生成的u
發表于 10-10 03:40
簡單看一下鴻蒙系統中u-boot代碼的編譯步驟流程
u-boot在鴻蒙系統中的作用就不說了,這里只簡單看一下鴻蒙系統中u-boot代碼的編譯步驟流程。u-boot的源代碼部署在://device/hisilicon/third_party/uboot
發表于 03-29 14:15
簡單分析一下rk3399-uboot的源碼
使用的配置文件是:下載uboot原生的代碼和瑞芯微提供的源碼進行對比,首先肯定對比一下Makefile發現差異如下:這一段其實只是指定交叉編譯工具鏈沒什么好解釋的。
發表于 04-15 11:57
用OK_MX6X_C_V1.1開發板移植一下新的Uboot出錯是什么原因
各位好,我想用OK_MX6X_C_V1.1開發板移植一下新的Uboot,如Uboot2017.11,移植編譯一直出現這個錯誤,如圖,請問這個
發表于 11-29 07:56
uboot編譯過程詳細分析
現在的uboot已經做得和kernel很像,最主要的一點是,uboot也使用了dtb的方法,將設備樹和代碼分離開來(當然可以通過宏來控制)。
發表于 12-11 15:39
?3.1w次閱讀
一文分析Uboot啟動流程
Uboot是嵌入式系統中最常用的bootloader,這里我們以s3c2410為例分析一下uboot的啟動流程。首先通過uboot的鏈接文件,我們可以看到
評論