|
一、 使用默认的配置新建工程 经常大伙都会把一个ioc配置文件配好了,放在某个位置,需要用的时候去找, 有时候我会经常要找半天。! d1 a/ n9 ]7 J' o& K6 Z" M u2 G 那有没有办法把配置文件保存到工程里面呢?* e& J1 `! ]0 d8 j CUBEMX目前看上去还没有这个功能, 我这边研究了一下如何使自己的配置成为默认配置: 我这边有一块NUCLEO-L496ZG的板子,每次采用ST BOARD来选择NUCLEO板子
每次都会提示我使用默认配置:
0 e7 B7 O) I4 L; I3 X. Q# R. m
但是吧,使用默认配置之后,有很多配置,比如RCC等都不是我想要的配置。 每次都要改,比如这个默认配置的时钟,乱奇怪的时钟,我相信大家肯定会知道怎么改了,但是每次都要改,会增加开发时间。
我就想,我改好配置,能不能保存到CUBEMX路径上去呢? 探索了很久,给大家分享一下: 1. 首先配置好自己想要的ioc配置,这个应该在其他教程里面都有提到。1 S+ y' y$ j# |; t8 J* o 保存好ioc文件。 2. 打开CUBEMX安装路径: Program Files\STMicroelectronics\STM32Cube\STM32CubeMX\db\plugins\boardmanager\boards 看到这里有很多ioc. U4 u ^% E! M! s( S L3 g 找到自己的板子,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 j) c/ G' ]3 c; n; O6 e2 H 把这里面的配置稍作修改,之后再选择板子的时候,就可以直接使用default mode1 A% S. Y M% P$ k$ g5 S: v# d 不过这里还有几个Project里面的选项好像通过这个配置也改不了,每次生成都是默认的。 具体在哪里改,我也没找到。就是project里面的配置,这个要是谁知道,请告诉小弟,万分感谢:% ^9 T. L9 k( P% i9 V: G; ^
/ t6 P- M( O- |' `5 D% U 0 [4 J% _ ]1 g, f& z4 v% i 二、配置默认的点灯程序:) ^4 w3 r& }1 K& @, ~( a3 Y! y 你是不是经常有这样的经历?拿到一块STM32板子,先点灯,让小灯一闪一闪亮晶晶的。! a. f. k" ?4 b: e6 o% ]" Q 是不是你总是把几条点灯的c语言代码都记在小本本上?每次拿到一块板子都先从cubemx配置开始,然后生成工程之后,把自己的c语言写进去?6 k1 C/ k0 U% y" f. _ 有没有想过让cubemx自己在main里面生成一个LED点灯程序? 那让CUBEMX自己生成的代码如何写呢? 研究了好久,0 I* Z. Z/ [. y0 x& `1 S" @ 终于被我找到 打开: 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); b6 q9 x3 J+ B; t9 w [#if USB_HOST?? && !FREERTOS??]2 n) o: r3 j7 Q" T4 R #t#tMX_USB_HOST_Process(); [/#if] #n [#list voids as void]3 G6 M' G0 S h' N- ] [#if void.functionName?? && void.functionName?contains("Process") && !void.isNotGenerated && !FREERTOS??] #t${void.functionName}();( K) ]$ e9 e" a# Y" W4 @ [/#if] [/#list] #t#t/* USER CODE BEGIN 3 */, K2 C7 c4 p6 j' `6 d3 @: o #t}: P; v4 x, s$ x7 o #t/* USER CODE END 3 */ [/#if] # P7 I4 W: D# R6 B! E# T# y 2 K' V* X) R' P5 t* h5 \$ H5 y 添加语句://前提你的板子上有LD2并且config.ioc里面添加了LD2的宏修改,基本上STM32 NUCLEO板子都会有LD2 #t#tHAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin); * X, e- e. U* d #t#tHAL_Delay(2000);3 i: i( e, k: J. @ 这样我们每次生成工程的时候,就不需要再点LED灯了,CUBEMX已经帮忙弄好了。不用每次复制粘贴了+ f5 g2 Z! h* u% b, R$ n) x) R 三、 cubemx的插件有很多:3 e8 j- b8 Q2 c; k# \' I! J 虽然软件上写着只有那么一点点:# U9 J% u. V- X. j2 R
但是我去官网搜了一下: http://www.st.com/content/st_com/zh/products/ecosystems/stm32-open-development-environment/stm32cube-expansion-software.html#products6 n/ J$ [: ^# u3 X6 {* @+ ~ 其实还设有很多pack包的 当然有些也不是免费的。
·; P, D1 q' B. e$ s7 m1 P3 d' u 下载的这些包都在下面的文件夹中,这个是安装的时候修改的。) N4 O) k7 @, S1 A( k
四、 CUBEMX教程 这边说的教程不是普通的教程,当然你要先学会科学上网,这边我就不说了,只是给大伙看看。; y8 z4 [9 j: a2 v 是不是以前自己以为右上角的按钮都是分享的按钮?我偶尔点进去看了看,发现新大陆。9 {# R. q( o5 m0 l; K
网址:2 x7 q+ h4 o$ G$ _; A- { http://www.youtube.com/user/STonlineMedia/videos! U6 a6 O$ n j http://community.st.com/s/& @- ^. ?' l# a S http://twitter.com/st_world 是不是感觉发现新大陆?
这边你有任何问题都可以和其他人交流。! }- `6 G9 `5 z8 Q3 `$ [. n6 R9 c got到新技能的人,麻烦点个下面的“支持”小按钮,或者留言继续相互交流。
B43_Nucleo_NUCLEO-L496ZG_STM32L496ZG_Board_AllConfig.zip
(2.84 KB, 下载次数: 4)
|
【STM32H5 评测】ADC 电压表
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】NUCLEO-H5E5ZJ 使用 TrustZone 安全分区系统实践测试
【STM32H5 评测】CPU核心性能 - STM32H5E5跑 RTOS,观察任务切换速度、中断响应快慢
【STM32H5 评测】介绍、环境搭建、工程测试
#双节活动 1.在CubeMX中引用touchGFX出现的问题与解决
如何将STM32CubeMX生成的CMake工程导入STM32CubeIDE
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
STM32CubeCLT 1.22.0新版本发布
【下载问题解决】关于ST官网下载软件问题解决
微信公众号
手机版
可以,找同一款CPU的NUCLEO板子,替换IOC就可以了。官方的做法还没摸清楚。