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

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个回答
xingquan7 回答时间:2018-2-9 18:00:04
如果是keil,添加完文件或者文件夹后只要按下全部保存,用cubemx重新生成工程时就不会覆盖,亲测可行。不谢
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工具里拷贝粘贴到新文件。



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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版