新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > OK6410-A編譯u-boot時遇到的問題及解決

        OK6410-A編譯u-boot時遇到的問題及解決

        作者: 時間:2016-11-21 來源:網絡 收藏

        以下紅色是Shell操作, #是終端提示符一般不用手動輸入
        Ubuntu是最新版本V11
        我的交叉編譯器下的文件列表:
        root@ubuntu:/usr/local/arm/4.3.2/bin# ls
        arm-linux-addr2linearm-none-linux-gnueabi-addr2line
        arm-linux-ar arm-none-linux-gnueabi-ar
        arm-linux-as arm-none-linux-gnueabi-as
        arm-linux-c++ arm-none-linux-gnueabi-c++
        arm-linux-c++filt arm-none-linux-gnueabi-c++filt
        arm-linux-cpp arm-none-linux-gnueabi-cpp
        arm-linux-g++ arm-none-linux-gnueabi-g++
        arm-linux-gcc arm-none-linux-gnueabi-gcc
        arm-linux-gcc-4.3.2arm-none-linux-gnueabi-gcc-4.3.2
        arm-linux-gcov arm-none-linux-gnueabi-gcov
        arm-linux-gdb arm-none-linux-gnueabi-gdb
        arm-linux-gdbtui arm-none-linux-gnueabi-gdbtui
        arm-linux-gprof arm-none-linux-gnueabi-gprof
        arm-linux-ld arm-none-linux-gnueabi-ld
        arm-linux-nm arm-none-linux-gnueabi-nm
        arm-linux-objcopy arm-none-linux-gnueabi-objcopy
        arm-linux-objdump arm-none-linux-gnueabi-objdump
        arm-linux-ranlib arm-none-linux-gnueabi-ranlib
        arm-linux-readelf arm-none-linux-gnueabi-readelf
        arm-linux-size arm-none-linux-gnueabi-size
        arm-linux-sprite arm-none-linux-gnueabi-sprite
        arm-linux-strings arm-none-linux-gnueabi-strings
        arm-linux-strip arm-none-linux-gnueabi-strip

        按照文檔Make配置文件的時候

        本文引用地址:http://www.104case.com/article/201611/319458.htm

        # make smdk6410_config

        顯示
        /usr/local/arm/4.3.2/bin/arm-linux-gcc: line 3: exec: arm-none-linux-gnueabi-gcc: not found
        Configuring for smdk6410 board which boot from...

        而我將Makefeile文件中的路徑改寫:
        CROSS_COMPILE = /usr/local/arm/4.3.2/bin/arm-linux-改成CROSS_COMPILE = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-
        然后make clean之后編譯 仍然出錯:
        末尾如下錯誤
        /forlinx/uboot1.16/include/configs/smdk6410.h:347:2:error: #error RAM size must be defined
        /forlinx/uboot1.16/include/configs/smdk6410.h:522:3: error: #error Define one of CONFIG_BOOT_{NAND|MOVINAND|ONENAND|ONENAND_IROM}
        make[1]: *** No rule to make target `.depend, needed by `_depend.Stop.
        make[1]: Leaving directory `/forlinx/uboot1.16/post/cpu
        make: *** [depend] Error 2

        后來在QQ群big_fish和砂鍋米線的幫助下找到問題。原來是OK6410里自帶光盤的u-boot編譯使用的命令參數和論壇里最新版及操作手冊的命令參數不一樣。
        最新版的命令操作是#make forlinx_nand_ram256_config
        老版本是#make smdk6410_config
        也希望以后論壇Relese的時候能將操作手冊和鏡像打包在一個壓縮包里

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

        另外,也可以通過如下命令將交叉編譯器中的所有的arm-none-linux-gnueabi-* 鏈接成arm-linux-*:

        #ls-sarm-none-linux-gnueabi-gccarm-linux-gcc

        將路徑加入到環境變量時也可以使用如下命令:
        #PATH=/usr/local/arm/4.3.2/bin:$PATH
        總結:
        1. 末尾如下錯誤
        /forlinx/uboot1.16/include/configs/smdk6410.h:347:2:error: #error RAM size must be defined
        /forlinx/uboot1.16/include/configs/smdk6410.h:522:3: error: #error Define one of CONFIG_BOOT_{NAND|MOVINAND|ONENAND|ONENAND_IROM}
        make[1]: *** No rule to make target `.depend, needed by `_depend.Stop.
        make[1]: Leaving directory `/forlinx/uboot1.16/post/cpu
        make: *** [depend] Error 2
        一般是編譯時編譯config文件的參數用錯了,確定一下u-boot 是較早還是較新的,分別選擇#make smdk6410_config或#make forlinx_nand_ram256_config
        2. 編譯時顯示如下錯誤
        顯示
        /usr/local/arm/4.3.2/bin/arm-linux-gcc: line 3: exec: arm-none-linux-gnueabi-gcc: not found
        Configuring for smdk6410 board which boot from...
        將路徑加入到環境變量時也可以使用如下命令:
        #PATH=/usr/local/arm/4.3.2/bin:$PATH



        關鍵詞: OK6410-A編譯u-boo

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 彰武县| 凉城县| 漳州市| 江阴市| 湘潭县| 古丈县| 开阳县| 彝良县| 普洱| 松江区| 文水县| 都兰县| 江华| 广汉市| 马山县| 卢湾区| 中超| 九龙坡区| 宁明县| 象山县| 景宁| 舞钢市| 滁州市| 康乐县| 扶沟县| 镇原县| 阳信县| 新龙县| 巨鹿县| 东阿县| 丹巴县| 改则县| 浙江省| 诸暨市| 津市市| 垣曲县| 彰武县| 苗栗县| 县级市| 牡丹江市| 漯河市|