写错了。
还是用不使用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
我要赚赏金打赏帖 |
|
|---|---|
| 三分钟快速搭建NXP MCU开发环境(VSCode)被打赏¥22元 | |
| 为遥控小车巧添功能被打赏¥26元 | |
| 【S32K3XX】FlexCAN 模块配置使用被打赏¥30元 | |
| 【S32K3XX】FlexCAN RAM 资源分配整理被打赏¥25元 | |
| 【S32K3XX】IPCF 适配核间中断处理被打赏¥21元 | |
| 【S32K3XX】IPCF 核间通讯模块UNMANAGED方式使用被打赏¥29元 | |
| 片外存储Flash使用方法(Arduino IDE环境)被打赏¥22元 | |
| 三分钟快速上手ESP-NOW(ArduinoIDE环境)被打赏¥23元 | |
| 【S32K3XX】LPSPI参数配置说明被打赏¥21元 | |
| 在WT9932C61-TINY上实现超声波测距被打赏¥22元 | |