温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-12-22 10:21:09 来源:亿速云 阅读:428 作者:小新 栏目:互联网科技

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

    加载vxWorks的boot loader有很多种,最常见的就是使用BSP编译的bootrom

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

它在Target里的执行顺序如下

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

  • usrInit() - config/all/usrConfig.c,主要工作包括:将BSS清零、初始化Cache库、设置中断向量表基址、安装异常向量、调用sysHwInit()、使能Cache、调用usrKernelCorePreInit()初始化Class、对象、信号量等、初始化wdb、调用usrKernelInit()

    • usrKernelInit() - comps/src/usrKernel.c,配置内核使用的数据结构,包括初始化内核的Task库、配置调度策略、初始化Tick队列、初始化wind work队列、记录系统内存池尺寸、调用kernelInit()初始化内

    • kernelInit() - src/wind/kernelLib.c,初始化并启动内核,包括设置中断栈尺寸、设置内存池位置、初始化中断lock-out等级、关闭时间片轮转策略、将系统Tick清零、初始化中断栈、初始化并启动第一个任务tRootTask

  • usrRoot() - config/all/usrConfig.c,这就是系统第一个任务的入口地址,主要负责post-kernel的初始化,逐步加载系统服务,它内部同样由大量初始化函数组成

    • usrKernelCoreInit() - src/config/usrKernelCore.c,初始化内核的一些机制,包括Event、信号量的open机制、消息队列及open机制、看门狗、任务的open机制等

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

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

    • usrKernelCreateInit() - src/config/usrKernelCore.c,初始化内核对象的creation机制,例如任务、消息队列、看门狗

    • sysClkConnect() - 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库

    • ttyDrv() - src/os/io/ttyDrv.c,初始化TTY驱动

    • ttyDevCreate - src/os/io/ttyDrv.c,创建TTY设备

    • 初始化其它机制,例如任务级job机制、message logging库、管道驱动、标准IO库、ERF(Event Reporting Framework)库、设备管理、文件系统相关机制、pty(pseudo-terminal)驱动、存储设备加载、Boot Line解析等

    • bootAppShellInit() - src/boot/bootAppShell.c,初始化Boot Shell

    • Boot方式的初始化,例如文件系统、网络

    • bootApp() - src/boot/bootApp.c,启动Boot Loader主任务bootApp

  • bootAppTask() - src/boot/bootApp.c,bootApp的入口地址。它默认先等待7秒,如果Boot Shell接收到命令,则解析执行;如果7秒倒计时结束,则按照Boot Line将vxWorks镜像加载到RAM_LOW_ADRS,然后跳转到这个地址开始执行vxWorks

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

以上是“Boot之bootrom启动顺序是怎么样的”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI