你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32CubeMX】工欲善其事必先利其器之最强四大技巧

[复制链接]
飞跃-344154 发布时间:2020-3-8 18:17
一、 使用默认的配置新建工程
经常大伙都会把一个ioc配置文件配好了,放在某个位置,需要用的时候去找,
有时候我会经常要找半天。
那有没有办法把配置文件保存到工程里面呢?
CUBEMX目前看上去还没有这个功能,
我这边研究了一下如何使自己的配置成为默认配置:
我这边有一块NUCLEO-L496ZG的板子,每次采用ST BOARD来选择NUCLEO板子
1.png
每次都会提示我使用默认配置:
2.png

3.png
但是吧,使用默认配置之后,有很多配置,比如RCC等都不是我想要的配置。
每次都要改,比如这个默认配置的时钟,乱奇怪的时钟,我相信大家肯定会知道怎么改了,但是每次都要改,会增加开发时间。
4.png
我就想,我改好配置,能不能保存到CUBEMX路径上去呢?
探索了很久,给大家分享一下:
1. 首先配置好自己想要的ioc配置,这个应该在其他教程里面都有提到。
保存好ioc文件。
2. 打开CUBEMX安装路径:
Program Files\STMicroelectronics\STM32Cube\STM32CubeMX\db\plugins\boardmanager\boards
看到这里有很多ioc
找到自己的板子,NUCLEO-L496ZG
如果上面default mode选择yes就用下面的allconfig配置,如果选择no就用下面board的配置
B43_Nucleo_NUCLEO-L496ZG_STM32L496ZG_Board.ioc
B43_Nucleo_NUCLEO-L496ZG_STM32L496ZG_Board_AllConfig.ioc
好,现在来替换一下就可以了
B43_Nucleo_NUCLEO-L496ZG_STM32L496ZG_Board_AllConfig.ioc
把这里面的配置稍作修改,之后再选择板子的时候,就可以直接使用default mode
不过这里还有几个Project里面的选项好像通过这个配置也改不了,每次生成都是默认的。
具体在哪里改,我也没找到。就是project里面的配置,这个要是谁知道,请告诉小弟,万分感谢:
5.png


二、配置默认的点灯程序:
你是不是经常有这样的经历?拿到一块STM32板子,先点灯,让小灯一闪一闪亮晶晶的。
是不是你总是把几条点灯的c语言代码都记在小本本上?每次拿到一块板子都先从cubemx配置开始,然后生成工程之后,把自己的c语言写进去?
有没有想过让cubemx自己在main里面生成一个LED点灯程序?
那让CUBEMX自己生成的代码如何写呢?
研究了好久,
终于被我找到
打开:
Program Files\STMicroelectronics\STM32Cube\STM32CubeMX\db\templates\tpl_main_c.ftl
这个文件
找到下面这段:
#twhile (1)
#t{
#t#t/* USER CODE END WHILE */
#t#tHAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);
#t#tHAL_Delay(2000);
[#if USB_HOST?? && !FREERTOS??]
#t#tMX_USB_HOST_Process();
[/#if]
#n
[#list voids as void]
[#if void.functionName?? && void.functionName?contains("Process") && !void.isNotGenerated && !FREERTOS??]
#t${void.functionName}();
[/#if]
[/#list]
#t#t/* USER CODE BEGIN 3 */
#t}
#t/* USER CODE END 3 */
[/#if]


添加语句://前提你的板子上有LD2并且config.ioc里面添加了LD2的宏修改,基本上STM32 NUCLEO板子都会有LD2
#t#tHAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);  
#t#tHAL_Delay(2000);
这样我们每次生成工程的时候,就不需要再点LED灯了,CUBEMX已经帮忙弄好了。不用每次复制粘贴了


三、 cubemx的插件有很多:
虽然软件上写着只有那么一点点:
6.png
但是我去官网搜了一下:
http://www.st.com/content/st_com/zh/products/ecosystems/stm32-open-development-environment/stm32cube-expansion-software.html#products

其实还设有很多pack包的
当然有些也不是免费的。
7.png
·
下载的这些包都在下面的文件夹中,这个是安装的时候修改的。
8.png

四、 CUBEMX教程
这边说的教程不是普通的教程,当然你要先学会科学上网,这边我就不说了,只是给大伙看看。
是不是以前自己以为右上角的按钮都是分享的按钮?我偶尔点进去看了看,发现新大陆。
9.png
网址:
http://www.youtube.com/user/STonlineMedia/videos
http://community.st.com/s/
http://twitter.com/st_world
是不是感觉发现新大陆? 11.png

10.png

这边你有任何问题都可以和其他人交流。
got到新技能的人,麻烦点个下面的“支持”小按钮,或者留言继续相互交流。 B43_Nucleo_NUCLEO-L496ZG_STM32L496ZG_Board_AllConfig.zip (2.84 KB, 下载次数: 4)

评分

参与人数 2 ST金币 +52 收起 理由
Armink + 2 很给力!
STMCU + 50 赞一个!

查看全部评分

12 收藏 1 评论5 发布时间:2020-3-8 18:17

举报

5个回答
飞火-348876 回答时间:2020-3-10 21:18:27
好文章啊,顶起来。新鲜的技能。。
ldptest 回答时间:2020-3-11 09:09:55
慢慢学习,请教,能把自己的板子加入库里
飞跃-344154 回答时间:2020-3-11 11:36:00
ldptest 发表于 2020-3-11 09:09
慢慢学习,请教,能把自己的板子加入库里

可以,找同一款CPU的NUCLEO板子,替换IOC就可以了。官方的做法还没摸清楚。
A670521546 回答时间:2020-3-12 17:56:25
这些技巧真心赞,找块板子玩玩,谢谢楼主的分享
Armink 回答时间:2020-3-13 16:50:50
使用默认的配置新建工程 ,这个以前还真没注意到,多谢分享~~

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版