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

【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
好文章啊,顶起来。新鲜的技能。。
网络孤客 回答时间: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
使用默认的配置新建工程 ,这个以前还真没注意到,多谢分享~~

所属标签

相似分享

官网相关资源

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