打印
[其他ST产品]

vscode+platformIO开发STM32

[复制链接]
218|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
前言
一堆堆的项目导致一直忙忙碌碌,项目才是实战的真理哈哈哈。在持续使用vscode+pio的方式开发STM32的时间里面,也肯定不是一帆风顺,总会遇到很多奇奇怪怪的问题,不过吧遇到了就记录下来,以便后面再遇到或者有朋友遇到了,也能找到个解决办法或者提供一些解决思路。

FreeRTOS的路径问题
之前的话,我一直将FreeRTOS当作一个固定库来使用,因此再pio的目录下,我将FreeRTOS的文件夹放在lib的文件夹下面,通过一些额外的路径添加后,其实编译起来是没问题的。但是我需要的不仅仅是这样,因为我希望我的项目,不仅仅只是在当前的板卡、或者说当前的MCU来使用,如果我每个项目、板卡都需要新建一个新的工程来,重新添加不一样的freeRTOS,那我就会觉得真的很耗时间,毕竟MCU不会真的这么少,穷出不断。会发现,像我这样的,需要多种板卡来的话,比如我是用的M0的,需要切换M4F的,那就会出现编译有问题。



使用特权

评论回复
评论
狗啃模拟 2023-1-31 12:04 回复TA
———————————————— 版权声明:本文为CSDN博主「Sola_Ex」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_42312125/article/details/123956529 
沙发
狗啃模拟|  楼主 | 2023-1-31 12:01 | 只看该作者
具体原因是,freeRTOS需要适配一些平台文件,

一开始我使用的CM0的,后面在我加入CM4F之后,就会出现文件冲突报错,其实也正常,因为我并没有过滤掉不需要的文件。keil/IAR上,具有文件屏蔽编译的功能,但是我认为这个也不好用,没道理我切换一个MCU,我又是打开一个新的工程,那我就会觉得很乱。因此pio提供了一个

src_filter

使用特权

评论回复
板凳
狗啃模拟|  楼主 | 2023-1-31 12:02 | 只看该作者
关键字。它可以很好解决编译文件的关联问题,但有个缺点是,只能操作src文件夹下的文件夹或文件。下面是例子:

使用特权

评论回复
地板
狗啃模拟|  楼主 | 2023-1-31 12:03 | 只看该作者
它会使用固定的语法:
+<PTAH>, -<PATH>


使用特权

评论回复
5
狗啃模拟|  楼主 | 2023-1-31 12:06 | 只看该作者
来关联或去除指定的文件夹的源文件,这样的话,同一个项目下,希望项目可以适配更多的MCU,就可以很容易的做到,在原逻辑、应用不需要变化的前提下,直接新增[env:xxx],换default_envs = xxx,编译,下载,在另外一个MCU上直接跑起来,妈妈再也不用担心我移植好慢了。如果是不同平台的MCU当然也没问题,主要是board对应的json文件,以及相关库添加好就可以了,pio实际上是支持所有Cortex-A/R/M内核的,主要还是配置问题,用多了自然就觉得方便多了。

使用特权

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

本版积分规则

49

主题

648

帖子

0

粉丝