OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3074|回复: 8

makefile的问提?提示错误no such instruction

[复制链接]

17

主题

52

帖子

1

精华

高级会员

Rank: 4

积分
555
金钱
555
注册时间
2015-6-11
在线时间
66 小时
发表于 2022-3-25 11:31:23 | 显示全部楼层 |阅读模式
10金钱
makefile内容如下:

#cc := arm-none-linux-gnueabihf-gcc
#ld := arm-none-linux-gnueabihf-ld
#cp := arm-none-linux-gnueabihf-objcopy
#dm := arm-none-linux-gnueabihf-objdump

BIN.bin : main.o start.o
        arm-none-linux-gnueabihf-as -c -o start.o start.S
        arm-none-linux-gnueabihf-gcc -c -o main.o main.c
        arm-none-linux-gnueabihf-ld -Ttext 0x2FFC2500 start.o main.o -o ELF
        arm-none-linux-gnueabihf-objcopy -O binary -S ELF BIN.bin
        arm-none-linux-gnueabihf-objdump -D -m arm ELF > asm.txt
        stm32image -s BIN.bin -d BIN.stm32 -l 0x2FFC2500 -e 0x2FFC2500

clean:
        rm -f *.o BIN.stm32 ELF BIN.bin asm.txt
       

直接make,回报如下错误
cc    -c -o main.o main.c
cc    -c -o start.o start.S
start.S: Assembler messages:
start.S:4: 错误: no such instruction: `ldr sp,=0x30000000@设置堆栈'
start.S:6: 错误: no such instruction: `bl main@调用C程序中的main函数'
start.S:8: 错误: no such instruction: `b halt_loop'
make: *** [<内置>:start.o] 错误 1


如果先编译start.S(arm-none-linux-gnueabihf-gcc -c -o start.o start.S),然后mkae就没问题。

有没有大神知道什么原因?

start.S内容如下:

.text
.global _start
_start:
            ldr     sp, =0x30000000     @ 设置堆栈

            bl      main                @ 调用C程序中的main函数
halt_loop:
            b       halt_loop


最佳答案

查看完整内容[请看2#楼]

make之前export CC=arm-none-linux-gnueabihf-gcc就可以了。默认使用gcc,X86所以提示no such instruction
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

52

帖子

1

精华

高级会员

Rank: 4

积分
555
金钱
555
注册时间
2015-6-11
在线时间
66 小时
 楼主| 发表于 2022-3-25 11:31:24 | 显示全部楼层

make之前export CC=arm-none-linux-gnueabihf-gcc就可以了。默认使用gcc,X86所以提示no such instruction
回复

使用道具 举报

9

主题

183

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5130
金钱
5130
注册时间
2016-12-19
在线时间
622 小时
发表于 2022-3-25 13:33:29 | 显示全部楼层
BIN.bin : main.o start.o
        arm-none-linux-gnueabihf-as -c -o start.o start.S
写错了吧
回复

使用道具 举报

17

主题

52

帖子

1

精华

高级会员

Rank: 4

积分
555
金钱
555
注册时间
2015-6-11
在线时间
66 小时
 楼主| 发表于 2022-3-25 15:11:17 | 显示全部楼层
你的蓝朋友 发表于 2022-3-25 13:33
BIN.bin : main.o start.o
        arm-none-linux-gnueabihf-as -c -o start.o start.S
写错了吧

应该怎么写?
回复

使用道具 举报

9

主题

183

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5130
金钱
5130
注册时间
2016-12-19
在线时间
622 小时
发表于 2022-3-25 16:10:10 | 显示全部楼层
如果先编译start.S(arm-none-linux-gnueabihf-gcc -c -o start.o start.S),然后mkae就没问题。
自己写的不知道???
回复

使用道具 举报

17

主题

52

帖子

1

精华

高级会员

Rank: 4

积分
555
金钱
555
注册时间
2015-6-11
在线时间
66 小时
 楼主| 发表于 2022-3-25 17:05:20 | 显示全部楼层
求大神解答
回复

使用道具 举报

19

主题

136

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1056
金钱
1056
注册时间
2020-6-4
在线时间
95 小时
发表于 2022-3-25 17:23:09 | 显示全部楼层
厉害
回复

使用道具 举报

9

主题

183

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5130
金钱
5130
注册时间
2016-12-19
在线时间
622 小时
发表于 2022-3-26 17:57:58 | 显示全部楼层
heey 发表于 2022-3-25 11:31
make之前export CC=arm-none-linux-gnueabihf-gcc就可以了。默认使用gcc,X86所以提示no such instructio ...

配置到环境变量就不需要export CC=arm-none-linux-gnueabihf-gcc,难得你没有配置??
回复

使用道具 举报

19

主题

136

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1056
金钱
1056
注册时间
2020-6-4
在线时间
95 小时
发表于 2022-3-28 16:30:45 | 显示全部楼层
解决就好,楼主学习能力很强,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-29 12:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表