上次折腾足足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,想起来再说,先睡了。

stm32开发环境:vs201x+visualGDB+cubemx开发stm32程序相关推荐

  1. linux 搭建开发stm32 stlink,ROS2与STM32入门教程-搭建开发环境(ubuntu+eclipse+cubemx+stlink+openocd)...

    ROS2与C++入门教程-搭建开发环境(ubuntu+eclipse+cubemx+stlink+opencd) 说明: 介绍如何在ubuntu下搭建开发环境 环境:ubuntu20.04 + ecl ...

  2. Arduino IDE 玩转STM32 - 搭环境、刷固件、烧程序

    Arduino IDE 玩转STM32 - 搭环境.刷固件.烧程序 背景:有arduino经验,无STM32经验:没使用过keil,只玩过arduino IDE. 手边有两款STM32F103C8T6 ...

  3. java开发环境安装原理,java开发环境搭建 java开发环境的完整搭建过程

    想了解java开发环境的完整搭建过程的相关内容吗,Rosalh在本文为您仔细讲解java开发环境搭建的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java开发环境搭建步骤,java开发环 ...

  4. 游戏程序设计 # ch13 开发工具 # 开发语言、开发环境、腾讯开发组件、网络通信和业务框架介绍

    第十三章 开发工具 1 开发语言 2 开发环境 3 腾讯开发组件介绍 4 网络通信+业务框架介绍 第一节 开发语言 腾讯服务器主要使用的语言是C/C++ 第二节 开发环境 (指:客户端) 第三节 腾讯 ...

  5. 在python集成开发环境中、可使用快捷键运行程序_在Python集成开发环境中,可使用快捷键 运行程序。_学小易找答案...

    [单选题]UFO默认报表模板不包括 [单选题]"取消结账"的快捷功能键组合为 [多选题]在UFO报表系统中,要想在表页上联查明细帐,需要具备哪些条件. [单选题]在UFO报表中,要 ...

  6. 搭建keil开发环境,完成一个基于STM32汇编程序的编写

    一.环境配置与搭建 1.准备安装 下面附上百度网盘链接,请自行下载: mdk531的安装: 链接:https://pan.baidu.com/s/1ttrDhv6kXgAvPiYINf9iGw 提取码 ...

  7. Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序

    文章目录 为什么要学习 go 开发环境搭建 -- MAC 运行第一个go程序 go 函数的返回值设置 go 函数的命令行参数 为什么要学习 go 在如下几个应用场景的需求下产生了go: 超大规模分布式 ...

  8. Linux开发环境搭建之Java开发环境JDK安装配置

    2019独角兽企业重金招聘Python工程师标准>>> 这几天国产的Linux系统deepin15.5正式版发布了,基本上处于稳定了,受不了win10的各种卡顿和系 统封闭不能修改的 ...

  9. 项目开发环境(h5+pc的开发思路是一样的)

    一.开发环境的搭建 注释:(因为是自己的电脑开发的,所以所有的都要重新安装) 1.安装nodejs(js服务端的运行环境,构建工具的环境依赖) 2.npm 1)node.js的包管理工具 2)node ...

  10. python开发环境anaconda_搭建Python开发环境,用Anaconda + PyQt + Pycharm

    Q:为什么写这篇? 网上各种渣渣,有用的资料太少,好不容易找一个,还不是我想要的!我这个菜鸟花了整整整整两天时间来各种配置.各种坑啊各种坑,在坑里摸爬滚打总算爬了出来,写下教程,以免忘了.也希望能帮助 ...

最新文章

  1. linux系统空间不足,lsof看到异常的delete状态的文件。
  2. HDOJ 1231 最大连续子序列
  3. linux下qt实现计算器,QT实现计算器
  4. vs2008打开vs2010所做的项目的方法
  5. 【干货】2021年技术趋势:全球企业加速数字化转型-德勤.pdf(附下载链接)
  6. jQuery ajax get与post后台交互中的奥秘
  7. JAVA毕业设计婚纱摄影网设计计算机源码+lw文档+系统+调试部署+数据库
  8. 3.Maven实战 --- maven使用入门
  9. 软件推荐┊最有效防止被聚生网管、P2P终结者等管理软件控制的小工具——ARP防火墙单机版
  10. c语言程序设计ppt算法,C语言程序设计算法.ppt
  11. xshell的快捷复制粘贴设置(*)
  12. fiddler视频分析
  13. PESniffer4PEiD plugin from NEOx's 0depts by Slip
  14. NLP 实战(10): CSDN 领域榜标签分组更新
  15. h5(网页) 调用相机拍照和相册,实现图片上传功能
  16. 倍福PLC模拟量输入模块的使用方法
  17. 云计算科普——入行半年,我这样看云计算
  18. CVPR2021:百篇AR/VR关联性研究成果汇总
  19. html教程幻灯片,html教程全幻灯片.ppt
  20. oracle替换字段中指定位置的字符串

热门文章

  1. linux 监听 ipv6,zabbix 监控 ipv6
  2. vmware手动安装VMware tools
  3. java工作流_Java 实现简单工作流
  4. 用友u8怎么导出凭证_用友U8怎么导入凭证?
  5. Python: 常用的软件包
  6. web开源FlowPlayer视频播放器
  7. office密码解锁工具
  8. 基于SSM的酒店客房管理系统的设计(包含数据库、完美运行、可远程调试)
  9. 《学习笔记》使用AngularJS模板来创建视图
  10. 4G+5G多卡聚合(弱网通信)路由器视频传输最佳选择