修改cubemx,重新生成工程,改变的原有添加的代码。
cubemx我最近才开始使用。现在碰到这样一个问题:之前已经有人使用cubemx生成了一个工程,并且已经完成了。但是最近需要增加新功能,外设比原先增加了。我重新修改了cubemx文件,重新生成了工程,原有工程里面自己的代码有些被删除了,但是无法知道哪里被删除了。
所以,在此想请教一下解决方法。希望能重新修改了cubemx文件后,只进行添加或仅修改自带生成的代码部分。不要修改我自己编写的部分。
又或者修改了cubemx文件后,重新生成的工程能对修改的地方进行一个明显的提示。
不知道我的想法能否实现, 希望各位能够提供自己宝贵的经验。谢谢!
本帖最后由 jjbboox 于 2018-7-5 10:44 编辑
如果原来的代码是按照cubemx的规范来写的话,按下面的设置就可以保留所有用户代码。
例如像
/* USER CODE BEGIN Init */
/* USER CODE END Init */
这里面的,就不会被修改。或者你可以自己新建文件 cubems生成的代码中,会添加一些注释,告诉你在哪里添加自己的代码不会被删除 cubemx生成的代码英文注释中,在USER CODE BEGIN和USER CODE END之间添加你自己的代码,重新生成工程,就不会被抹掉你自己的代码 用一个比较工具,比较一下两个工程的差异,适当的增减应该能解决你的问题吧 要养成良好的习惯
使用这种自动生代码成工具,建议将自己的代码放在自己建立的文件里面,与自动生成的代码分隔开,只留下调用接口或者使注册回调函数的方法,尽量降低代码的耦合度;
等你的工程越来越大,需求改动越来越多的时候,强耦合的代码再加上自动生成工具会降低你的工作效率,苦不堪言。 按照CubeMX的规范放置代码,就不会有问题。另外,可以把你的代码include 进去。 给你介绍一个良好的习惯,
1、用cubemx生成工程,不要直接使用;
2、代码上传本地SVN;
3、用编译工具新生成工具,然后把SVN上Cubemx的文件移植过来;
4、本地代码及时up到SVN上。 养成及时备份的习惯,
代码要写在USER CODE定义的区域内,
页:
[1]
2