STM32学习笔记之中断向量表,MDK程序启动分析
扫描二维码
随时随地手机看文章
;//
;//
;//
Stack_SizeEQU0x00000200;//定义堆栈大小
AREASTACK,NOINIT,READWRITE,ALIGN=3;//定义一个数据段按8字节对齐
Stack_MemSPACEStack_Size;//保留Stack_Size大小的堆栈空间
__initial_sp;//标号,代表堆栈顶部地址,后面有用
;//
;//
;//
Heap_SizeEQU0x00000020;//定义堆空间大小
AREAHEAP,NOINIT,READWRITE,ALIGN=3;//定义一个数据段,8字节对齐
__heap_base
Heap_MemSPACEHeap_Size;//保留Heap_Size的堆空间
__heap_limit;//标号,代表堆末尾地址,后面有用
PRESERVE8;//指示编译器8字节对齐
THUMB;//指示编译器为THUMB指令
;VectorTableMappedtoAddress0atReset
AREARESET,DATA,READONLY;//定义只读数据段,其实放在CODE区,位于0地址
EXTERNNMIException
EXTERNHardFaultException
EXTERNMemManageException
EXTERNBusFaultException
EXTERNUsageFaultException
EXTERNSVCHandler
EXTERNDebugMonitor
EXTERNPendSVC
EXTERNSysTickHandler;//声明这些符号在外部定义,同C
;//在××it.c中实现这些函数,中断就能自动调用了
EXPORT__Vectors
__VectorsDCD__initial_sp;TopofStack//Cotex-M要求此处为堆栈顶部地址
DCDReset_Handler;ResetHandler
DCDNMIException;NMIHandler
DCDHardFaultException;HardFaultHandler
DCDMemManageException;MPUFaultHandler
DCDBusFaultException;BusFaultHandler
DCDUsageFaultException;UsageFaultHandler
DCD0;Reserved
DCD0;Reserved
DCD0;Reserved
DCD0;Reserved
DCDSVCHandler;SVCallHandler
DCDDebugMonitor;DebugMonitorHandler
DCD 0 ; Reserved