写错了。
还是用不使用SCATTER的程序为例。
源地址是Image$$RO$$Limit,目的地址是Image$$RW$$Base,拷贝长度是Image$$ZI$$Base - Image$$RW$$Base。这是将RW段从FLASH拷贝到SDRAM。
然后把Image$$ZI$$Base到Image$$ZI$$Limit清0.
LD_ROM 0x350000 0x2a0000
{
ER_RO 0x350000 0x2a0000
{
start.o (AppInit +FIRST)
*(+RO)
}
ER_RW 0x20f0000 0x10000
{
*(+RW,+ZI)
}
ER_ZI +0
{
start.o(+RO)
}
}
为什么我按照你的方法改为上面这种scatter文件链接后也只有四个标识符
Image$$ER_RO$$Limit
Image$$ER_RW$$Base
Image$$ER_ZI$$Base
Image$$ER_ZI$$Limit
没有出现像你那样的Image$$SDRAM2$$ZI$$Base标识符
关键是即使我改成这种将RW和ZI放一起的方式,程序还是跑不起来
这样试试:
LD_ROM 0x350000
{
ER_RO 0x350000 0x2a0000
{
start.o (AppInit +FIRST)
*(+RO)
}
ER_RW 0x20f0000 0x10000
{
*(+RW,+ZI)
}
}
然后,在初始化程序中用
Image$$ER_RO$$Limit替代Image$$RO$$Limit,
Image$$ER_RW$$Base替代Image$$RW$$Base
Image$$ER_RW$$ZI$$Base替代Image$$ZI$$Base,
Image$$ER_RW$$ZI$$Limit替代Image$$ZI$$Limit
有奖活动 | |
---|---|
【有奖活动——B站互动赢积分】活动开启啦! | |
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |