liteos启动流程

本文详细介绍了华为LiteOS的操作系统启动流程,从连接器脚本分析到系统上电后的内存布局、时钟初始化、中断向量表设置以及任务调度、锁、信号量等核心组件的初始化。重点讲解了LiteOS如何从Reset_Handler开始,逐步执行数据段和代码段的拷贝、时钟配置,直至进入main函数,完成最小系统初始化。文章还探讨了内存布局,包括栈、data、bss和vector段的位置,并对比了LiteOS与Linux在启动及动态加载机制上的区别。
摘要由CSDN通过智能技术生成

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

liteos的启动宏观流程如下

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值