打印
[其他ST产品]

STM32CubeMX生成的makefile,如何更改程序烧录地址?

[复制链接]
215|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laocuo1142|  楼主 | 2024-5-27 11:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在程序需要烧录到0x8008000的地址
如何更改makefile 和 STM32F103C8Tx_FLASH.ld文件 ,可以让程序正常的运行?

使用特权

评论回复
沙发
故意相遇| | 2024-6-18 09:39 | 只看该作者
在STM32CubeMX生成的makefile中,您可以通过修改链接脚本文件(.ld文件)来更改程序烧录地址。

使用特权

评论回复
板凳
白马过平川| | 2024-6-18 12:00 | 只看该作者
链接脚本文件定义了程序的存储器布局,包括程序的起始地址和大小等信息。

使用特权

评论回复
地板
风凉| | 2024-6-18 14:00 | 只看该作者
打开CubeMX生成的工程文件夹,找到名为"STM32xxxx_FLASH.ld"的链接脚本文件(xxxx为您的具体芯片型号)。使用文本编辑器打开该链接脚本文件,找到包含程序起始地址的部分。一般情况下,这个部分会包含类似如下的定义:复制代码/* Specify the memory areas */
MEMORY
{
  FLASH (rx)      : ORIGIN = 0x08000000, LENGTH = 512K
  RAM (xrw)       : ORIGIN = 0x20000000, LENGTH = 128K
}

使用特权

评论回复
5
西洲| | 2024-6-18 16:00 | 只看该作者
一般是修改地址,然后重新编译您的工程,生成的可执行文件将会使用新的程序烧录地址。

使用特权

评论回复
6
捧一束彼岸花| | 2024-6-18 18:00 | 只看该作者
修改链接脚本文件可能会对程序的存储器布局产生重大影响,因此在修改前请务必对此有充分的了解。

使用特权

评论回复
7
EmmaTT| | 2024-6-18 20:28 | 只看该作者
这个还从没修改过呢

使用特权

评论回复
8
未说出口的像你| | 2024-6-19 02:00 | 只看该作者
确保新的程序烧录地址不会与其他重要的存储器区域冲突,以免造成不可逆的损坏。

使用特权

评论回复
9
一只眠羊| | 2024-6-19 04:00 | 只看该作者
在进行这些操作时,请务必备份工程文件,以防止意外情况发生

使用特权

评论回复
10
在曼谷的春| | 2024-6-19 06:00 | 只看该作者
烧录地址估计跟flm这部分文件啥的也是有关系的吧

使用特权

评论回复
11
我吃小朋友| | 2024-6-19 10:00 | 只看该作者
不会用cubeIDE,一般使用KEIL的时候修改地址就能实现烧录地址的改变

使用特权

评论回复
12
月亮一键变蓝| | 2024-6-19 12:00 | 只看该作者
要不生成个bin,然后用jlink与JFLASH手动修改一下烧录地址呢?

使用特权

评论回复
13
香水城| | 2024-6-27 17:23 | 只看该作者
涉及到跳转的话,VTOR及连接文件都需要修改。

使用特权

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

本版积分规则

1046

主题

4328

帖子

11

粉丝