做网站怎么开发程序,网站建设综合,joomla网站模板,怎么进入官方网站查询一#xff0c;启动流程 1. 复位/上电 2. 根据 BOOT0/BOOT1 确定程序从哪个存储位置执行 3. 初始化 SP 及 PC 指针 将 0X08000000 位置的栈顶地址存放在 SP 指针中 将 0x08000004 位置存放的向量地址装入 PC 程序计数器 4. 初始化系统时钟 5. 初始化用户堆栈 6. 进入main函数 二…一启动流程 1. 复位/上电 2. 根据 BOOT0/BOOT1 确定程序从哪个存储位置执行 3. 初始化 SP 及 PC 指针 将 0X08000000 位置的栈顶地址存放在 SP 指针中 将 0x08000004 位置存放的向量地址装入 PC 程序计数器 4. 初始化系统时钟 5. 初始化用户堆栈 6. 进入main函数 二map文件 map 文件是 MDK 编译代码后产生的集程序、数据及IO空间的一种映射列表文件。简单来说就是包括了各种 .c 文件、函数、符号等的地址、大小、引用关系等信息。 作用 用于分析各 .c 文件占用 FLASH 和 RAM 的大小方便优化代码。
map 文件大致可以分为五大部分每部分的作用如下
1. 模块、段入口交叉引用Section Cross References描述了各文件之间函数的调用关系有助于理解各个源文件如何相互关联。
2. 移除未使用的模块Removing Unused input sections from the image描述了工程中未用到
而被删除的冗余程序段有助于优化代码降低内存负担。
3. 映射符号表Image Symbol Table描述了各符号程序段、数据在存储器中的地址、类型、大小等信息对于理解程序的内存布局以及定位特定代码或数据段非常有用。
4. 内存映射分布Memory Map of the image描述了各程序段函数在存储器中的地址及占用大小有助于分析程序的内存占用情况。
5. 映射组件大小Image component sizes给出了整个映像代码.o占用空间的汇总信息包括代码、只读数据、已初始化读写数据、未初始化读写数据等的大小有助于了解程序的总体内存使用情况。
MAP文件的这五部分提供了对程序内存布局、函数调用关系、以及各模块占用情况的全面分析是STM32开发中重要的优化和调试工具。 map 文件相关的一些基本概念
段section描述映像文件的代码和数据块
RORead-Only的缩写包括RO-data只读数据和RO-code代码
RWRead-Write的缩写主要是RW-dataRW-data由程序初始化初始值
ZIZero-initialized的缩写主要是ZI-data由编译器初始化为0。
.text与RO-code同义
.constdata与RO-data同义
.bss与ZI-data同义
.data与RW-data同义