我是嵌入式新手,目前正在阅读“嵌入式 Linux 入门”。
我尝试构建一个 xscale arm 内核:
make ARCH=arm CROSS_COMPILE=xscale_be- ixp4xx_defconfig
#
# configuration written to .config
接下来是品牌:
~/linux-stable$ make ARCH=arm CROSS_COMPILE=xscale_be- zImage
make: xscale_be-gcc: Command not found
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CC kernel/bounds.s
/bin/sh: 1: xscale_be-gcc: not found
make[1]: *** [kernel/bounds.s] Error 127
make: *** [prepare0] Error 2
我已经下载并提取了 gcc-arm-none-eabi-4_9-2014q4 https://launchpad.net/gcc-arm-embedded
并设置路径
路径=/opt/gcc-arm-none-eabi-4_9-2014q4/bin/
xscale 架构是否需要另一个编译器?
有什么想法可以在哪里找到 xscale_be-gcc 吗?
答案1
我正在读同一本书,并陷入同一部分,所以......经过一些研究,我终于编译了 ixp4xx 目标的内核
从以下位置下载 ARM 工具链: 开发者arm编译器v6 然后...
$ mkdir -p ~/opt
$ cd ~/opt
$ tar xjf ~/下载/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2
$ chmod -R -w ~/opt/gcc-arm-none-eabi-6-2017-q2-update
查看安装是否正确
〜/ opt$ gcc-arm-none-eabi-6-2017-q2-update/bin/arm-none-eabi-gcc --version
输出将是这样的:
arm-none-eabi-gcc(用于 ARM 嵌入式处理器的 GNU 工具 6-2017-q2-update)6.3.1 20170620(发布)[ARM/embedded-6-branch 修订版 249437] 版权所有 (C) 2016 Free Software Foundation, Inc ...
现在您可以准备内核源代码树
使 ARCH=arm CROSS_COMPILE=~/opt/gcc-arm-none-eabi-6-2017-q2-update/bin/arm-none-eabi- ixp4xx_defconfig
最后编译...
make ARCH=arm CROSS_COMPILE=~/opt/gcc-arm-none-eabi-6-2017-q2-update/bin/arm-none-eabi- zImage
也许它不是目标的最佳编译器,或者需要内核补丁,但是......为了遵循书中的每个步骤,我认为就足够了。
BR,
答案2
你的主板是什么?你配置了内核吗?您需要配置内核以匹配您的主板并指定 corss-compile 工具链。
不是arm-none-eabi-*
裸机吗?不适用于Linux。您需要使用谁gcc-arm-none-eabi-4_9-2014q4
?
另外,您正在重置路径!做这个:
路径=$路径:/opt/gcc-arm-none-eabi-4_9-2014q4/bin/