我想知道你是否可以帮助我解决我在裸机上开发i.MX6 SoloX时遇到的一些问题。我正在查看此链接https://community.nxp.com/docs/DOC-106253并下载文件以用作如何为i.MX6开发裸机c代码的示例。
然后我根据本教程https://community.nxp.com/docs/DOC-103736设置我的eclipse环境,但只是工具链,因为我对处理器专家不感兴趣。
由于我在Linux上工作,我没有安装Code Sourcery,而是使用我安装的gcc-arm-none-eabi:
$ sudo apt-get install gcc-arm-none-eabi
因此,我必须分别为 rm 和 make 更改 cs-rm 和 cs-make
我能够使用下载的代码创建一个eclipse项目并配置项目以使其正常工作,但是,我遇到了第一个错误:
main.c:8:19: fatal error: stdio.h: No such file or directory
#include <stdio.h>
^
compilation terminated.
make: *** [cortex_A9/main.o] Error 1
cortex_A9/subdir.mk:24: recipe for target 'cortex_A9/main.o' failed
我能够解决它在 project&gt;的include目录中添加&#34; / usr / include&#34; 特性。但我不确定这是否是解决此错误的正确方法。
修正此错误后我得到了一个新错误:
syscalls.c:168:1: error: unknown type name 'caddr_t'
caddr_t _sbrk(int incr)
为了解决这个问题,我必须明确包含&#34; /usr/include/x86_64-linux-gnu/sys/types.h" 这个文件,而且我也不会;不知道这是否是解决问题的正确方法。
现在已经消除了这两个错误,我有以下一个:
Building target: imx6-A9.elf
Invoking: Cross ARM C Linker
arm-none-eabi-gcc -mcpu=cortex-a9 -march=armv7-a -marm -mlittle-endian -mfloat-abi=softfp -mfpu=neon -mno-unaligned-access -fno-zero-initialized-in-bss -O0 -g -T "/home/mmalagon/iMX6/MX6SX_hello_MFG/cortex_A9/mx6slx.ld" -nostartfiles -Wl,-Map,"imx6-A9.map" -o "imx6-A9.elf" ./cortex_A9/main.o ./cortex_A9/syscalls.o ./cortex_A9/uart.o
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: cannot find -lg
makefile:42: recipe for target 'imx6-A9.elf' failed
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status
make: *** [imx6-A9.elf] Error 1
我还没能解决。
我不知道这个错误是否是我解决之前两个错误的结果。
有谁知道如何正确设置eclipse for i.MX6裸机开发?
非常感谢您的帮助!!
答案 0 :(得分:0)
如果您想在不使用CodeSourcery的情况下为i.MX6SoloX开发裸机代码,那么您需要执行此操作:
sudo apt-get install gcc-arm-none-eabi libnewlib-arm-none-eabi -y
然后在&中选择&#34;自定义(arm-none-eabi-gcc)&#34; 项目&gt;设置&gt; C / C ++ Build #39;工具链&#39;标签