|

楼主 |
发表于 2017-12-22 12:10:23
|
显示全部楼层
回 xufeixueren 的帖子
xufeixueren:这个0x2000是RAM的地址吗?也就是把参数加载到内部RAM中?还有eFUSE默认配置是XIP执行程序的吗?怎样才能配置成把hyperflash中的代码加载到内部RAM运行呢? (2017-12-20 14:20)
load 0x20330007 > 0x2000, 就是把0x20330007这个配置选项写到地址0x2000,
enable flexspinor 0x2000, 就是用存在0x2000的配置选项来使能 FlexSPI NOR
如此类推。
如果要load到RAM,以DTCM为例 可以参考 imx-dtcm-unsigned.bd,
把 ivtOffset 改成0x1000,
startAddress = 0x20000000 (这个地址可以是合法的DTCM的任意地址);
ivtOffset = 0x1000;
initialLoadSize = 0x1400 (这个值不能小于ivtOffset+0x40, 推荐按0x100对齐,因为SCB->VTOR 有对齐的要求);
然后 link file 里把vector table的地址改成 startAddress + initialLoadSize
如果是OCRAM,
startAddress = 0x20208000 (这个地址可以是大于0x20208000合法的OCRAM的任意地址)
ivtOffset=0x1000
initialLoadSize = 0x1400 (这个值不能小于 ivtOffset+0x40)
如果是ITCM
startAddress = 0x100 (这个地址可以是大于0合法的ITCM的任意地址)
ivtOffset=0x1000
initialLoadSize = 0x1300 (这个值不能小于 ivtOffset+0x40)
|
|