bootloader写好了,可以将编好的bin文件写到外部norflash。外部norflash地址为0x60000000
nAddr = 0x60000000;
if (((*(vu32*)nAddr) & 0x2FFE0000 ) == 0x20000000)
{
m_JumpAddress = *(vu32*) (nAddr + 4);
JumpToApplication = (FunVoidType) m_JumpAddress;
__set_MSP(*(vu32*) nAddr);
JumpToApplication();
while (1);
}
编译的时候,设置如图:编译出来bin应该有问题,
m_JumpAddress 的值为 0x0800019d。
如果将ROM1勾选,生成bin文件的时候就会出错。Error: Q0147E: Failed to create Directory FlashObjoutput.binER_IROM1: File exists
如果下载0x08000000的bin文件,启动的时候直接将
m_JumpAddress 的值赋值为0x6000019d,还是启动不起来。
运行区起始地址设为0x08040000,将升级的版本bin放在外部nor flash中,运行的时候将bin拷贝到0x08040000。
如此,以上的问题便不存在了。
一周热门 更多>