STM32的C环境准备
stm32 startup.s文件用于准备C语言运行的环境。主要是SP指针 堆栈设置。
- 初始化芯片的寄存器:启动文件会初始化芯片的各种寄存器,使芯片处于正确的状态,各种外设也能正常使用。
- 设置堆和栈的初始值:堆和栈是在内存中分配给程序使用的两个区域,启动文件会设置它们的初值和大小。
- 初始化中断向量表:中断向量表是一张存放中断处理程序地址的表,启动文件会把中断向量表复制到内存中,并把中断向量表的地址写入NVIC寄存器。
- 配置系统时钟:启动文件会配置系统时钟,根据芯片的型号和外部晶振的频率,设置CPU时钟、总线时钟和外设时钟。
- 跳转至主程序:在复位中断中服务程序中跳转执行C标准库main函数,以上这些完成后,跳转到主程序中的main函数执行相关函数应用。
IMX6的C环境准备
是由U-BOOT完成的。 在U-boot 启动的一系列调用中的lowlevel_init 函数内容如下:
#include <asm-offsets.h>
15 #include <config