您好!
我必须从我的启动代码中执行两个固件映像。 映像分配在闪存存储器中的地址0x4000和0x084000处。 要执行我当前正在执行的这些图像、如下所示、
如果(st%2=0)
{
asm (" MOV r0、#0x00004000");
asm (" ldr sp、[r0]");
asm (" LDR PC、[r0、#4]"); //跳转到起始地址+ 4.
asm (" bx r0");
}
其他
{
asm (" MOV r0、#0x00084000");
asm (" ldr sp、[r0]");
asm (" LDR PC、[r0、#4]"); //跳转到起始地址+ 4.
asm (" bx r0");
}
此处 st 是一个变量递增、仅用于测试目的。 此代码工作正常。 但是、要执行这些映像、我必须将映像的应用程序矢量地址设置为映像的 cmd 文件中的相应闪存存储器地址。 我能否从引导代码执行映像而不在其 cmd 文件中设置映像的应用程序矢量地址? 是否有任何方法可以从引导代码中获取映像的应用程序矢量地址?
此致
Sandra