stm32启动过程详解

上传者: gaotihong | 上传时间: 2022-08-20 09:14:38 | 文件大小: 71KB | 文件类型: DOC
详细解释了32的启动过程 如程序清单一,STM32的启动代码一共224行,使用了汇编语言编写,这其中的主要原因下文将会给出交代。现在从第一行开始分析: ? 第1行:定义是否使用外部SRAM,为1则使用,为0则表示不使用。此语行若用C语言表达则等价于: #define DATA_IN_ExtSRAM 0 ? 第2行:定义栈空间大小为0x00000400个字节,即1Kbyte。此语行亦等价于: #define Stack_Size 0x00000400 ? 第3行:伪指令AREA,表示 ? 第4行:开辟一段大小为Stack_Size的内存空间作为栈。 ? 第5行:标号__initial_sp,表示栈空间顶地址。 ? 第6行:定义堆空间大小为0x00000400个字节,也为1Kbyte。 ? 第7行:伪指令AREA,表示 ? 第8行:标号__heap_base,表示堆空间起始地址。 ? 第9行:开辟一段大小为Heap_Size的内存空间作为堆。 ? 第10行:标号__heap_limit,表示堆空间结束地址。 ? 第11行:告诉编译器使用THUMB指令集。 ? 第12行:告诉编译器以8字节对齐。 ? 第13—81行:IMPORT指令,指示后续符号是在外部文件定义的(类似C语言中的全局变量声明),而下文可能会使用到这些符号。 ? 第82行:定义只读数据段,实际上是在CODE区(假设STM32从FLASH启动,则此中断向量表起始地址即为0x8000000)

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明