在线时间2 小时
UID3520033
注册时间2018-11-13
NXP金币0
该用户从未签到
新手上路
- 积分
- 10
- 最后登录
- 2018-11-19
|
楼主 |
发表于 2018-11-14 12:53:57
|
显示全部楼层
APP_IMAGE_START定义了的
汇编跟的结果如下
jump_to_app:
00000b48: push {r7, lr}
00000b4a: sub sp, #16
00000b4c: add r7, sp, #0
00000b4e: str r0, [r7, #4]
43 uint32_t mspval = *(uint32_t *)image_address;
00000b50: ldr r3, [r7, #4]
00000b52: ldr r3, [r3, #0]
00000b54: str r3, [r7, #12]
46 INT_SYS_DisableIRQGlobal();
00000b56: bl 0x12e4 <INT_SYS_DisableIRQGlobal>
47 app_jump = (App_t)(*((volatile uint32_t *)(IMAGE_ADDR + 4))); /* 程序复位中断向量. */
00000b5a: movw r3, #45060 ; 0xb004
00000b5e: ldr r3, [r3, #0]
00000b60: str r3, [r7, #8]
49 S32_SCB->VTOR = image_address;
00000b62: mov.w r2, #3758153728 ; 0xe000e000
00000b66: ldr r3, [r7, #4]
00000b68: str.w r3, [r2, #3336] ; 0xd08
51 __asm__ __volatile__("msr msp,%0"::"r"(mspval):"memory");
00000b6c: ldr r3, [r7, #12]
00000b6e: msr MSP, r3
52 __asm__ __volatile__("msr psp,%0"::"r"(mspval):"memory");
00000b72: ldr r3, [r7, #12]
00000b74: msr PSP, r3
54 app_jump();
00000b78: ldr r3, [r7, #8]
00000b7a: blx r3
55 }
执行最后一句就到了:0000b4fc: b.w 0xb4fc
同时S32DS提示No source available for "0xb4fc",然后就死掉了。 |
|