一首先中断向量表定义在哪里?如何加载??二中断向量表与中断服务程序三处理流程////////////////////////////////////////////////////////////////////////////////////////////////////一首先中断向量表定义在哪里?__vectors_start首先中断向量表定义的是什么?定义的就是中断服务程序的跳转指令,因为每个中断向量在向量表中只有一个字节的存储空间,只能存放一条指令,所以通常存放跳转指令,使程序跳转到存储器的其他地方,再执行中断处理。这里cpu就可以找中断服务程序,跳转指令如例如:LDR PC, =ISR_HANDLER;或者指令与不同的cpu平台有关系。?1.1 vector表定义的方式:往往是变量地址:如..globl __vectors_start定义__vectors_start符号,这样外部程序可以访问到。entry-armv.S__vectors_start:swi SYS_ERROR0bvector_und + stubs_offsetldr pc, .LCvswi + stubs_offsetbvector_pabt + stubs_offsetbvector_dabt + stubs_offsetbvector_addrexcptn + stubs_of
原创力文档

文档评论(0)