- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Cortex-M4在keil下启动文件解析
Stack_Size EQU 0定义栈空间大小为0字节,即1Kbyte。
AREA STACK, NOINIT, READWRITE, ALIGN=3
AREA指令:伪指令,用于定义代码段或数据段,后跟属性标号。其中比较重要的一个标号为“READONLY”或者“READWRITE”,其中 “READONLY”表示该段为只读属性,具有只读属性的段保存于FLASH区。而 “READWRITE”表示该段为“可读写”属性,可知“可读写”段保存于SRAM区。
由此可以知,堆栈段位于SRAM空间,中断向量表放置与FLASH区,而这也是整片启动代码中最先被放进FLASH区的数据。因此可以得到一条重要的信息??地址存放的是栈顶地址__initial_sp,??地址存放的是复位中断向量 Reset_Handler。
K60使用32位总线,因此存储空间为4字节对齐。
Stack_Mem SPACE Stack_Size
开辟一段大小为Stack_size的内存空间作为栈。
__initial_sp
标号__initial_sp,表示栈空间的顶地址。
Heap_Size EQU 0定义堆空间大小。
AREA HEAP, NOINIT, READWRITE, ALIGN=3
伪指令AREA。
__heap_base
标号__heap_base,表示堆空间起始地址。
Heap_Mem SPACE Heap_Size
开辟一段大小为Heap_Size的内存空间作为堆。
__heap_limit
标号__heap_limit,表示堆空间的结束地址。
PRESERVE8
告诉编译器以8字节对齐。
THUMB
告诉编译器使用THUMB指令集
AREA RESET, DATA, READONLY
伪指令AREA,定义只读数据区,实际上是在CODE区
EXPORT __Vectors
EXPORT __Vectors_End
EXPORT __Vectors_Size
EXPORT,将标号__Vectors,__Vectors_End,__Vectors_Size声明为全局标号,这样外部文件就可以使用这个标号。
__Vectors
标号 __Vectors,表示中断向量的入口地址。
DCD __initial_sp ; Top of Stack
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler
DCD UsageFault_Handler ; Usage Fault Handler
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD SVC_Handler ; SVCall Handler
DCD DebugMon_Handler ; Debug Monitor Handler
DCD 0 ; Reserved
DCD PendSV_Handler ; PendSV Handler
DCD SysTick_Handler ; SysTick Handler
建立内部中断向量表
; External Interrupts
DCD DMA0_IRQHandler ; DMA Channel 0 Transfer Complete
DCD DMA1_IRQHandler ; DMA Channel 1 Transfer Complete
DCD DMA2_IRQHandler ; DMA Channel 2 Transfer Complete
DCD DMA3_IRQHandler ; DMA Channel 3 Transfer Complete
DCD DMA4_IRQHandler ; DMA Channel 4 Transfer Complete
DCD DMA5_IRQHandler ; DMA Channel 5 Transfer Complete
DCD
文档评论(0)