在代码移植中,经常遇到iar的代码转换问题,在此不间断记录一些,个人感觉还是IAR的更接近C一些,备查:
1. #ifdef的使用
// IAR
#ifdef MACRO_XX
#endif
// MDK(行首有空格)
IF :DEF:MACRO_XX
ENDIF
2. 声明全局变量/函数
// IAR
PUBLIC
// MDK
EXPORT
3. 引用外部变量/函数
// IAR
EXTERN
// MDK
IMPORT
4. 函数的实现
MDK不允许加":",IAR均可
5. 数据段(FREE_MEM)的定义
// IAR:
RSEG FREE_MEM:DATA
PUBLIC __tx_free_memory_start
__tx_free_memory_start
DS32
// MDK
AREA FREE_MEM, DATA, READWRITE
EXPORT __tx_free_memory_start
__tx_free_memory_start
SPACE
6. 代码段的定义
// IAR
SECTION `.text`:CODE:NOROOT()
// MDK
AREA |.text|, CODE, READONLY
7. 待续…
手机扫一扫
移动阅读更方便
你可能感兴趣的文章