概述
本文主要是记录《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