我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

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

这篇文章主要为大家展示了“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启动顺序是怎么样的”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


名称栏目:Boot之bootrom启动顺序是怎么样的
本文来源:http://shouzuofang.com/article/iehijh.html

其他资讯