vxWorks启动流程分析
2016-10-11 21:35
218 查看
原文地址:VxWorks启动流程 作者:leonwang202
镜像种类不同,VxWorks的启动过程会有所不同。
我们项目中使用的是加载型VxWorks镜像
镜像种类不同,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 |
相关文章推荐
- shark接口1分析(一)--启动流程
- linux 2.6 启动流程分析
- [转载] linux启动流程分析(4)---汇编部分(2)
- Linux系统分析之启动流程
- spring源码之旅(2)_applicationcontext启动流程分析
- shark接口1分析(一)--启动流程
- Linux系统分析之启动流程
- [转载] linux启动流程分析(3)---内核解压缩过程
- [转载] linux启动流程分析(2)---内核启动地址的确定
- U-boot启动流程(Linux内核)的分析(四)
- u-boot移植(一)---u-boot启动流程分析
- linux 启动详解 分析 启动流程
- 基于ARM的嵌入式系统Bootloader启动流程分析[转自http://blog.ednchina.com/darkbluexn/11951/message.aspx#]
- [转载] linux启动流程分析(4)---汇编部分(1)
- 14.3 U-Boot启动流程分析
- shark接口1分析(一)--启动流程
- 基于ARM的嵌入式系统Bootloader启动流程分析----- 转!!
- linux启动流程分析-内核解压缩过程
- [转载] linux启动流程分析(4)---汇编部分(4)
- Linux系统分析之启动流程