STM32之启动文件的详解

本文以STM32F407为例,介绍STM32的启动文件。如有解释不正确的地方,还请大家留言评论。
由于启动文件中涉及到一些汇编的知识,所以在讲解的过程中会补充一些汇编的知识。
一般而言,系统上电后第一个执行的是由汇编所编写的启动文件,其主要工作为以下三部分
(1)初始化堆栈指针SP
(2)初始化中断向量表
(3)初始化PC指针,令其=Reset_Handler配置系统时钟
调用C库函数_main初始化用户堆栈,从而最终调用main函数进入C的世界

一.初始化堆栈指针

是多少阿大撒的在这里插入图片描述
上图就是初始化堆栈指针的代码,最上面的那段英文的大体意思就是说你可以根据你应用的需要来配置相应大小的堆栈空间。
(1)初始化栈指针(SP)
在这里插入图片描述
这段代码的意思就是将栈大小设为0x0000 0400(1KB),栈名为STACK,不初始化,可读可写,8(2^3)字节对齐。最后的__initial_sp表示栈的结束地址,即栈顶地址,因为栈是由高地址向低地址生长。栈的主要作用是用于局部变量、函数调用以及

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值