在 Code Blocks 中开发 STM32F10x

1 下载:Sourcery G++ Lite for ARM EABI

2 设置编译器路径: 从 GCC ARM 拷贝而来 改名为: Code Sourcery G++ Lite

在 Code Blocks 中开发 STM32F10x_第1张图片

3 新建ARM Project

4 添加STM32库文件,和 mdk 类似

  注意:需要添加 gcc_ride7文件夹中的  GCC的启动文件: xxx.s   且添加 core_cm3.c 

在 Code Blocks 中开发 STM32F10x_第2张图片

5 加入头文件搜索目录:

在 Code Blocks 中开发 STM32F10x_第3张图片

6 添加连接脚本

在 Code Blocks 中开发 STM32F10x_第4张图片

 

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)

在 Code Blocks 中开发 STM32F10x_第5张图片

 

 

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

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  在阿莫电子论坛发帖得到高手帮助)

你可能感兴趣的:(stm32)