VxWorks 培训学习笔记(6)
11.bootrom 的启动顺序和源码位置
函数: romInit romStart usrRoot CMDLoop
文件: <bsp/romInit.s> <all/bootInit.c> <al/bootCong.c> <all/bootCong.c>
其中 bootInit.c 和 bootCong.c 会用到 sysLib.c 中的一些函数,这些函数使一些通用接口,
它们调用 scr/cong(简称 S/C)下的 usr***.c 和 scr/drv/(简称 DD)下的一些程序。
DD 下面的就是 device driver,它们的链接方式有两种:
<1>被 bootCong.c 和 sysLib.c 等直接#include
<2>目录下自带 makele,用 cmd 命令在目录下键入 make,函数进入系统库
usr***.c:配合宏使用的链结方式,直接#include
!如果修改含有 makele 文件的目录下的*.c 文件,必须重新 make,否则系统库没有更
新。
!特殊修改推荐将文件拷到 bsp 目录下,加入工程或者#include
!如果设备供应商只提供*a 或*.o 而不提供源码,那么在 makele 中加入 LIB_EXTRA=**.a
或 MACH_EXTRA=**.o。*.o 是无条件链接,而*.a 库是有条件链接,只有在用到了库中的
函数接口时,才会被链接。
12. VxWorks 启动顺序和源码位置
函数: sysInit usrInit usrRoot usrAppInit
文件: <bsp/sysALib.s> <usrProj/prjCong.c> <usrProj/prjCong.c> <usrProj/usrAppInit.c>
prjCong.c 引用 usr***.c,目录是 target/cong/comps/src(简称 C/S,不是 bootrom 调用
的同名函数)
图形界面下的初始配置来自 bsp 的 cong.h 和 makele,在工程建立的时候系统会自动
完成此工作,编译使系统会根据图形界面下的配置自动生成 prjparam.h 和 prjComps.h 来
保存选中的组件和配置参数。此后配置的改动将通过 prjCong.c 和这两个.h 文件反映,
再修改 cong.h 不会对 vxWorks 的生成起作用。 对上面三个文件的手工修改也会被系统
自动覆盖。系统同时还在 usrProj 下自动生成 makele,同样不能通过对文件的直接修改
达到更新目的。