mcu启动过程 bootroom

https://blog.csdn.net/weixin_42734533/article/details/131812546?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170980239416800182774385%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=170980239416800182774385&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-131812546-null-null.142v99pc_search_result_base8&utm_term=mcu%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B&spm=1018.2226.3001.4187
启动过程的执行工作
启动过程主要完成两部分工作:硬件环境、软件环境
硬件环境操作:
初始化时钟:初始化内核时钟,主时钟和各个外设的时钟
关闭看门狗:看门狗用来检测应用程序异常跑飞而复位CPU,在初始化阶段,没有“喂狗“的动作,有可能导致CPU 不断的复位,此处需要关闭看门狗
建立中断向量表:中断向量表作为中断源的识别标志,可以形成相应的中断入口地址,或者中断服务程序的入口地址的偏移量和段基值。CPU利用中断向量表转入中断服务程序处理相关到事务
初始化堆栈:堆栈的作用就是保护现场(上下文),函数调用或中断发生时,将当前执行地址压栈,调用完再返回执行此次的地址。在启动阶段,初始化堆栈的寄存器、堆栈大小、起始地址等
内存初始化:选择内部或外部RAM
软件环境操作:
把RO、RW从它们的加载域复制到运行域
初始化ZI域
初始化堆栈指针:包括C库所需要的内存空间、程序执行的所需资源、C库初始化
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_42734533/article/details/131812546

bootroom说明
bootroom 是mcu启动最先运行的代码,他负责硬件资源的初始化,时钟,外设,存储,中断控制器,确保设备运行在一个稳定的阶段,
第二步加载用户端程序
https://wenku.baidu.com/view/0d85adb3a02d7375a417866fb84ae45c3a35c27b.html?wkts=1709803926871&bdQuery=mcu+bootroom%E4%BD%9C%E7%94%A8

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值