• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

Allwinner H3的交叉编译开发环境搭建问题

micro虾米 2018-02-06 浏览量:2317
请问Nanopi M1也就是Allwinner H3的交叉编译开发环境怎么搭建,我把gcc-linaro-arm.tar.xz解压后得到的gcc-linaro目录复制到/usr/local/arm目录,并修改PATH为:/home/mcy/bin:/home/mcy/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/arm/gcc-linaro,还是不能使用arm-linux-gnueabi-交叉编译工具,提示这个工具找不到。请问这是怎么回事,是不是哪里操作出了问题?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这个工具是要解压并添加到环境变量中的。

    添加方法,在/etc/profile中最后添加,PATH=$PATH:工具路径

    捕获v5apiu.PNG

    • 发布于 2018-02-09
    • 举报
    • 评论 2
    • 0
    • 0
micro虾米 回复了 汉云:你好,非常感谢你的回答,用这个交叉编译工具已经设置好了PATH,但是编译内核的时候总是报错,编译,make menuconfig ARCH=arm CROSS_COMPILE=arm-cortexa9-linux-gnueabihf-,但是编译出错, HOSTLD scripts/kconfig/mconf scripts/kconfig/mconf.o:在函数‘show_help’中: mconf.c:(.text+0x6a4):对‘stdscr’未定义的引用 scripts/kconfig/mconf.o:在函数‘main’中: mconf.c:(.text.startup+0x6c):对‘initscr’未定义的引用 mconf.c:(.text.startup+0x73):对‘stdscr’未定义的引用 scripts/kconfig/lxdialog/checklist.o:在函数‘print_arrows’中: checklist.c:(.text+0x2c):对‘wmove’未定义的引用 checklist.c:(.text+0x4c):对‘acs_map’未定义的引用 checklist.c:(.text+0x54):对‘waddch’未定义的引用 checklist.c:(.text+0x66):对‘waddnstr’未定义的引用 checklist.c:(.text+0x76):对‘wmove’未定义的引用... 回复
电子老工程师 回复了 :MAX3058ASA+T Maxim Integrated 回复

其他答案 数量:5
  • 可以到NanoPi的wiki上面参照教程搭建编译环境
    • 发布于2018-02-06
    • 举报
    • 评论 7
    • 0
    • 0
micro虾米 回复了 辛迪可乐 :wiki上边的方法是把交叉编译工具拷贝到bsp中,用脚本编译生成整个固件,但是我现在需要用交叉编译工具单独编译驱动,用wiki中的方法不适用。 回复
辛迪可乐 回复了 辛迪可乐 :sudo apt-get install libc6-armel-cross libc6-dev-armel-cross binutils-arm-linux-gnueabi libncurses5-dev 回复
辛迪可乐 回复了 辛迪可乐 :sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi 回复
micro虾米 回复了 辛迪可乐 :这个直接安装的gcc-arm-linux-gnueabi工具编译的程序在H3芯片上不能跑吧? 回复
电子老工程师 回复了  :不能替代。最大电流输出不同。 SI8261BCC-C-ISR:4A SI8261ACC-C-IS :600mA 回复
电子老工程师 回复了  :尾缀包装区别,产品同一物料
回复
电子老工程师 回复了  :输出配置电流不同 回复

  • 先查一下有没ARM GCC编译器,命令arm-linux-gcc -v
    • 发布于2018-02-07
    • 举报
    • 评论 8
    • 0
    • 0
micro虾米 回复了 chen0000009 :没有这个,arm-linux-gcc -v 后是,未找到命令,arm-linux-gcc:未找到命令 回复
chen0000009 回复了 micro虾米 :那就是还没安装,最好去网上自行找一个安装 回复
micro虾米 回复了 chen0000009 :请问arm-linux-gcc和arm-linux-gnueabi-gcc有什么区别吗?我不太理解 回复
chen0000009 回复了 chen0000009 :如果你是Ubuntu系统,直接用sudo apt-get install gcc-arm-linux-gnueabi安装,此外EABI的兼容性比较好 回复
chen0000009 回复了 micro虾米 :如果你是Ubuntu系统,直接用sudo apt-get install gcc-arm-linux-gnueabi安装,此外EABI的兼容性比较好 回复
micro虾米 回复了 chen0000009 :$ arm-linux-gnueabi-gcc -v Using built-in specs. COLLECT_GCC=arm-linux-gnueabi-gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/arm-linux-gnueabi/5/lto-wrapper Target: arm-linux-gnueabi Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-armel-cross/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-armel-cross --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-armel-cross --with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libgcj --enable-objc-gc --enable-multiarch --enable-multilib --disable-sjlj-exceptions --with-arch=armv5t --with-float=soft --disable-werror --enable-multilib --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=arm-linux-gnueabi --program-prefix=arm-linux-gnueabi- --includedir=/usr/arm-linux-gnueabi/include Thread model: posix gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) ,这个工具安装成功了,但是还是不能够编译内核和驱动程序 回复
chen0000009 回复了 micro虾米 :编译有什么提示? 回复
电子老工程师 回复了  :TFM-115-01-L-D-RE2-WT 包装管装1-26pcs。 回复

  • http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M1/zh


    捕获v43rsf.PNG

    • 发布于2018-02-08
    • 举报
    • 评论 3
    • 0
    • 0
micro虾米 回复了 汉云 :你好,这个交叉编译工具,在编译生成固件时,无需解压,可以自动便已完成。但是在用该平台的编译环境交叉编译要在该板子上运行的程序或者驱动时,就需要单独把交叉编译工具弄出来编译了 回复
汉云 回复了 micro虾米 :那应该不是使用这个编译工具了,在他们的百度云里还有一个linux的gcc工具,应该是使用那个了 回复
电子老工程师 回复了  :https://www.marvell.com/content/dam/marvell/en/products/assets/automotive/ethernet/documents/marvell-automotive-ethernet-88ea6321-product-brief-2019-03.pdf 回复

  • 问题已解决,多谢各位朋友的热情帮助。

    编译程序使用的交叉编译工具和生成固件时使用的不是同一个工具。编译驱动时需要先编译内核,但是不能使用生成固件时编译好的内核,因为两种方法用的交叉编译工具不一样。必须自己用编译程序用的交叉编译工具,再编译一次内核才能使用,不过编译内核时候的.config文件可以一样。

    • 发布于2018-02-10
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :前缀SZ 代表该料是汽车级, 回复

  • 交叉环境编译主要是看虚拟机的,因为你在板子上面直接编译就好了,用gcc或者g++指令直接编译源文件,虚拟机交叉编译主要是arm-linux-gcc,这个要安装相应的软件包才行的。

    • 发布于2018-02-27
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :TCLT1600 Vishay Semiconductor Opto Division 回复

相关问题

问题达人换一批

Allwinner H3的交叉编译开发环境搭建问题