一、ARM的启动流程
基于ARM的芯片多数为复杂的片上系统。这种复杂系统里的多数硬件模块都是可配置的。需要由软件来设置其需要的工作状态。因此在用户的应用程序之前,需要由专门的一段代码来完成对系统的初始化。由于这类代码直接面对处理器内核和硬件控制器进行编程,一般都是用汇编语言。一般通用的内容包括:
中断向量表
初始化存储器系统
初始化堆栈
初始化有特殊要求的端口,设备
初始化用户程序执行环境
改变处理器模式
呼叫主应用程序
二、ARM的启动文件
以stm32的启动文件为例,stm32的启动文件一般