码迷,mamicode.com
首页 > 其他好文 > 详细

mdk Arm Compiler V6注意事宜

时间:2020-07-19 16:24:51      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:and   内容   todo   type   targe   比较   arm   代码   tin   

Arm Compiler V6发布已经好久,考虑到各种麻烦,懒得转换。

近期研究iar对代码的优化,忽然发现V6版本的优化也很不错,遂对之前的代码做了一些升级,当然过程比较坎坷,一些要点记录一下:

1. 分散加载文件

; V6: armclang
#! armclang --target=arm-arm-none-eabi -mcpu=cortex-m3 -E -x c

; V5: armcc
#! armcc -E

分散加载文件中定义宏的时候,V5比较简单,V6需要修改一下。

2. C语言宏的连接问题

V5的宏连接,##对连接内容没有限制,但是V6只能连接一个符号。

比如:GPIOA##->ORD,这里面的符号“->”会出错。

3. CPU底层接口ISB

在cpu底层代码中,之前使用的__isb, 现在变成了__builtin_arm_isb,__isb会报错。

#define __ISB()        __builtin_arm_isb(0xF);

4. 数据段的定义l

1 // V5:
2 #pragma arm section rwdata="EXT_RAM" zidata="EXT_RAM"
3 #pragma arm section rwdata="" zidata=""
4 
5 // V6
6 #pragma clang section data="EXT_RAM" bss  ="EXT_RAM"
7 #pragma clang section data="" bss  =""
8 
9 In Arm Compiler 5, the section types you can use this pragma with are rodata, rwdata, zidata, and code. In Arm Compiler 6, the equivalent section types are rodata, data, bss, and text respectively.

5. TODO...

mdk Arm Compiler V6注意事宜

标签:and   内容   todo   type   targe   比较   arm   代码   tin   

原文地址:https://www.cnblogs.com/linux-farmer/p/13339684.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!