首页 VxWorks引导程序启动详细过程(bootrom_uncmp.bin)

VxWorks引导程序启动详细过程(bootrom_uncmp.bin)

举报
开通vip

VxWorks引导程序启动详细过程(bootrom_uncmp.bin)------------------------------------------作者xxxx------------------------------------------日期xxxxVxWorks引导程序启动详细过程(bootrom_uncmp.bin)【精品文档】【精品文档】【精品文档】【精品文档】【精品文档】【精品文档】VxWorks引导程序启动详细过程(bootrom_uncmp.bin)系统上电=====初始化CPU;配置处理器的工作模式;配置存储器;关闭中断和看门狗;清除Cache;设置堆栈指针...

VxWorks引导程序启动详细过程(bootrom_uncmp.bin)
------------------------------------------作者xxxx------------------------------------------日期xxxxVxWorks引导程序启动详细过程(bootrom_uncmp.bin)【精品文档】【精品文档】【精品文档】【精品文档】【精品文档】【精品文档】VxWorks引导程序启动详细过程(bootrom_uncmp.bin)系统上电=====初始化CPU;配置处理器的工作模式;配置存储器;关闭中断和看门狗;清除Cache;设置堆栈指针;特定于CPU的其他初始化;配置启动参数(冷启动还是热启动)跳到romStart(intstartType).->romInit():|||将Flash中的启动代码拷贝到RAM中,最后调用ROM或RAM中的usrInit();拷贝的内容与生成的内核类型有关,但通常都需将数据段拷贝到RAM中。如果是压缩格式映象,除了拷贝还要进行解压。最后调用sysALibs.s中的sysInit(intstartType).|->romStart(intstartType):||||用于用于完成最后的CPU初始化部分,并且关闭系统的其他硬件设备,为内核的初始化和启动准备一个单任务的环境(无中断,无任务)。完成内核激活的准备工作:(1)设备处于静止状态;(2)处理器中断处于禁止状态。引导阶段已经实现了(2),一次该函数功能就是使设备处于静止状态。用户定义BSP初始化SYS_HW_INIT_0();(sysHwInit0())无初始化Cache;cacheLibInit()清零BBS;bzero(edata,end-edata);暗黄安装中断向量;excVecInit();置硬件静止状态;sysHwInit();配置Wind内核,初始化任务管理和任务队列usrKernelInit();使能Cache;cacheEnable(INSTRUCTION_CACHE);激活跟任务;kernelInit((FUNCPTR)usrRoot,,,,,,)|bootConfig.c->usrInit(intstartType):||||||||||||||||负责在内核激活前,将硬件置于静止状态:安装中断向量ISR:S3C2410ExcVecSet();安装IRQ/SVC的堆栈设置程序:_func_armIntStackSplit=sysIntStackSplit;复制命令行:strncpy(sysBootLine,DEFAULT_BOOT_LIN,strlen(DEFAULT_BOOT_LINE)+1);初始化串口设备,数据结构和禁止串口中断:sysSerialHwInit();|sysLib.c->sysHwInit():||||||||||||usrKernel.c->usrKernelInit(void)配置Wind内核,初始化任务管理和任务队列:初始化类库:classLibInit();初始化任务变量:taskLibInit();配置内核任务队列:qInit(&readyQHead,Q_PRI_LIST);qInit(&activeQHead,Q_FIFO);qInit(&tickQHead,Q_PRI_LIST);workQInit();||bootConfig.c->usrRoot(char*pMemPoolStart,unsignedmemPoolSize):用于完成系统最后的初始化以及所有硬件的初始化:初始化系统内存池:memInit(pMemPoolStart,memPoolSize);安装始终中断ISR,设置始终频率,使能时钟:sysClkConnect((FUNCPTR)usrClock,0);/、connectclockinterruptroutinesysClkRateSet(SYS_CLK_RATE);/*setsystemclockrate*/sysClkEnable();/*startit*/初始化IOS:selectInit(NUM_FILES);iosInit(NUM_DRIVERS,NUM_FILES,"/null");consoleFd=NONE;初始化串口设备,安装串口设备驱动程序,并启动串口设备:/**/初始化WDB:wdbConfig();/*configureandinitializetheWDBagent*/vxBootFile[0]=NULL;打开TargetServerConsole:/*forTargetServerConsole*/consoleFd=open("/vio/0",O_RDWR,0);设置标准I/O输入输出:ioGlobalStdSet(STD_IN,consoleFd);ioGlobalStdSet(STD_OUT,consoleFd);ioGlobalStdSet(STD_ERR,consoleFd);安装管道驱动程序:pipeDrv();初始化各种可得设备:/**/10.启动bootCmdLoop任务:taskSpawn("tBoot",bootCmdTaskPriority,bootCmdTaskOptions,bootCmdTaskStackSize,(FUNCPTR)bootCmdLoop,0,0,0,0,0,0,0,0,0,0);||||||||||||||||||||||||||||||||待续…|bootConfig.c->voidbootCmdLoop(void):||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
本文档为【VxWorks引导程序启动详细过程(bootrom_uncmp.bin)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
busy
我是中学教学,担任英语教学工作
格式:doc
大小:138KB
软件:Word
页数:0
分类:
上传时间:2021-10-15
浏览量:16