stm32在keil和IAR中的汇编启动代码不相同

最近学习cortex-A8内核的soc,在Linux环境下开发,从汇编到C、uboot分析移植。过程中发现,使用A8的汇编和keil中的汇编同是arm内核的,却不太相同。然后大概的查了一下是因为编译器不同。

其实从stm32标准库中提供的文件我们就可以看出一这一问题的答案。

在ST提供的标准库中提供了针对不同编译器的启动代码,如下图

可以看出一共有针对4种编译工具的启动代码

第一个arm编译器,keil用的就是这个代码

第二个gcc编译器

第三个iar编译器,一看就是iar的

第四个trueSTUDIO,这是意法半导体公司针对STM32开发的一款全新的编译软件。

Gcc和truestudio的启动文件语法上基本相同。

所以不同的编译器会对汇编代码有影响,对C文件影响不大。如果要把keil的工程移植到IAR,则需要注意这方面的问题。

因此,如果要做一些涉及底层汇编的操作,不同的编译器对应不同的汇编语法,要选择的话感觉使用GCC汇编比较好,通用性会更好一些。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值