由于遇人不淑,项目经验坑爹(永远不要指望学校和导师),本电子类科班生硬是被整成了四不像工程师,不得不自学来找到对口的工作。本文记录STM32开发的历程,有一样的初学者可以参考借鉴。
一. 硬件设施
1.STM32F103C8T6最小系统 系统板采用stm32f103c8t6最小系统板,某宝某猫上一杯奶茶的钱即可买到
最小系统包含了电源电路(3.3V稳压),外部时钟晶振,复位电路,SWD调试接口,USB接口(串行下载),启动(BOOT)模式选择, 启动模式的选择是通过跳帽控制引脚电平实现的,串行模式要把BOOT0置1,用仿真器的不用改动。
- STLink-V2仿真器
这个是ST公司发行的配套STM8和STM32系列控制器的仿真器,可以调试和下载程序,把V3,GND,SWDIO,SWCLK与系统板上 的引脚连接即可下载和调试程序,最好买进口的,略贵但兼容性好。 3. 其他外设 带有UART串口的外设,本次使用EBYTE的E32-433T20S模块测试无线传输,注意该模块需要买两个同型号的,否则无法通 信,略贵,为了学习还是忽略这点成本。。
- 该模块支持透明/定点传输
- 带唤醒帧的透明/定点传输
- 省电模式,休眠模式(配置模式)
- 带有UART通信接口,可外接天线
- 5V/3.3V供电,AUX信号输出,AT命令配置
典型接线如下,M0,M1两个引脚用于选择工作模式:
另一个无线模块通过TTL转USB接到PC端,这个模块使用前记得安装CH341驱动:
安装驱动后接上USB口电脑就会扫描到串行设备,可以用串口调试工具向模块发送数据测试功能是否正常:
使用AT命令可以看到设备返回了型号,说明模块能正常响应命令,再打开一个COM口测试两个模块的定点传输功能,使用16 进制发送数据,可以观察到两方都能接收到对方发送的AA BB CC,这说明无线通信功能正常。
二. 开发软件
开发软件选择VSCode,相比于MDK有着舒服的编程界面,相比于其他IDE轻便许多,缺点是对于计算机知识不够的入门 程序员来说配置过程非常痛苦。。。对于学生来说,MDK应该是更好的选择,之所以我选择VSCode是因为MDK界面实在太 丑,关键是写代码提示太少,有时候还不响应,32的HAL库很多宏和变量名都巨长,在记忆不深的情况下非常影响编程效 率,而且VSCode还能写其它语言的代码,一举多得。 VSCode本身是不具备嵌入式开发功能的,它只是个编辑器,编译依赖于用户设置的外部编译器,为了在VSCode中实现 STM32的开发工作,需要先安装一些必要的插件:
(必选项)
-
EIDE(Embedded IDE)
国人开发的插件,操作简单界面简洁,必须五星好评,支持导入MDK工程,cubeIDE工程,当然也可以用Makefile编译(目前 不会),安装后可以在界面上看到左边栏多了一个芯片的图标,打开就是EIDE,可以在EIDE的工程栏配置项目文件,设置编 译器,设置烧写及debug工具,在代码区的右上角也能看到编译,下载的按钮。 -
C/C++
无需多言,嵌入式没有C等于四肢不健全。 -
Cortex-Debug
调试Cortex-M内核的芯片必备的插件,提供了寄存器、内存单元的监控功能,也提供了Jlink,STlink等仿真器的调试功 能,安装了这个插件后会提示缺少几个依赖项,把它们都装好即可。 -
code Runner
代码想跑起来得依靠这个插件
(可选项)
5. Serial Monitor
可装可不装,因为它就是一个串口调试器,为了方便在一个窗口下调试就安装。
6. Tabnine AI
AI辅助工具,能自动联想补全代码,可以提高编程效率。
其他的插件根据使用者的习惯可自行添加。
三、环境配置
VSCode的环境配置对于用惯了IDE的人来说非常不友好,在VS中只要代码一写,F5,F7直接就跑起来了,可惜的是VSCode中这样连一米都滚不出去,首先你得有高级语言的代码支持,然后编辑器想要让代码跑起来要有编译环境,还得用脚本语言告诉编辑器,编译器在哪,调用gdb还是gcc,头文件从哪里引入,生成什么文件;使用IDE只要安装了某一种高级语言支持,后面这些都不是你考虑得事,相当于使用VSCode编程就是自己动手,丰衣足食,每天要想着吃什么,买什么菜,优点是高度的自由性,而使用IDE就像雇保姆,保姆有自己的一套法则,你想改变可不容易,而且还占用你家资源(庞大的体积)。为了自由和空间,我们还是选择了VSCode,在安装第二章的插件后,还有一些环境需要配置。
- 下载GCC工具链
前往Arm官网下载GCC工具链交叉编译工具链这个压缩包解压后,需要添加到环境变量,配置在系统->系统信息->高级系统设置->环境变量->系统变量->Path中输入压缩包bin文件的路径。
注意与自己处理器的指令集对应,或者可以直接在EIDE中选择安装实用工具->GNU Arm Embedded ToolChain,相比于手动下载不会出现环境配置问题,傻瓜式操作即可。
- 下载OpenOCD
这个压缩包内包含了debug所需的配置文件,OpenOCD下载压缩包解压后,在VSCode的配置中搜索EIDE扩展项,找到OpenOCD路径设置:
选择解压的路径即可。
至此,项目前期准备工作基本完成,下一次将分享项目创建和功能实现的若干内容。
未完待续……
标签:插件,HAL,VSCode,配置,STM32,下载,模块,串口,调试 From: https://www.cnblogs.com/memleak/p/18664775