VxWorks 6.9 BSP开发指南

概述

本文主要是记录《VxWorks BSP Developer’s Guide 6.9》和《VxBus Device Driver Developer’s Guide 6.9》的部分章节内容,重点关注VxWorks 6.9的BSP移植和驱动开发。

BSP概述

本章主要介绍VxWorks启动过程中调用的BSP相关函数,BSP移植的主要工作就是实现这些函数。

函数 文件 描述
romInit() romInit.s 初始化CPU和内存
sysHwInit() sysLib.c 硬件外设初始化
sysHwInit0() sysLib.c 在sysHwInit()之前完成特定硬件外设初始化,该函数只在部分BSP中需要
sysHwInit1() sysLib.c 只有64bit需要,初始化所有硬件外设和虚拟内存
sysHwInit2() sysLib.c 准备VxWorks应用运行所需的硬件外设

BSP所需的源文件包括:

Required BSP Files:
installDir/vxworks-6.x/target/config/bspname/bspname.h
installDir/vxworks-6.x/target/config/bspname/config.h
installDir/vxworks-6.x/target/config/bspname/Makefile
installDir/vxworks-6.x/target/config/bspname/README
installDir/vxworks-6.x/target/config/bspname/romInit.s
installDir/vxworks-6.x/target/config/bspname/sysALib.s
installDir/vxworks-6.x/target/config/bspname/sysLib.c
installDir/vxworks-6.x/target/config/bspname/target.ref

Optional BSP Files:
installDir/vxworks-6.x/target/config/bspname/sysSerial.c
installDir/vxworks-6.x/target/config/bspname/configNet.h
installDir/vxworks-6.x/target/config/bspname/sysEnd.c

VxBus Device Driver Directories:
installDir/vxworks-6.x/target/src/hwif/busCtlr
installDir/vxworks-6.x/target/src/hwif/console
installDir/vxworks-6.x/target/src/hwif/cpu
installDir/vxworks-6.x/target/src/hwif/demo
installDir/vxworks-6.x/target/src/hwif/dmaCtlr
installDir/vxworks-6.x/target/src/hwif/end
installDir/vxworks-6.x/target/src/hwif/end2
installDir/vxworks-6.x/target/src/hwif/fw
installDir/vxworks-6.x/target/src/hwif/h
installDir/vxworks-6.x/target/src/hwif/hEnd
installDir/vxworks-6.x/target/src/hwif/i2c
installDir/vxworks-6.x/target/src/hwif/intCtlr
installDir/vxworks-6.x/target/src/hwif/mf
installDir/vxworks-6.x/target/src/hwif/mii
installDir/vxworks-6.x/target/src/hwif/nvram
installDir/vxworks-6.x/target/src/hwif/resource
installDir/vxworks-6.x/target/src/hwif/sio
installDir/vxworks-6.x/target/src/hwif/spi
installDir/vxworks-6.x/target/src/hwif/storage
installDir/vxworks-6.x/target/src/hwif/timer
installDir/vxworks-6.x/target/src/hwif/usb
installDir/vxworks-6.x/target/src/hwif/util
installDir/vxworks-6.x/target/src/hwif/vxbus

VxWorks Configuration Directories:
installDir/vxworks-6.x/target/config/all
installDir/vxworks-6.x/target/src/config
installDir/vxworks-6.x/target/config/comps
installDir/vxworks-6.x/target/config/comps/src
installDir/vxworks-6.x/target/config/comps/vxWorks

重要源文件说明:

源文件 说明
prjParams.h VxWorks组件化配置和裁剪,自动生成开关宏(COMPONENTS INCLUDED)和宏参数(PARAMETERS)文件。prjParams.h通常被config.h包含,prjComps.h被target/config/comps/src/configAll.h包含。
prjComps.h
configAll.h 被config.h包含
configNet.h 增强型网络驱动配置文件
config_pre.h
config.h
sysALib.s
sysLib.c
linkSyms.c
prjConfig.c 包含config.h,是VxWorks应用程序的入口,因为prjConfig.c的usrRoot()函数调用了usrAppInit()。创建工程或者重新编译VxWorks系统镜像工程时自动生成,用来初始化VxWorks系统各个组件,每次重新编译工程时会重置。
usrConfig.c 编译bootrom文件时使用,功能与prjConfig.c类似。
vxBus.c
usrAppInit.c

 

本文出自:https://www.cnblogs.com/justin-y-lin/p/16369169.html