stm32开发环境:vs201x+visualGDB+cubemx开发stm32程序

上次折腾足足1天没有搭起来开发环境,最终不得不屈服于keil。心里憋屈啊。今天重打锣鼓,再战,终于跑通vs2019+cubemx的stm32开发环境。

话说自从使用vs2019+c#开发过上位机后,就对vs智能的代码补全等编程辅助功能非常感兴趣。对比之下keil的编辑辅助功能就是一坨翔,无比想把mcu开发环境从keil上迁移出来。

考虑过vscode,但看开发个单片机又要搞python,又要写makefile,不符合我这个嵌入式彩笔朴素的需求:低脑细胞消耗量!so pass...

回来看看亲切的vs2019,安装了visualGDB之后她是支持嵌入式工程开发的,可以使用arm-eabi工具链编译,可以使用visualGDB调试。

主要的思路是用cubemx生成这个东东,GPDSC文件,以及工程文件。然后使用vs2019建立新的嵌入式工程,读入这个文件,建立工程。

1,vs2019开新工程,类型选择

注意,这个项目类型只有在安装visualGDB插件后才会出现;

BTW,visualGDB支持vs2019的版本并不好找,建议使用vs2017,我是软件只要能用就用新不用旧,找合适版本的GDB花了不少功夫;

2,在这之前,需要如下东西:

arm toolchain 工具链用于编译工程,stm32 devices是元件库, openOCD是调试工具。这些东西最好提前下载好。sysprogs的下载速度... emmmm... 50MB我下载了1个小时。

3,先执行下载下来的arm-eabi_xxxx.exe工具链安装程序,然后开个vs窗口,工具-visualGDB-manage visualGDB packages装好剩下那俩。

4,接步骤1,打开cubemx并配置好工程参数,工具链/IDE选择 Other Toolchains,生成GPDSC文件以及工程文件;

BTW:这里有坑,vs不像keil可以直接更新 keil工程文件 读取工程内子文件变化(至少我还没找到法子),因此cubemx最好一次配置到位,省的之后费劲。同样是这个原因,最好选择copy all used libraries

5,回到vs2019,开始配置embedded类型新工程

嗯,然后你就可以在2019中(早期版本也可以导入)导入cubemx生成的GPDSC文件。在device selection那一步,如果你之前没有下载好stm32 device文件,你就得等着GDB从sysprogs的土豆服务器上把这玩意儿扒拉下来。或者可以打开坎巴拉放松一下? debug Method选usb device,如果插着stlink GDB可以自动识别,剩下的我懒得打字截图了,请自行琢磨吧。

6,好了,点击finish,恭喜工程导入成功。如果没有启用freeRTOS,那么只需要检查下资源管理器里 源文件-StartUp文件夹下system_stm32f1xx.c文件能否打开即可。不能打开需要删掉该文件,并重新添加core/src下同名文件。再打开main.c看看有没有提示未include的头文件,有的话按照vs代码提示加入引用路径即可,剩下的不用看了。

 

BUT,如果你跟我一样非常悲剧使用了freeRTOS,那么事儿还没完。干完这一步生成一下,一堆错误。主要集中在osThreadID_t未声明,osThreadNew函数未声明等问题上。别着急,看下编辑框顶部vs的提示,会提示cmsis_os.h未引用,但给出的引用建议跑到这里去了。这是绝对不行的。要知道freeRTOS的相关源码全部在这个路径里,

关联关系大概是freertos.c引用了cmsis_os.h,cmsis_os.h又引用了cmsis_os2.h 

解决方案是为header files-stm32cube hal-freertos文件夹下增加未引用的头文件,

为source files-stm32cube hal-freertos文件夹增加cmsis_os2.c源文件。

如果一切正常,那么当你修改完之后再点生成,就能改可以愉快地看到一下界面了:

 

BTW,如果依然不行,keil开一个相同工程,对照着keil工程检查未声明函数对应的头文件是否被引用吧。

thats all.

btw1,我只试过烧写,调试还没来及试... 有空更新(没空咕咕咕

btw2,这里使用的freertos-cmsisv2

btw3,非常不建议导入之后再修改工程引用的hal文件(增删),建议一次到位

btw4,想起来再说,先睡了。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值