mdk/iar汇编区别
在代码移植中,经常遇到iar的代码转换问题,在此不间断记录一些,个人感觉还是IAR的更接近C一些,备查:
1. #ifdef的使用
1 // IAR 2 #ifdef MACRO_XX 3 #endif 4 5 // MDK(行首有空格) 6 IF :DEF:MACRO_XX 7 ENDIF
2. 声明全局变量/函数
1 // IAR 2 PUBLIC 3 4 // MDK 5 EXPORT
3. 引用外部变量/函数
1 // IAR 2 EXTERN 3 4 // MDK 5 IMPORT
4. 函数的实现
MDK不允许加":",IAR均可
5. 数据段(FREE_MEM)的定义
1 // IAR: 2 RSEG FREE_MEM:DATA 3 PUBLIC __tx_free_memory_start 4 __tx_free_memory_start 5 DS32 4 6 7 // MDK 8 AREA FREE_MEM, DATA, READWRITE 9 EXPORT __tx_free_memory_start 10 __tx_free_memory_start 11 SPACE 4
6. 代码段的定义
1 // IAR 2 SECTION `.text`:CODE:NOROOT(2) 3 4 // MDK 5 AREA |.text|, CODE, READONLY
7. 待续...
博客园:http://www.cnblogs.com/linux-farmer/