本帖最后由 FSL_TICS_ZP 于 2014-10-8 15:59 编辑
asm(“LDR r1,[r0]”)
asm(“MOV r13,r1”)
asm(“ADDS r0,r0,#0x04”)
asm(“LDR r0,[r0]”)
asm(“BX r0”)网上看了下 说是跳转PC指针 比如我KE02 bootloader 跳转向量中断重定位是到0x1000,那是不是跳转的时候PC指针会跳转到0X1000处开始运行程序,主要是我对r0,1这些存储是什么东西不了解!!!
希望有人能够帮助下,非常感谢!!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
你好
SCB_VTOR=0X1000;
jumpTouser(0x1000)
{
asm(“LDR r1,[r0]”)
asm(“MOV r13,r1”)
asm(“ADDS r0,r0,#0x04”)
asm(“LDR r0,[r0]”)
asm(“BX r0”)
}
这个是他的跳转到用户程序的代码 ,按你说的是 前面的4个字节 存储的INIT_SP,RESET_BL这两个,然后从便宜0x04地址程序从中断向量开始的吗?
因为我对程序从何处开始执行还不了解,还有 R1 R0 R13是存储着什么?是不是不同单片机是不同的,这个我得去看什么资料呢?
一周热门 更多>