0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

記錄一下uboot編譯的問題

冬至子 ? 來源:小陳學(xué)不停 ? 作者:小陳學(xué)不停 ? 2023-07-21 16:05 ? 次閱讀

前幾天編譯uboot時(shí)遇到一些問題,先記錄一下,linux嵌入式開發(fā)還是蠻意思的,要想玩的溜,就必須掌握最基本的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

在最后一行加入環(huán)境變量

export PATH=$PATH:~/gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux/bin/

使配置生效

source /etc/profile

2.3 查看版本

arm-linux-gnueabihf-gcc -v

這里會報(bào)錯(cuò)

bash: /...-gcc: No such file or directory

沒人任何提示信息,讓人摸不著頭腦,搜索這個(gè)問題,發(fā)現(xiàn)是少了庫,于是

apt-get install lib32z1

又報(bào)錯(cuò)了

error while loading shared libraries: 
libstdc++.so.6: cannot open shared object file:
 No such file or directory

這次報(bào)錯(cuò)倒是有提示信息,這樣就簡單了,安裝缺少的庫就可以了

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 接上串口線

1.jpg

2.5.2 復(fù)制鏡像文件到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#
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3593

    瀏覽量

    129472
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    593

    瀏覽量

    27397
  • SD卡
    +關(guān)注

    關(guān)注

    2

    文章

    565

    瀏覽量

    63899
  • Uboot
    +關(guān)注

    關(guān)注

    4

    文章

    125

    瀏覽量

    28230
  • 交叉編譯器
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    7542
收藏 人收藏

    評論

    相關(guān)推薦

    Ubuntu系統(tǒng)編譯OpenCV4.8源碼記錄

    支持,所以就用這個(gè)開發(fā)板給大家演示一下如何在烏班圖系統(tǒng)編譯OpenCV4.8源碼與如何編譯執(zhí)行OpenCV C++應(yīng)用。
    的頭像 發(fā)表于 10-27 16:07 ?1652次閱讀
    Ubuntu系統(tǒng)<b class='flag-5'>下</b><b class='flag-5'>編譯</b>OpenCV4.8源碼<b class='flag-5'>記錄</b>

    請教一下uboot的網(wǎng)卡驅(qū)動程序

    請教一下,在uboot的網(wǎng)卡驅(qū)動程序,為什么只要發(fā)送中斷請求,就會調(diào)用驅(qū)動中的發(fā)送函數(shù),只要有接收中斷就調(diào)用驅(qū)動中接收函數(shù)呢,我沒有看到驅(qū)動中的接收函數(shù)或發(fā)送函數(shù)與中斷服務(wù)程序綁定起來啊,那為什么只要有相應(yīng)的中斷來就會調(diào)用發(fā)送
    發(fā)表于 10-27 12:51

    【LOFT-Q試用】編譯環(huán)境搭建 和 編譯uboot

    今天終于把GitHub中的代碼和工具都下載下來了.編譯個(gè)uboot來試試安裝文件指引,先裝一下工具source loftq-build/sunxi_env.sh但安裝過程需要用到 GCC. 我的版本
    發(fā)表于 05-24 23:06

    【Rico Board試用體驗(yàn)】uboot和、內(nèi)核編譯和燒錄

    本帖最后由 jeffc_good 于 2016-11-8 00:03 編輯 通過編譯uboot以及內(nèi)核,可以熟悉一下整個(gè)的開發(fā)環(huán)境。首先是進(jìn)去Bootloader目錄,將壓縮
    發(fā)表于 11-08 00:01

    記錄一下arm裸板編程出現(xiàn)的問題

    led. o -o led.elf ,錯(cuò)寫成 arm-linux-ld -Ttext 0 led. o start.o -o led.elf在連接的時(shí)候必須將啟動文件放在第的位置,因?yàn)槭窃趕tart文件中調(diào)用的其他函數(shù),這種錯(cuò)誤在make時(shí)不會出現(xiàn)錯(cuò)誤,記錄
    發(fā)表于 03-23 11:07

    iTOP4412精英版Ubuntu16.04系統(tǒng)編譯uboot

    令“cd”(定要使用 root 賬戶),接著使用“vim .bashrc”命令,打開環(huán)境變量配置文件。修改環(huán)境變量配置文件最底行(取消注釋),如下圖所示。接著還需要更新一下環(huán)境變量,如下圖所示,使用命
    發(fā)表于 09-03 10:56

    uboot2012配置編譯后USB串口無輸出是怎么回事?

    買了開發(fā)板后想自己配置一下uboot,然后就按老師的視頻步來,uboot1.1.6打完patch后
    發(fā)表于 10-10 05:38

    uboot編譯出來不能用該怎么辦?

    使用如上的uboot_1.1.6_OpenJTAG_2g 進(jìn)行編譯生產(chǎn)的bin文件才是可以用的。我想問一下這兩個(gè)區(qū)別是啥,在視頻中韋老師編譯生成的u
    發(fā)表于 10-10 03:40

    按照手冊中uboot編譯方法報(bào)錯(cuò)怎么解決?

    想問一下,我換了個(gè)uboot,應(yīng)該如何編譯?按照手冊中uboot編譯方法,報(bào)錯(cuò)。
    發(fā)表于 01-13 09:42

    簡單看一下鴻蒙系統(tǒng)中u-boot代碼的編譯步驟流程

    u-boot在鴻蒙系統(tǒng)中的作用就不說了,這里只簡單看一下鴻蒙系統(tǒng)中u-boot代碼的編譯步驟流程。u-boot的源代碼部署在://device/hisilicon/third_party/uboot
    發(fā)表于 03-29 14:15

    簡單分析一下rk3399-uboot的源碼

    使用的配置文件是:下載uboot原生的代碼和瑞芯微提供的源碼進(jìn)行對比,首先肯定對比一下Makefile發(fā)現(xiàn)差異如下:這段其實(shí)只是指定交叉編譯工具鏈沒什么好解釋的。
    發(fā)表于 04-15 11:57

    用OK_MX6X_C_V1.1開發(fā)板移植一下新的Uboot出錯(cuò)是什么原因

    各位好,我想用OK_MX6X_C_V1.1開發(fā)板移植一下新的Uboot,如Uboot2017.11,移植編譯直出現(xiàn)這個(gè)錯(cuò)誤,如圖,請問這個(gè)
    發(fā)表于 11-29 07:56

    uboot編譯過程詳細(xì)分析

    現(xiàn)在的uboot已經(jīng)做得和kernel很像,最主要的點(diǎn)是,uboot也使用了dtb的方法,將設(shè)備樹和代碼分離開來(當(dāng)然可以通過宏來控制)。
    發(fā)表于 12-11 15:39 ?3.1w次閱讀

    AM335x UBOOT移植編譯命令詳細(xì)概述

    本文的主要內(nèi)容是TI的產(chǎn)品AM335x 的UBOOT移植編譯命令詳細(xì)概述
    發(fā)表于 04-24 16:26 ?37次下載
    AM335x <b class='flag-5'>UBOOT</b>移植<b class='flag-5'>編譯</b>命令詳細(xì)概述

    文分析Uboot啟動流程

    Uboot是嵌入式系統(tǒng)中最常用的bootloader,這里我們以s3c2410為例分析一下uboot的啟動流程。首先通過uboot的鏈接文件,我們可以看到
    的頭像 發(fā)表于 06-20 10:03 ?5007次閱讀