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

STM32CubeMX重新生成代码后对上次工程配置的影响?  

[复制链接]
lkl0305 提问时间:2015-5-21 13:42 /
本帖最后由 lkl0305 于 2015-5-21 13:45 编辑

在使用STM32CubeMX时,发现一个问题,请朋友们帮助解决一下?
1、开始STM32CubeMX配置完成,生成了DMK工程代码;
2、之后开始在DMK中添加自己的程序,可能需要向工程中添加我自己的代码驱动库,如图:
200.jpg
3、可能之后发现CubeMX配置有些问题,然后返回重新更改,然后重新生成代码,如图:
201.jpg
4、回到MDK中发现,用户自己添加的驱动代码库配置不见了,如图:
202.jpg
5、那么问下,总不能每次都要重新再配置?

有没有什么方法,可以重新生成代码库时,只影响修改过的内容,对自己添加的如代码库没有影响,像main.c代码中那样,有用户输入代码的地方,重新编译后没有影响。如图:
204.jpg
收藏 1 评论34 发布时间:2015-5-21 13:42

举报

34个回答
xilin105 回答时间:2015-9-17 23:57:14
本帖最后由 xilin105 于 2015-9-18 00:13 编辑

正常情况下,在
/* USER CODE BEGIN 2 */
  /* USER CODE END 2 */
中间添加代码不会覆盖,如果重新生成代码,不会覆盖user里面的内容。

1, 如果点了界面上的“Save the project in a new file”,弹出配置窗口后,这个时候系统默认是先前的配置路径,然后按下ok,之前的代码所有东西都没了。
2, 如果就是普通生成代码,工程里面添加到application/user group下的文件会被工程剔除,同时,之前的文件还是存在于user目录下。

这是我使用发现的。但是不知是否有解决方法。
如果需要拷贝代码,一份代码,每次都去对比,那就太麻烦了。





imgroot 回答时间:2019-3-27 21:52:39
有些时候代码需要写在  /* USER CODE BEGIN 2 */ 之外,就会比较复杂。推荐使用git来管理。

我的使用流程如下:
1. 保存全部文件
2. git commit
3. 在CubeMX里更改东西,生成代码
4. 使用 git diff (比如 VS CODE里面的DIFF工具)来逐一检查每一个被CubeMX更改过的文件,确认自己的代码没有被更改过。如果有自己的代码被CubeMX更改,可以直接在DIFF工具里拷贝粘贴到新文件。



Jason8057 回答时间:2018-3-15 11:18:46

29楼的说法正确,亲测可用。感谢
29楼的说法正确,亲测可用。感谢
29楼的说法正确,亲测可用。感谢
29楼的说法正确,亲测可用。感谢
29楼的说法正确,亲测可用。感谢
29楼的说法正确,亲测可用。感谢
29楼的说法正确,亲测可用。感谢
lkl0305 回答时间:2015-5-22 12:52:50
大家都在忙着抢板子吗,自己顶一个
HenryChen 回答时间:2015-6-15 22:21:05
顶一个!
lkl0305 回答时间:2015-6-15 22:59:55

多谢多谢
风子 回答时间:2015-6-16 13:50:58
楼主解决了吗?怎么做的?
黑皮男 回答时间:2015-6-16 16:42:40
帖子被顶起来了
wjandsq 回答时间:2015-6-16 18:36:15
是工程文件被修改了,可以做个备份,恢复过来就行了。
lkl0305 回答时间:2015-6-16 23:25:39
wjandsq 发表于 2015-6-16 18:36
是工程文件被修改了,可以做个备份,恢复过来就行了。

多谢指导,回去试试
mark0668 回答时间:2015-6-17 01:56:11
是会被修改
momososo 回答时间:2015-6-27 11:31:19
试了一下,重新生成代码库时要先关MDK
lkl0305 回答时间:2015-6-27 17:22:22
momososo 发表于 2015-6-27 11:31
试了一下,重新生成代码库时要先关MDK

不用关不是也可以么?
cxtarm 回答时间:2015-6-28 10:08:03
貌似还没有完善的解决方法。比较好的做法是,CubeMX生成的代码和自己的驱动代码分开放在不同的文件中
watershade 回答时间:2015-6-29 08:53:19
楼主试过自己添加/*USER CODE BEGIN #*/和/*USER CODE  END #*/吗?
stary666 回答时间:2015-6-29 10:13:08
好像是可以设置
lkl0305 回答时间:2015-6-29 11:18:25
watershade 发表于 2015-6-29 08:53
楼主试过自己添加/*USER CODE BEGIN #*/和/*USER CODE  END #*/吗?

这个也行吗?试试去
123下一页
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版