bootrom 命令(bootrom是在哪里启动操作系统的)

技术Boot之bootrom启动顺序是怎么样的这篇文章主要为大家展示了“Boot之bootrom启动顺序是怎么样的”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Boot之bo

本文主要给大家展示“Boot的Bootrom启动顺序是什么”。内容简单易懂,条理清晰。希望能帮你解开疑惑。让边肖带领你学习《什么是开机启动顺序》一文。

加载vxWorks的引导加载程序有很多种,最常见的是BSP编译的bootrom。

Boot之bootrom启动顺序是怎么样的

它在目标中的执行顺序如下

Usr ()-config/all/usr entry.c,RAM中的第一条指令,它唯一的功能就是调用usrInit()

usrnit()-config/all/usrconfig . c .主要工作包括:清除BSS,初始化Cache库,设置中断向量表基址,安装异常向量,调用sysHwInit(),启用Cache,调用usrKernelCorePreInit()初始化Class、object、信号量等。初始化wdb,调用usrKernelInit()

usrkernelinit()-comps/src/uskernellit . c,配置内核使用的数据结构,包括初始化内核的Task库,配置调度策略,初始化Tick队列,初始化wind工作队列,记录系统内存池的大小,调用kernelinit()进行初始化。

kernel init()-src/wind/kernellib . c、初始化启动内核,包括设置中断堆栈大小、设置内存池位置、初始化中断锁定级别、关闭时间片轮换策略、将系统Tick清零、初始化中断堆栈、初始化启动第一个任务tRootTask。

Root ()-config/all/usrconfig.c,是系统第一个任务的入口地址,主要负责初始化后内核,一步一步加载系统服务,也由大量初始化函数组成。

usrkernelcore einit()-src/config/usrkernelcore . c,一些初始化内核的机制,包括Event、信号量开放机制、消息队列和开放机制、看门狗、任务开放机制等。

MemInit()-src/os/mm/memLib.c,初始化系统内存池。

usrmmuinit()-comps/src/usrmmuinit . c,初始化MMU

usrkernelcreateinit()-src/config/usrkernelcore . c,初始化内核对象的创建机制,如任务、消息队列和看门狗。

clk connect()-src/drv/timer/xxxtimer . c,挂接系统时钟ISR并调用sysHwInit2()

SysHwInit2()-$(BSP)/sysLib.c,钩子中断,配置其他附加信息

IOsInit()-src/os/io/iosLib.c,初始化io系统

TyLibInit()-src/os/io/tyLib.c,初始化TTY库。

ttydriv()-src/OS/io/ttydriv . c,正在初始化tty驱动程序

创建一个tty设备

其他初始化机制,如任务级作业机制、消息日志库、管道驱动、标准IO库、ERF(Event Reporting Framework)库、设备管理、文件系统相关机制、pty(伪终端)驱动、存储设备加载、Boot Line解析等。

bootapshell init()-src/Boot/bootapshell . c,初始化Boot Shell

引导模式初始化,如文件系统、网络

Boot()bootap()-src/Boot/bootap . c,启动Boot Loader主任务bootap

Boottask ()-src/boot/bootApp.c,bootApp的入口地址。默认等待7秒。如果Boot Shell收到该命令,它将进行分析并执行。如果7秒倒计时结束,根据Boot Line将vxWorks镜像加载到RAM_LOW_ADRS,然后跳转到这个地址开始执行vxWorks。

Boot之bootrom启动顺序是怎么样的

以上就是《boot的Bootrom启动顺序是什么》一文的全部内容,感谢阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。想了解更多知识,请关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/155162.html

(0)

相关推荐

  • MySQL 5.5中SHOW PROFILE、SHOW PROFILES语句怎么用

    技术MySQL 5.5中SHOW PROFILE、SHOW PROFILES语句怎么用这篇文章将为大家详细讲解有关MySQL 5.5中SHOW PROFILE、SHOW PROFILES语句怎么用,小编觉得挺实用的,因此

    攻略 2021年10月30日
  • 怎么用pythoner判断字符串是否可以作为密码

    技术怎么用pythoner判断字符串是否可以作为密码这篇文章主要介绍“怎么用pythoner判断字符串是否可以作为密码”,在日常操作中,相信很多人在怎么用pythoner判断字符串是否可以作为密码问题上存在疑惑,小编查阅

    攻略 2021年11月4日
  • CF538G

    技术CF538G CF538G不知道在哪里找到的题,感觉评不到黑,不过是 Good Tea.首先了解将坐标系翻转 $45^{\circ}$ 的 trick ,对于每个坐标 $(x,y)$,翻转后的坐标为

    礼包 2021年12月20日
  • centos7 k8s集群(centos7安装k8s集群)

    技术centos7系统部署k8s集群的示例分析centos7系统部署k8s集群的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1 版

    攻略 2021年12月15日
  • 如何在RStudio中创建C++文件

    技术如何在RStudio中创建C++文件这篇文章主要介绍了如何在RStudio中创建C++文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在RStudi

    攻略 2021年11月6日
  • 分析Angular中的预加载配置、懒加载配置

    技术分析Angular中的预加载配置、懒加载配置本篇内容主要讲解“分析Angular中的预加载配置、懒加载配置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“分析Angular

    攻略 2021年11月5日