首先,我们需要下载到st官方的一些例程demo,到官方网站上去下载需要的STM32Cube MCU Package for STM32G4 series开发板固件包STM32CubeG4,地址链接为https://www.st.com/content/st_com/zh/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32cube-mcu-mpu-packages/stm32cubeg4.html。
可以看到页面上显示的最新版本为1.4.0版,然后点击get from GitHub这个按钮,就自动跳转到GitHub页面https://github.com/STMicroelectronics/STM32CubeG4。这里提一个小技巧,如果GitHub下载比较慢的话,可以在GitHub上fork一下这个工程,然后在gitee上把这个工程转储下,就可以得到比较快的clone速度。
另外,好像这是第一次发现st官方固件包有GitHub页面clone链接,确实比以前网页版下载方式给力多了。Clone完成后,如下图所示。
可以看到,速度几乎接近10MB。这个固件包总大小为600MB左右,clone时间不过一分钟,杠杠的。
然后我们可以打开clone后的工程目录,如下图。
第一个子目录下面,就是我们的开发板相关的具体demo工程了。进入子目录后如下图。
可以看到SRC目录下面的源代码文件除了main文件外,还有buckboost,hw_3p3z_controller,ledrgb三个APP源文件。我们需要的正是那个LEDRGB。
下面我们用mdk,iar,cubeIDE等开发工具来试用这个demo工程,这里试试看mdk。打开后如下图,需要安装1.4.0固件包的keil版本。这里我们也用包安装器再安装一下。
完成后,就可以进行mdk工程的有关设置了,如下图所示。
当然我们这个工程已经是设置好了的,我们只需要直接连接到笔记本上,就可以编译,链接,烧录,调试和测试本demo的功能了。
观察这个demo可以发现,APP框架是一个基于事件驱动的状态机架构。绝大多数单片机APP都可以如此实现,是一个非常通用的例程demo。
然后点击build按钮,就可以进行编译链接。如下图。
点击load按钮下载固件到开发板上,这里会先报错,必须先完成stlink-v3固件升级,如下图。
然后load按钮下载固件到开发板的功能就可以正常工作,如下图。
Load完成后,就能看到开发板上,默认的状态机工作工况,也就是红绿黄蓝四个信号灯不停的闪烁。然后,可以每次按下joystick的确认按键,则开发板的工况就不停的在demo所示STATE_4LED,STATE_LED_COLOR,STATE_LED_WHITE,STATE_BUCK,STATE_BUCKBOOST五种状态机中循环切换。
具体操作情况请看视频记录,视频我已经发到了B站https://www.bilibili.com/video/BV1LU4y1P782/链接,还有https://u.eet-china.com/video/me/time_3895378/1链接,请到B站和面包论坛都观看本视频。
最后是源码地址https://gitee.com/liunix61/STM32CubeG4,有这个板子的同学们可以用Git直接clone到你的电脑上,进行测试和评估等。