电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

VxWorks引导程序启动详细过程(bootrom_uncmp.bin)VIP专享VIP免费

VxWorks引导程序启动详细过程(bootrom_uncmp.bin)_第1页
VxWorks引导程序启动详细过程(bootrom_uncmp.bin)_第2页
VxWorks引导程序启动详细过程(bootrom_uncmp.bin)_第3页
VxWorks 引导程序启动详细过程(bootrom_uncmp.bin) 系统上电 ===== | romInit.s -> romInit() : | | | |bootInit.c ->romStart(int startType) : | | | | |bootConfig.c ->usrInit(int startType): | | | | | | | | | | | | | | 初始化CPU;配置处理器的工作模式;配置存储器;关闭中断和看门狗;清除Cache; 设置堆栈指针;特定于CPU 的其他初始化;配置启动参数(冷启动还是热启动)跳到romStart(int startType). 将Flash 中的启动代码拷贝到RAM 中,最后调用ROM 或RAM 中的usrInit();拷贝的内容与生成的内核类型有关,但通常都需将数据段拷贝到RAM 中。如果是压缩格式映象,除了拷贝还要进行解压。最后调用sysALibs.s 中的sysInit(int startType). 用于用于完成最后的CPU 初始化部分,并且关闭系统的其他硬件设备,为内核的初始化和启动准备一个单任务的环境(无中断,无任务)。完成内核激活的准备工作:(1)设备处于静止状态;(2)处理器中断处于禁止状态。引导阶段已经实现了(2),一次该函数功能就是使设备处于静止状态。 0. 用户定义 BSP 初始化 SYS_HW_INIT_0 ();(sysHwInit0())无 1. 初始化Cache; cacheLibInit() 2. 清零 BBS; bzero (edata, end - edata); 3. 暗黄安装中断向量; excVecInit ( ); 4. 置硬件静止状态; sysHwInit (); 5. 配置Wind 内核,初始化任务管理和任务队列 | | | sysLib.c -> sysHwInit(): | | | | | | | | | | | | usrKernel.c -> usrKernelInit(void) | | bootConfig.c ->usrRoot (char *pMemPoolStart, unsigned memPoolSize): | | | | | | | | | | | | 负责在内核激活前,将硬件置于静止状态1. 安装中断向量ISR: S3C2410ExcVecSet(); 2. 安装IRQ/SVC 的堆栈设置程序: _func_armIntStackSplit = sysIntStackSplit3. 复制命令行: strncpy(sysBootLine,DEFAULT_BOOT_Len(DEFAULT_BOOT_LINE)+1)4. 初始化串口设备,数据结构和禁止串口 sysSerialHwInit (); 配置Wind 内核,初始化任务管理和任务队列: 1. 初始化类库: classLibInit (); 2. 初始化任务变量: taskLibInit (); 3. 配置内核任务队列: qInit (&readyQHead, Q_PRI_LIST); qInit (&activeQHead, Q_FIFO); qInit (&tickQHead, Q_PRI_LIST); workQI...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部