打印
[其他ST产品]

使用STM32CubeMX生成CMake工程中的FLASH.ld被更改的问题

[复制链接]
446|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2025-1-6 14:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

使用STM32CubeMX生成CMake工程之后,对STM32xxxx_FLASH.ld进行了修改。然后再次使用STM32CubeMX对工程进行修改的时候,STM32xxxx_FLASH.ld文件汇总被修改的部分会被恢复原状。请问各位有没有好的办法能够解决这个问题,烦请指教!!!

使用特权

评论回复
沙发
classroom| | 2025-1-6 14:51 | 只看该作者
用STM32CubeMX的“User Code”区域

使用特权

评论回复
板凳
probedog| | 2025-1-6 14:55 | 只看该作者
分离工程配置和自定义代码

使用特权

评论回复
地板
laocuo1142| | 2025-1-6 15:00 | 只看该作者
手动管理链接脚本

使用特权

评论回复
5
powerantone| | 2025-1-6 16:23 | 只看该作者
使用版本控制工具(如Git)来跟踪你的代码更改历史。
在对STM32xxxx_FLASH.ld文件进行修改后,提交更改到版本控制系统中。
如果在后续使用STM32CubeMX重新生成代码导致链接脚本被覆盖,你可以从版本控制系统中恢复之前的版本。

使用特权

评论回复
6
classroom| | 2025-1-7 14:00 | 只看该作者
在对STM32xxxx_FLASH.ld文件进行修改之前,先备份一份原始的链接脚本文件。
如果在后续过程中需要重新生成代码并恢复原始的链接脚本设置,可以使用备份的文件进行恢复。

使用特权

评论回复
7
将爱藏于深海| | 2025-2-12 01:19 | 只看该作者
在使用STM32CubeMX生成CMake工程后,如果你对STM32xxxx_FLASH.ld文件进行了修改,并在之后再次使用STM32CubeMX对工程进行修改,那么STM32xxxx_FLASH.ld文件中被修改的部分确实有可能会被恢复原状。这是因为STM32CubeMX在重新生成代码时,会根据其内部的配置重新生成链接脚本文件

使用特权

评论回复
8
春日负喧| | 2025-2-12 02:29 | 只看该作者
STM32CubeMX生成的代码中,有一些区域是留给用户添加自定义代码的,这些区域在重新生成代码时不会被覆盖

使用特权

评论回复
9
故意相遇| | 2025-2-12 03:29 | 只看该作者
你可以在链接脚本文件中找到或创建类似的User Code”区域,将你的自定义修改放在这些区域内

使用特权

评论回复
10
温室雏菊| | 2025-2-12 04:39 | 只看该作者
需要注意的是,链接脚本文件(如.ld文件)通常不是由STM32CubeMX直接生成的,而是由STM32CubeMX配置后,由底层的构建系统(如MakefileCMake)根据配置和模板生成的

使用特权

评论回复
11
白马过平川| | 2025-2-12 05:29 | 只看该作者
一般来说,你可能需要手动在生成的链接脚本文件中添加或修改User Code”区域,并确保这些区域在重新生成时不会被覆盖

使用特权

评论回复
12
风凉| | 2025-2-12 06:39 | 只看该作者
将链接脚本文件从STM32CubeMX的生成过程中分离出来,改为在外部进行管理

使用特权

评论回复
13
西洲| | 2025-2-12 07:39 | 只看该作者
其实你可以手动创建和编辑链接脚本文件,并将其包含在你的构建系统中(如CMakeLists.txt)。这样,即使你重新使用STM32CubeMX对工程进行修改并生成代码,也不会影响到你手动管理的链接脚本文件

使用特权

评论回复
14
捧一束彼岸花| | 2025-2-12 08:39 | 只看该作者
在修改链接脚本文件之前,先备份原始文件。同时,使用版本控制工具(如Git)来跟踪代码的更改历史。这样,即使重新生成代码导致某些修改丢失,你也可以通过版本控制工具找回之前的版本,并重新应用你的修改

使用特权

评论回复
15
她已醉| | 2025-2-12 09:31 | 只看该作者
你可以尝试找到STM32CubeMX生成代码时使用的模板文件,并修改这些模板以包含你的自定义链接脚本内容。然而,这种方法需要对STM32CubeMX的内部工作机制有深入的了解,并且可能会随着STM32CubeMX的更新而失效

使用特权

评论回复
16
失物招領| | 2025-2-12 10:49 | 只看该作者
被改 一般都是你修改cubemx才会被修改吧,但你得有擅长修改链接文件的基础才行,不然估计会很难

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2103

主题

7923

帖子

11

粉丝