VxWorks下BSP源文件结构

        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函数。

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重新热启动
  
可选择实现的函数有:

函数名功能
sysAbortIntAbort按键中断处处理函数
sysAuxClkDisable禁止辅助时钟中断
sysAuxClkRateGet辅助时钟间隔时间
sysPhysMemTop返回物理内存的最大地址

除了上述必须实现的三个文件外,还需要一些可选文件:

文件名说明
sysSerial.c串口驱动相关的文件
sysScsi.cSCSI驱动相关代码
sysNet.c局域网LAN驱动相关代码



  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值