STM32中ARM系列編譯工具鏈的編譯宏選擇(__CC_ARM、__ICCARM__、__GNUC__、__TASKING__)


一 前言

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繪制編輯、拓撲邏輯自動布線、信號完整性分析和設計輸出等技術的完美融合,為設計者提供了全新的設計解決方案,使設計者可以輕松進行設計,熟練使用這一軟件使電路設計的質量和效率大大提高。  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM