【GCC】因存在BootLoader,设置启动地址偏移,中断向量表偏移

本文介绍了在GCC环境下,由于引入BootLoader,如何调整用户代码的启动地址。主要涉及修改.ld文件中的FLASH起始地址以及system_stm32f4xx.c文件中的VECT_TAB_OFFSET,确保中断向量表的正确偏移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【GCC】因存在BootLoader,设置启动地址偏移

因为加入BootLoader的缘故,我们的用户代码启动位置需要进行一个偏移。

在Keil中我们能很方便的设置,只需要修改IROM1 处 start 地址就可以了

请添加图片描述

在GCC中我们需要在两处进行修改:

  1. .ld 文件内 Line64 在flash处做一个偏移地址
    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 192K
    CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K
    FLASH (rx) : ORIGIN = 0x80000000, LENGTH = 512K
    我们就可以修改FLASH的地址
    eg:
    FLASH (rx) : ORIGIN = 0x80008000, LENGTH = 480K
    此处为启动地址偏移
  2. system_stm32f4xx.c 文件下 VECT_TAB_OFFSET 也需要做一个偏移
    Line 364:
    #define VECT_TAB_OFFSET 0x8000
    此处就为中断向量表的偏移
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值