本帖最后由 Angel_YY 于 2019-1-24 07:36 编辑 ST在2018年末毫无征兆的推出了STM32G0系列,之所以说毫无征兆,是说官方在发布前好像没有任何消息,还是有细心的网友在STM32CubeMX的更新中发现了这个系列的存在。但是很快,G0的芯片和Nucleo开发板信息就出现在了官网,今天有幸拿到了一块STM32G071的Nucleo-64的开发板,那么接下来我们一起了解一下这个新系列。 开发板还是以往熟悉的透明塑料壳包装,开发板采用了Nucleo64外形,这也是笔者最喜欢的外形了,相比较Nucleo144要小巧不少,而比Nucleo32来说,提供的IO接口也足够丰富。 STM32的G0系列是在STM32F0系列之上升级来的,那么我们就一起对比一下STM32F072和STM32G071这两块开发板。 虽然都是Nucleo64,但是G071的是版本更高的MB1360C,在STM32F072的MB1136版本的基础上进行了一些修改,其中对于我来说,最大的改善就是把MiniUSB接口改为了MicroUSB接口。 在主芯片方面,STM32G071升级到了ARM Cortex M0+内核,最高主频升级到了64MHz,相比较于STMF072的ARM Cortex M0架构和48MHz最高主频,性能提升不少。 主流的开发工具Keil、IAR、GCC等都是支持的。 本想在STM32中文官网下载开发板对应的原理图,但是该连接下载的还是MB1136版本的。 好在英文官网还是能够搜到开发板的原理图的,本文末尾提供该原理图PDF文件。 通过原理图可以了解,开发板的LED4是可以通过STM32G071来控制的,控制端口为PA5。那么接下来我们就创建一个简单的工程,实现LED等的闪烁控制。 首先启动最新版本的STM32CubeMX,目前最新版本为5.0。在启动界面点击安装软件包,在STM32G0系列中可以看版本为1.0.0的SDK了,选中后点击安装即可。 安装完成后,就可以创建新项目了,在这里可以直接选择开发板来创建工程。 在MCU系列中选择G0,在G0系列开发板列表中选择Nucleo-G071RB,然后点击开始项目即可。在这个过程中发现,开发板配套的图片用的MiniUSB接口,似乎还是老版本的Nucleo64。 接下来会有提示,是否初始化所有外设到默认模式,这里点击YES即可。 在管脚配置页面,可以配置LED的管脚PA5为输出模式,设置该管脚的用户标签为LED,方便后续使用。 在时钟配置页面,选用内部时钟,频率可以根据需要设置,这里设置为最高的64MHz,回车后自动找到匹配的设置了。 在项目管理页面,设置项目名称和保存目录,以及编译器选项,这里使用IAR。 开始生成工程。 生成完成后会有提示,可以选择直接打开项目。 在项目中找到main.c中的主函数,主循环中增加控制LED的代码,编译后进行下载调试。 下载提示出错。 根据调试日志输出窗口的提示,应该是Flash下载算法文件有语法错误。 找到并打开文件后发下,第一行末尾没有分号,对比其他型号的STM32的mac文件,这里应该是有分号的,在这添加分号后保存。 重新下载,依然有错误。 查看日志,错误比较多。之后试了各种方法,没有解决问题。 无奈之下,只能更换Keil MDK试试,在STM32CubeMX中重新设置开发工具为MDK-ARM V5. 重新生成工程后打开工程。 在Keil中的main.c中刚才添加的几行代码依然还在,编译后进入调试。 调试界面点击运行。 此时开发板上的LED灯开始以1秒为间隔闪烁了,至此一个简单的LED点灯程序完成了。 总结,由于STM32G0系列确实太新了,一些开发工具还没有准备好相关配置文件,也是可以理解的,不过好在最后在Keil中编译下载成功了。STM32G0 系列相比F0系列主频提升不少,其特点是高效、可靠而易用,提供 16 KB 到 512 KB片内 Flash,采用 8 引脚到 100 引脚封装,可满足各种应用和细分市场的需求,完全可以在新产品研发中作为主控系统来用。 开发板原理图: |
谢谢分享 |
不错的分享。 |
谢谢分享 |
前来支持 |
前来支持 |
前来支持 |
前来支持 |
谢谢分享,能申请吗 |
支持支持 |
2022-04-20
Test-2022-02-21: share
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事