[STM32F1] 在 Code Blocks 中开发 STM32F10x

[复制链接]
 楼主| 梵蒂冈是神uy 发表于 2022-4-29 23:37 | 显示全部楼层 |阅读模式
1 **:Sourcery G++ Lite for ARM EABI
2 设置编译器路径: 从 GCC ARM 拷贝而来 改名为: Code Sourcery G++ Lite
66017626c06246d682.png

 楼主| 梵蒂冈是神uy 发表于 2022-4-29 23:38 | 显示全部楼层
3 新建ARM Project

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

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

45433626c067c1805b.png
 楼主| 梵蒂冈是神uy 发表于 2022-4-29 23:39 | 显示全部楼层
5 加入头文件搜索目录:

48883626c06c7a97ca.png
 楼主| 梵蒂冈是神uy 发表于 2022-4-29 23:40 | 显示全部楼层
6 添加连接脚本
36382626c06fa16ce3.png
 楼主| 梵蒂冈是神uy 发表于 2022-4-29 23:41 | 显示全部楼层
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)
93363626c071a70a66.png
 楼主| 梵蒂冈是神uy 发表于 2022-4-29 23:47 | 显示全部楼层
8 还存在问题:
在有用到 __WFI() 和 __WFE() 时编译有错误:表示MCPU不支持这个语句,可能还是哪里还需要设置为STM32的MCU
46920626c0870a8655.png
但是当我加入编译选项 -mcpu=stm32f103c8 后,编译提示: cc1.exe: error: bad value (stm32f103c8) for -mcpu switch

可能当前的Sourcery G++ Lite 还没有支持 STM32  

您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

734

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

52

主题

734

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部