Tornado开发环境安装完成后,在target/config目录下包含由官方提供的一些BSP以及公用目录all,all目录被所有的BSP使用,具体文件介绍如下:
vxworks内核文件
文件名 |
说明 |
usrConfig.c |
包含usrInit,usrRoot等函数 |
bootInit.c |
包含romStart函数定义,负责代码从ROM拷贝到RAM中 |
version.c |
版本信息文件,使用_DATA_和_TIME_表示映像的创建时间 |
dataSegPad.c |
当使用vxVMI组件时,该文件中的代码确保数据和代码段使用不同的物理页面 |
configAll.c |
定义了一系列系统默认组件和系统常量 |
|
|
bootrom包含文件
文件名 |
说明 |
bootConfig.c |
包含usrInit,usrRoot等函数 |
bootInit.c |
包含romStart函数定义,负责代码从ROM拷贝到RAM中 |
version.c |
版本信息文件,使用_DATA_和_TIME_表示映像的创建时间 |
dataSegPad.c |
当使用vxVMI组件时,该文件中的代码确保数据和代码段使用不同的物理页面 |
configAll.c |
定义了一系列系统默认组件和系统常量 |
Tornado编译环境对BSP目录下的文件有特殊要求,在BSP目录下必须包含以下三个文件:
1.romInit.s
该文件定义了romInit函数,是整个系统启动的入口函数,系统上电时,执行的第一行代码是romInit函数实现的第一条语句,主要完成平台的初始化,初始化C函数调用环境(栈初始化),调用romStart函数。
【VxWorks下BSP源文件结构】2.sysALib.s
该文件定义了sysInit函数,完成的功能类似于romInit,sysALib.s文件只被下载型Vxworks内核映像使用
3.sysLib.c
该文件必须实现一些具有指定函数名和指定功能的函数.
函数名 |
功能 |
sysBspRev |
返回BSP版本号和子版本号 |
sysClkConnect |
注册系统时钟中断处理函数 |
sysClkDisable |
禁止系统时钟中断 |
sysClkEnable |
使能系统时钟中断 |
sysClkInt |
系统时钟中断处理函数 |
sysClkRateGet |
返回系统时钟中断间隔时间 |
sysClkRateSet |
设置系统时钟中断间隔时间 |
sysHwInit |
外围设备初始化函数,必须完成所有外围设备的基本初始化工作,不可进行中断 相关的任何操作 |
sysHwInit2 |
所有需要中断配合的外围设备二次初始化函数,完成所有涉及中断的初始化工作 |
sysMemTop |
返回VxWorks内核可用内存的最大地址值 |
sysModel |
返回平台CPU标识符 |
sysNvRamSet |
获取指定NVRAM(非易失性RAM)地址处的内容 |
sysNvRamSet |
向指定NVRAM地址处写入内容 |
sysSerialHwInit |
串口设备初始化 |
sysSerialHwInit2 |
串口设备二次初始化,中断部分初始化 |
sysSerialChanGet |
获取串口通道对应的SIO_CHAN结构 |
sysToMonitor |
重新热启动 |
|
|
可选择实现的函数有:
函数名 |
功能 |
sysAbortInt |
Abort按键中断处处理函数 |
sysAuxClkDisable |
禁止辅助时钟中断 |
sysAuxClkRateGet |
辅助时钟间隔时间 |
sysPhysMemTop |
返回物理内存的最大地址 |
除了上述必须实现的三个文件外,还需要一些可选文件:
文件名 |
说明 |
sysSerial.c |
串口驱动相关的文件 |
sysScsi.c |
SCSI驱动相关代码 |
sysNet.c |
局域网LAN驱动相关代码 |
推荐阅读