使用Arm Compiler 6要求
- MDK版本:5.23及以上版本
- Keil MDK-Middleware Pack:Version 7.4.0 or higher
- Keil ARM Compiler Support Pack:Version 1.3.0 or higher
- ARM CMSIS Pack Version: 5.0.1 or higher
AC5与AC6不同之处
1. 不显示警告信息,使用-Wno-参数。这样有助于我们将关注点放在修改错误上来。关于详细的AC6警告选项请参考:http://clang.llvm.org/docs/DiagnosticsReference.html
2. AC5与AC6不兼容的语言扩展
3. AC6开始兼容GNU风格的汇编代码
// Simple GNU syntax example
// Iterate round a loop 10 times, adding 1 to a register each time.
.section .text,"x"
.balign 4
main: //
MOV w5,#0x64 // W5 = 100
MOV w4,#0 // W4 = 0
B test_loop // branch to test_loop
loop:
ADD w5,w5,#1 // Add 1 to W5
ADD w4,w4,#1 // Add 1 to W4
test_loop:
CMP w4,#0xa // if W4 < 10, branch back to loop
BLT loop
.end //
4. AC6增加了对Link时间的优化
AC6对整个程序进行分析将没有使用到的模块移除,而以前AC5只能在模块中检测。