打印
[其他ST产品]

在PlatformIO使用CMSIS标准库开发STM32(解决冲突)

[复制链接]
575|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在PlatformIO使用CMSIS标准库开发STM32(解决冲突)
博主也是刚开始学stm32,觉得keil不好看,想用更加熟悉的VS Code来开发STM32。我学的教材用的是标准库,可是网上大部分教程都是针对HAL库的。终于找到一篇教程之后,发现复制进去的库在链接时会和PlatformIO自带的库冲突。

这是我参考的文章:


STM32F103 在VSCode下使用Platform IO 基于CMSIS标准库函数开发 - Zennn - 博客园 (cnblogs.com)


————————————————
版权声明:本文为CSDN博主「帆登」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Simgo/article/details/121285518

使用特权

评论回复
沙发
家有两宝呀|  楼主 | 2023-1-31 11:17 | 只看该作者
研究一番之后,是因为system_stm32f10x.c和PlatformIO自带的system_stm32f1xx.c冲突了,解决方法如下:

把这几个文件放进include目录,作为全局头文件。如果不想分类的话,直接放进src目录也行。
stm32f10x_conf.h
stm32f10x_it.h
stm32f10x.h
system_stm32f10x.h


然后把stm32f10x_it.c文件、FWlib目录放进src目录。、

使用特权

评论回复
板凳
家有两宝呀|  楼主 | 2023-1-31 11:29 | 只看该作者
具体结构如下:

使用特权

评论回复
地板
家有两宝呀|  楼主 | 2023-1-31 11:37 | 只看该作者
然后修改platformio.ini文件:
[env:genericSTM32F103VE]
platform = ststm32
board = genericSTM32F103VE      ; 板块
framework = cmsis               ; 标准库
upload_protocol = stlink        ; 上传工具
debug_tool  = stlink            ; 调试工具
build_flags =                   ; Build 选项
    -Isrc/FWlib/inc                                ; 添加搜索,目录
    -D STM32F10X_MD             ; 设备类型
    -D USE_STDPERIPH_DRIVER

使用特权

评论回复
5
家有两宝呀|  楼主 | 2023-1-31 11:38 | 只看该作者
如果需要使用其他容量的芯片,可以参考下面修改设备类型:
STM32F10X_LD:                 STM32 Low density devices 
STM32F10X_LD_VL:         STM32 Low density Value Line devices
STM32F10X_MD:                 STM32 Medium density devices
STM32F10X_MD_VL:         STM32 Medium density Value Line devices
STM32F10X_HD:                 STM32 High density devices
STM32F10X_HD_VL:         STM32 High density value line devices
STM32F10X_XL:                 STM32 XL-density devices
STM32F10X_CL:                 STM32 Connectivity line devices

使用特权

评论回复
6
家有两宝呀|  楼主 | 2023-1-31 11:46 | 只看该作者
注意,不需要复制core_cm3这些文件到工程目录,也省掉修改736行和753行这些操作。一般到这里就可以正常编译了,如果想调试,必须在platformio.ini文件填写调试工具。

使用特权

评论回复
7
家有两宝呀|  楼主 | 2023-1-31 11:46 | 只看该作者
虽然VS Code很好看,但是不建议在实际生产环境中使用,因为不知道有没有隐藏的bug,本教程仅供学习使用。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

583

帖子

0

粉丝