一 前言
stm32 f103中。關系到一個選擇何種編譯宏的問題。這里就梳理一下吧。
二 正文
1 在 core_cm3.h 文件中,有如下代碼:
1 #if defined ( __CC_ARM ) 2 #define __ASM __asm /*!< asm keyword for ARM Compiler */ 3 #define __INLINE __inline /*!< inline keyword for ARM Compiler */ 4 5 #elif defined ( __ICCARM__ ) 6 #define __ASM __asm /*!< asm keyword for IAR Compiler */ 7 #define __INLINE inline /*!< inline keyword for IAR Compiler. Only avaiable in High optimization mode! */ 8 9 #elif defined ( __GNUC__ ) 10 #define __ASM __asm /*!< asm keyword for GNU Compiler */ 11 #define __INLINE inline /*!< inline keyword for GNU Compiler */ 12 13 #elif defined ( __TASKING__ ) 14 #define __ASM __asm /*!< asm keyword for TASKING Compiler */ 15 #define __INLINE inline /*!< inline keyword for TASKING Compiler */ 16 17 #endif
2 這幾個宏都是什么含義呢?分別對應什么平台呢?
A __CC_ARM對應的平台是:ARM RealView:
RealView,是一套包含編譯、調試和模擬的開發工具,需結合開發環境如uvision、eclipse或者CodeWarrior,形成集成開發環境來使用。
B __ICCARM__對應的平台是:IAR EWARM:
Embedded Workbench for ARM 是IARSystems 公司為ARM 微處理器開發的一個集成開發環境(下面簡稱IAR EWARM)。比較其他的ARM 開發環境,IAR EWARM 具有入門容易、使用方便和代碼緊湊等特點
C __GNUC__對應的平台是:GNU Compiler Collection:
GCC的初衷是為GNU操作系統專門編寫的一款編譯器。GNU系統是徹底的自由軟件。
D __TASKING__對應的平台是:Altinum Designer;
Altium Designer 是原Protel軟件開發商Altium公司推出的一體化的電子產品開發系統,主要運行在Windows操作系統。這套軟件通過把原理圖設計、電路仿真、PCB繪制編輯、拓撲邏輯自動布線、信號完整性分析和設計輸出等技術的完美融合,為設計者提供了全新的設計解決方案,使設計者可以輕松進行設計,熟練使用這一軟件使電路設計的質量和效率大大提高。