1 下載:Sourcery G++ Lite for ARM EABI
2 設置編譯器路徑: 從 GCC ARM 拷貝而來 改名為: Code Sourcery G++ Lite
3 新建ARM Project
4 添加STM32庫文件,和 mdk 類似
注意:需要添加 gcc_ride7文件夾中的 GCC的啟動文件: xxx.s
5 加入頭文件搜索目錄:
6 添加連接腳本
7 添加定義宏:
STM32F10X_MD
USE_STDPERIPH_DRIVER
-mthumb (注意:m3 只支持thumb模式)
然後編譯文件 就OK, 了
添加編譯後步驟,得到HEX文件和代碼長度:
arm-none-eabi-objcopy.exe -O ihex $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).hex
arm-none-eabi-size.exe $(TARGET_OUTPUT_FILE)
/******************************************************************/
在有用到 __WFI() 和 __WFE() 時編譯有錯誤:表示MCPU不支持這個語句,可能還是哪裡還需要設置為STM32的MCU
但是當我加入編譯選項 -mcpu=stm32f103c8 後,編譯提示:
可能當前的Sourcery G++ Lite 還沒有支持 STM32
-mcpu=cortex-m3 -mthumb 即可!!
(http://www.amobbs.com/forum.php?mod=viewthread&tid=5538067&page=1#pid6745848 在阿莫電子論壇發帖得到高手幫助)