中断向量表10.29

今天学到了一个咩用的知识,台式电脑的主板有的支持集成显卡和独立显卡同时输出,有的不支持。只能同时单个输出,但是可以在一个显卡上接两个显示器实现分屏。此电脑-属性-设备管理器-显示适配器
单片机在启动时一般先会启动文件,51单片机是后缀为.a文件,STM32单片机是后缀为.s文件,作用是为C/C++程序的运行准备好环境,包括内存、时钟和库函数等。

步骤 执行者 动作描述 目标
1 硬件/CPU 上电复位 (POR) 强制所有硬件到初始状态。
2 硬件/CPU 检查 BOOT 引脚 确定代码的启动位置(如主 Flash)。
3 硬件/CPU 读取向量表 确定 SP 和 PC 的初始值。
4 硬件/CPU 设置初始 SP/PC 初始化主栈指针,跳转到 Reset_Handler。
5 启动文件 调用 SystemInit() 配置系统时钟和 Flash 等基础硬件。
6 启动文件 初始化数据段 从 Flash 复制 .data 到 RAM,将 .bss 段清零。
7 启动文件 调用库初始化 初始化 C 运行时环境和静态构造函数。
8 启动文件 调用 main() 进入用户应用程序的起点。

中断向量表的作用:
1.初始化栈指针(MSP)和复位处理函数(Reset_Handler)地址。CPU从硬件执行到软件执行的基石。Cortex-M架构中,第一个(0x00)32位字是初始化堆栈指针的值,第二个(0x04)32位字是复位处理程序的入口地址。
2.提供中断(定时器、串口等)和异常(除零、访问错误等)的向量表,帮助内核找到对应的服务程序(ISR)地址并跳转执行。
3.地址重映射。可以从默认地址重定位到其他地址。
堆栈的作用:函数调用和中断处理
1.存储局部变量
2.存储函数返回地址
3.中断和异常时的现场保护

image

posted @ 2025-10-29 20:42  小智001  阅读(16)  评论(0)    收藏  举报