LR_HEADER 0x08001800 NOCOMPRESS ALIGN 2048 0x800 ;size = 2kB
{
ER_HEADER 0x08001800 FIXED ALIGN 2048 0x800
{
*(:gdef:image_hdr)
}
}
{
;//**********************************
;/// all RO Data in the Application (flash)
;//**********************************
ER_RO_APPLICATION 0x08002000 0x1C800
{
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
;ER_VECTOR_TABLE 0x20000000 EMPTY 0xC0 ; 512 Byte-placeholder for vector table of application (SRAM)
;{
;}
NIRAM 0x200000C0 UNINIT ; Placeholder for NIRAM for bootloader-application-communication (SRAM)
{
*.o(NIRAM)
}
ER_STACKS +0 ; Stack and OS / task stacks (SRAM)
{
;stm32f0xx_startup.o(STACK, +FIRST)
*.o(STACK, +FIRST)
; rtx_cfg.o(.bss)
*rtx_cfg*.o(.bss)
}
ER_RW_APPLICATION +0
{
.ANY(+RW, +ZI)
}
}
LR_CHECKSUM +0x0 NOCOMPRESS ALIGN 4 0x4
{
ER_CRC32 +0 0x4
{
; application_crc.o(:gdef:APPCRC_ulCRC32)
*application_crc*.o(:gdef:APPCRC_ulCRC32)
}
}
; Load Region "FLASH"
; In diesem Bereich wird der Flash-Pool der Applikation verwaltet
; die Größe ist so zu wählen, dass der Parameterbereich im Anschluss noch Platz findet
这是我的链接器脚本的一部分.我希望在闪存中放置一些配置,以便下次我的MCU启动时,它将地址提取到重置向量,并从 bootstrap 加载程序跳转到应用程序.我想更改这个数据,它是当前配置部分的闪存(我将创建它).
如何在不使用闪存驱动程序修改的情况下修改闪存中的变量?