【STM32H750B-DK评测】1. macOS开发环境建立和点灯
这次有幸收到STM32H750B-DK的测试,第一次玩STM32官方带屏的套件,学习了不少的知识。因为我的日常工作环境是macOS,所以拿到板子的第一件事情,就是在macOS下面构建开发环境。
ST提供了STM32相关的开发环境,但是主要都是Windows环境的,部分工具可以在Linux上面跑,更少一部分,可以在macOS上面跑。
经过一番时间,最终的环境如下:
1. 项目基础构建和配置:STM32CubeMX
2. 固件下载:STM32CubeProgrammer
3. 代码开发:VsCode
4. 固件下载和调试:openocd + gdb
STM32CubeMX 和 STM32CubeProgrammer的部分,不详细说明,不管哪个平台使用,都是基础,主要说明VsCode和openocd + gdb的部分。
STM32CubeProgrammer我只在最开始使用,后续下载代码,都使用的openocd
当使用STM32CubeMX完成项目的初始设置后,在工程设置里面,设置成输出的代码类型:
按照上述设置,输出以后的代码,编译配置为Makefile,可以直接用make编译。
编译前,还需要安装一些基础的工具:
1. ArmGNUToolchain编译工具链:Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developer
2. openocd:macOS下面,直接brew install openocd即可安装
3. vscode插件:C/C++、Cortex-Debug
做好以上的基础配置后,我们就在vscode中可以打开生成的项目目录,进行进一步的设置了:
代码的基本结构如下:
简单说明一下:
1. Core:用于放置我们自己开发的程序,Src/main.c为入口文件
2. Drivers:系统核心文件,以及第三方驱动文件
3. Makefile:编译配置文件
4. .vscode:vscode配置目录
切换到终端模式下,直接执行make,即可编译代码。默认的代码,编译没有任何问题,可以直接通过。
为了方便下载固件,我们可以对Makefile做一下处理:
红框的部分,flash和reset是添加的。
具体文件,可以查看:https://gitee.com/honestqiao/stm32h750b-dk/blob/master/Makefile
其中用到了一个openocd的配置文件,为了方便通用,我是放在这个工程上一级目录的:
其内容如下:
具体文件,可以查看:https://gitee.com/honestqiao/stm32h750b-dk/blob/master/Files/STM32H750x.cfg
记得该文件放置位置不同的时候,要修改Makefile中对应的STM32H750x.cfg路径。
修改好了以后,就可以直接使用make reset重启设备了:
或者使用make flash下载固件:
经过上面的步骤,已经可以正常编译代码和下载固件了。
下一步,我们再配置vscode,以便进行代码的调试。
这一次,需要修改.vscode内vscode的三个配置文件,分别为:
1. c/c++配置文件:c_cpp_properties.json
添加上述红框部分后,编辑代码的时候,不会出现提示STM32的与定义量没有定义了。
2. 调试配置文件:launch.json
红框的部分需要特别注意,一个是根据你的实际项目修改elf文件的位置,另外一个是arm-gcc安装的位置
其中设计到的svd文件,下载地址为:https://gitee.com/honestqiao/stm32h750b-dk/blob/master/Files/STM32H750x.svd
3. 任务配置文件:tasks.json
上述配置文件,可以在代码库查看:https://gitee.com/honestqiao/stm32h750b-dk/tree/master/.vscode
经过上述配置后,我们就可以打开main.c,设置后断点,连接好设备,进行断点调试了:
在左边的调试数据区域,可以查看变量的值,寄存器的值,已经当前的程序堆栈,非常的方便。
最后一步,是点灯了。
套件上,默认有LD1、LD2可以被我们控制,在main()函数的while部分,添加如下的代码,就能点灯了:
关闭调试,重新进入后,就会自动编译最新的调试代码,然后进入调试模式了,让程序正常运行,板子一边的两个LED,就能够闪动了。
以上所有的代码和配置文件,可以查看代码库:https://gitee.com/honestqiao/stm32h750b-dk/
其中包含了SHT30数据的读取,已经MPU6050数据的读取,后续的文章中会进一步的分享。
感觉苹果系统好像不是很适合开发硬件方面呢
辛苦了啊,这算是一种知识拓展吧,嘿嘿,很强
正常来说,使用vscode真的很好,看程序代码很舒服
话说,采用jlink调试不行吗?是不是也可以啊
用openocd + gdb真的不错,而且用vscode还免费了,不担心侵权了
话说,使用Windows,也采用楼主这种方式进行开发,是不是也可以啊
该说不说,vscode开发真的好好用
学会了,使用gdb调试是有点意思
想知道仿真调试的话,效果怎么样?断点能打几个?
带屏套件非常贵呢,ST的屏效果都不错
页:
[1]