关于使用Makefile进行GCC编译报错问题解决方法
来源:互联网 发布:python格式化输出数字 编辑:程序博客网 时间:2024/06/11 19:47
汇编代码如下:
_start: ldr r0, =0x11111111 ldr r1, =0xE0200240 str r0, [r1] ldr r0, =0x0 ldr r1, =0xE0200244 str r0, [r1]flag: b flag
Makefile代码如下:
led.bin: start.o arm-linux-ld -Ttext 0x0 -o led.elf $^ arm-linux-objcopy -O binary led.elf led.bin arm-linux-objdump -D led.elf > led_elf.dis gcc mkv210_image.c -o mkx210 ./mkx210 led.bin 210.bin%.o : %.S arm-linux-gcc -o $@ $< -c%.o : %.c arm-linux-gcc -o $@ $< -c clean: rm *.o *.elf *.bin *.dis mkx210 -f
进行make,但是报错,如下:
as -o start.o start.sstart.s: Assembler messages:start.s:2: Error: no such instruction: `ldr r0,=0x11111111'start.s:3: Error: no such instruction: `ldr r1,=0xE0200240'start.s:4: Error: invalid char '[' beginning operand 2 `[r1]'start.s:6: Error: no such instruction: `ldr r0,=0x0'start.s:7: Error: no such instruction: `ldr r1,=0xE0200244'start.s:8: Error: invalid char '[' beginning operand 2 `[r1]'start.s:10: Error: no such instruction: `b flag'make: *** [start.o] Error 1
是什么原因呢?
Makefile中的依赖也没有写错,汇编也没有错,为什么编译不了而报错呢?原因很傻瓜,就是因为start.s写错了,后缀名要大写,写成:start.S,就可以编译成功了。
arm-linux-gcc -o start.o start.S -carm-linux-ld -Ttext 0x0 -o led.elf start.oarm-linux-ld: warning: cannot find entry symbol _start; defaulting to 00000000arm-linux-objcopy -O binary led.elf led.binarm-linux-objdump -D led.elf > led_elf.disgcc mkv210_image.c -o mkx210./mkx210 led.bin 210.bin
0 0
- 关于使用Makefile进行GCC编译报错问题解决方法
- 关于使用Makefile进行GCC编译报错问题解决方法
- Makefile 编译报错
- GCC编译报错
- gcc 编译报错
- 常见gcc编译问题解决方法集
- Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D
- Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D
- Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D
- Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D
- Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D
- Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D
- Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D
- Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D
- Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D
- 关于引用网络echarts.js报错的问题解决方法
- 使用makefile替换Keil进行编译
- 使用makefile替换Keil进行编译
- iOS开发之使用XMPPFramework实现即时通信(二)
- Ubuntu 14.04 下安装adt opencv等
- Git忽略规则及.gitignore规则不生效的解决办法
- c++各容器使用心得
- ZZULIOJ-1874: 蛤玮学计网
- 关于使用Makefile进行GCC编译报错问题解决方法
- ResultSet转换List集合、附带转换json
- SharePoint 2013 使用 RBS 功能将二进制大型对象 BLOB 存储在内容数据库外部。
- ios htttp网络请求cookie的读取与写入(NSHTTPCookieStorage)
- Pixhawk之姿态解算篇(3)_源码姿态解算算法分析
- Hash时取模为什么要模质数
- java学习笔记(三)
- Android开发中,那些让你相见恨晚的方法、类或接口
- 算法复习——归并排序