问下,keil 模板里面 芯片复位后 启动文件执行 的流程??
preserve8
EXPORT __user_initial_stackheap
AREA rt_sys, CODE, READONLY
ENTRY
__user_initial_stackheap
LDR R0, =bottom_of_heap
BX LR
跳到中断 0x0000 0004 吗?????????
复位后 cortex M3的 PC 为 0x0000 0004,
分散加载
ROM_LOAD 0x00000000
{
VECTOR 0x00000000
{
vector_table.o (+RO)
}
ROM_EXEC +0
{
*.o (+RO)
}
SRAM 0x10000000
{
* (+RW,+ZI)
}
HEAP +0 UNINIT
{
rt_sys_s.o (Heap)
}
}
按照分散加载,是从 向量表的第二项执行,也就是第二个函数指针那,可是
preserve8
EXPORT __user_initial_stackheap
AREA rt_sys, CODE, READONLY
ENTRY
__user_initial_stackheap
LDR R0, =bottom_of_heap
BX LR
跳到中断 0x0000 0004 吗?????????
这段汇编怎么回事呢?? |