用的f4vg的片子,打算把flash当做eeprom用: 把sector1、sector10和sector11留着做存储变量的地方,sector0和sector2-9放程序。网上查资料说分散加载可以实现。我把sct文件修改如下,但是程序不能运行,请求前辈指点,不胜感激
[mw_shl_code=applescript,true]; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08000000 0x00100000
{ ; load region size_region sector 0
ER_IROM1 0x08000000 0x00004000
{ ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
startup_stm32f40_41xxx.o
system_stm32f4xx.o
}
ER_IROM2 0x08004000 EMPTY 0x00004000 ; sector 1 parameters 16k
{
}
ER_IROM3 0x08008000 0x000B8000 ; sector 2-9, code 736k
{
.ANY (+RO)
}
ER_IROM4 0x080C0000 EMPTY 0x00020000 ; sector 10, parameter 128k
{
}
ER_IROM5 0x080E0000 EMPTY 0x00020000 ; sector 11, parameterk
{
}
RW_IRAM1 0x20000000 0x00020000
{ ; RW data
.ANY (+RW +ZI)
}
RW_IRAM2 0x10000000 EMPTY 0x00010000
{
}
}
[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
原子哥 有没有办法让stm32直接从0x080C0000运行代码? 这样就可以把前面的几块16k腾出来放数据 后面的128k擦除太费时间
谢谢你,看来还得花时间看iap的资料
一周热门 更多>