在 Code Blocks 中開發 STM32F10x


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   且添加 core_cm3.c 

5 加入頭文件搜索目錄:

6 添加連接腳本

 

7 添加定義宏: 

  STM32F10X_MD

  USE_STDPERIPH_DRIVER

 

7.1 添加以及編譯選項:

  7.1.1  C99編譯選項:  -std=c99 (注意:不是 mdk中 的 --c99)

  7.1.2 CPU框架:-mcpu=cortex-m3 -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)

 

 

/******************************************************************/

8 還存在問題:

 在有用到 __WFI() 和 __WFE() 時編譯有錯誤:表示MCPU不支持這個語句,可能還是哪里還需要設置為STM32的MCU

 

但是當我加入編譯選項 -mcpu=stm32f103c8 后,編譯提示: cc1.exe: error: bad value (stm32f103c8) for -mcpu switch

可能當前的Sourcery G++ Lite 還沒有支持 STM32  

 

在這里求助,希望知道的大俠,留言給我,解決這個問題,謝謝了!!!!

 

已解決:即 添加編譯選項:-mcpu=cortex-m3 -mthumb  即可!!

http://www.amobbs.com/forum.php?mod=viewthread&tid=5538067&page=1#pid6745848  在阿莫電子論壇發帖得到高手幫助)


免責聲明!

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



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