liteos启动流程

一,启动流程

从这里开始我们开始讲解liteos的启动过程,通过前面连接器脚本的分析,我们已经对程序启动阶段期望的内存布局有了一个宏观的认识,然后系统上电从0x08000000地址boot起来之后要做的就是生成这个布局,然后初始化时钟,内存,任务,锁信号量等等基础的系统管理单元,然后才是我们的应用,本节让大家从宏观上对liteos有一个清晰的认识。启动流程讲解完成之后,会分享每一个小的框架如内存管理,任务调度,锁,信号量等每一块不相互独立,有一定关系,比如任务调度里和内存管理里面肯定要用到锁,信号量之类的。在我们使用内存分配接口之前肯定要先初始化好内存管理单元,其他的也类似。所以这里先从宏观上讲解顺序,说明前一节说的内存布局是如何形成的。

liteos的启动宏观流程如下:

启动流程

二,boot

从连接器脚本知道我们的g_pfnVectors存储在0x08000000处,然后系统上电后第一个word会进入sp寄存器作为栈地址,然后第二个Reset_Handler执行的第一个代码。

boot
看看Reset_Handler,分别是关闭中断,设置栈寄存器为_estack,拷贝中断向量表,拷贝数据段,拷贝代码段,初始化时钟&

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值