VxWorks启动流程

简介: 镜像种类不同,VxWorks的启动过程会有所不同。<br> 我们项目中使用的是加载型VxWorks镜像<br><br><a target="_blank" href="http://blog.chinaunix.net/attachment/201106/23/24148050_1308798210jJV3.jpg"><img border="0" alt="" src="http://
镜像种类不同,VxWorks的启动过程会有所不同。
我们项目中使用的是加载型VxWorks镜像

  



函数

函数功能

所在文件

bootTask()

(a)    通过createBootLineFromFlash()从FLASH_ADRS中读出配置信息,组装bootline字符串到BOOT_LINE_ADRS

(b)    调用autoboot()

bootMain.c

autoboot()

延迟5s,等待用户输入

超时后调用sysInit()

bootMain.c

sysInit()

(a)    锁住中断

(b)    禁用缓冲

(c)    用缺省值初始化系统中断表(仅i960)

(d)    用缺省值初始化系统错误表(仅i960)

(e)    初始化处理器寄存器到一缺省值

(f)     使回溯失效

(g)    清除所有悬置中断

激活usrInit(),指明启动类型

sysALib.s

usrInit()

(a)    调用sysStart() 对bss清零

(b)    调用cacheLibInit() 支持cache

(c)    调用excVecInit(),初始化所有系统和缺省中断向量

(d)    调用sysHwInit(), usrCacheEnable()

(e)    调用usrKernelInit()

prjConfig.c

usrKernelInit()

依次调用classLibInit(),taskLibInit()qInit(),workQInit(),

kernelInit()

Target\config

\comps\src

\usrKernel.c

kernelInit()

初始化并启动内核。

(a)激活intLockLevelSet();

(b)从内存池顶部创建根堆栈和TCB

(c)调用taskInit(), taskActivate(),用于usrRoot();

(d)调用usrRoot()

kernelLib.h

usrRoot()

依次调用

usrKernelCoreInit(),memPartLibInit(),memInit(),

usrMmuInit(),sysClkInit(),

usrIosCoreInit(),usrKernelExtrsInit(),usrIo***traInit(),

usrNetworkInit(),selectInit(),usrToolsInit(),

cplusDemanglerInit(),usrAppInit()

prjConfig.c

usrAppInit()

依次调用 startWdTask(), appMain()

usrAppInit.c


相关文章
Vxworks 6.6系列下载地址
Vxworks 6.6系列下载地址: <br> ---------------------------------- <br><a target="_blank" href="ftp://ftp.windriver.speedera.net/ftp.windriver/internal/eval/vxworks-6.6/CDR-R133467.1-1-00.zip">ftp://ftp.
7397 0
|
监控 Linux 数据安全/隐私保护
IPMI介绍
IPMI简要介绍
8019 0
|
物联网 测试技术 Android开发
蓝牙BLE传输性能及延迟分析
BLE传输性能主要受以下几个因素影响:操作类型,Connection Interval,每个Connection Event内发送的帧数、每一帧数据的长度。具体参见如下链接: https://en.wikipedia.
4550 0
|
缓存 安全 网络协议
使用事件日志识别常见 Windows 错误
事件查看器是Windows操作系统中的标准诊断工具,用于记录系统事件,包括硬件问题、软件中断和系统行为等详细信息。通过分析这些日志,管理员能够追踪和解决系统错误。访问方法包括使用快捷键Win + R输入eventvwr.msc,或通过控制面板进入。事件查看器中的每条记录包含事件ID、来源和描述,帮助识别和解决问题。常见错误如蓝屏死机、DLL错误、驱动程序错误等,可通过更新驱动程序、运行系统诊断、使用恢复功能等方式解决。
1173 4
|
Kubernetes Python 容器
[python]使用diagrams绘制架构图
[python]使用diagrams绘制架构图
675 3
|
机器学习/深度学习 算法
【机器学习】支持向量机SVM、逻辑回归LR、决策树DT的直观对比和理论对比,该如何选择(面试回答)?
文章对支持向量机(SVM)、逻辑回归(LR)和决策树(DT)进行了直观和理论上的对比,并提供了在选择这些算法时的考虑因素,包括模型复杂度、损失函数、数据量需求、对缺失值的敏感度等。
608 1
可靠性(MTTF,MTTR,MTBF以及系统可靠性的计算,串联,并联,模冗余系统)
可靠性(MTTF,MTTR,MTBF以及系统可靠性的计算,串联,并联,模冗余系统)
2984 1
|
JavaScript 关系型数据库 MySQL
若依框架数据源切换为pg库
若依管理系统切换数据源为pg数据库
1923 1
若依框架数据源切换为pg库
|
数据可视化 算法
Simulink-Simscape仿真环境配置
Simulink-Simscape仿真环境配置
464 1
|
Ubuntu Docker 容器
ubuntu2022预科(一)------cron配置
ubuntu2022预科(一)------cron配置
430 1

热门文章

最新文章