zoukankan      html  css  js  c++  java
  • mdk Arm Compiler V6注意事宜

    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...

    博客园:http://www.cnblogs.com/linux-farmer/
  • 相关阅读:
    ios-app提交审核问题总结
    mui混合app请求过程处理(缓存、加载、刷新机制)
    vue引入assets和static静态资源问题
    mui入门教程
    scroll.js
    jQuery.Running.js
    CSS 编码技巧
    textillate.js
    3. 戏说VHDL之入门游戏一:流水灯
    2. 流水灯小计
  • 原文地址:https://www.cnblogs.com/linux-farmer/p/13339684.html
Copyright © 2011-2022 走看看