VxWorks6.6 pcPentium BSP 使用说明(一):基本概念
“VxWorks6.6 BSP 使用说明”将发布pcPentium和idp945两个系列的BSP的使用说明。每个系列约5篇文章。之后还将发布由这两个官方提供的BSP的实战移植方法。
本说明适用范围
pcPentium/2/3/4 - 386/486 和 Pentium/2/3/4
引言
该参考文档提供运行pcPentium,pcPentium2,pcPentium3和pcPentium4的VxWorks BSP的板卡特性信息。
在板卡上运行VxWorks之前,核实板卡运行在正确的配置,通过检测是否采用原厂ROM,是否设置正确的跳线和连接串口读取配置信息。
请注意,pc386,pc486,pcPentium,pcPentium2,pcPentium3和pcPentium4的BSP是针对通用PC机主板的通用BSP包。为了达到最佳效果,本文档应结合板卡供应商的说明文档一起使用。
如果此BSP(pcPentium4)是用于一些特定的目标板,包括英特尔E7520芯片组(Allagash),那么vxBus串行驱动的支持是必需的。若想以WDB连接方式通过任何串行端口载入bootrom和系统镜像,都必须配置支持vxBus串行驱动程序。见第3节使用vxBus串行驱动的说明:“创建一个BootROM镜像”。
引导过程
当一个标准的采用AT电源方式的计算机开机时,系统的BIOS代码会被加载并引导执行。引导加载程序是基于8088的16位汇编语言。BIOS从引导扇区引导启动,这可能是如下几种方式:软盘,硬盘,或一些其他的介质如ROMCARD或TFFS卡。BIOS找到引导加载器后将转交给其继续执行。引导加载程序找到bootrom.sys文件,将它载入内存,并跳转到romInit开始执行。
TrueFFS支持
该BSP支持TrueFFS及其配置。要使用TrueFFS,安装软件并在BSP的config.h文件中定义包含INCLUDE_TFFS。
TrueFFS被设计为使用M - Systems公司的DiskOnChip 2000(闪存)和双PCMCIA插槽的采用dosFs的磁盘驱动。
如果你想从DiskOnChip启动,更改config.h中SYS_WARM_TYPE的定义,由SYS_WARM_FD变为SYS_WARM_TFFS。
“无线局域网支持”
该BSP支持可选的无线局域网芯片创锐讯(Atheros)AR521X MAC。为了启用无线局域网支持,安装硬件并配置BSPconfig.h文件包含定义INCLUDE_AR521X_END
启动镜像
通常AT电源方式PC的典型启动方式采用的是的启动盘而不是启动芯片。启动盘包括启动扇区(0扇区)和一个有启动镜像文件bootrom.sys的DOS文件系统。该引导映像可以是如下几种形式之一。注意,工程会建立vxWorks_romCompress.bin和vxWorks_romResident.bin。 VxWorks_rom.bin可以被工程或者命令行建立。其他镜像由个命令行建立。
| | 镜像 | |
---|
镜像名称 | 说明 | 压缩 | 镜像加载 |
---|
|
vxWorks_rom.bin | 可引导的VxWorks | 无 | 高内存 |
vxWorks.st_rom.bin | 可引导的vxWorks.st | 是 | 高内存 |
bootrom.bin | 引导镜像 | 是 | 高内存 |
bootrom_uncmp.bin | 引导镜像 | 无 | 高内存 |
vxWorks_romCompress.bin | 可引导的VxWorks | 是 | 高内存 |
vxWorks_romResident.bin | 可引导的VxWorks | 无 | 低内存 |
|
VxWorks.st是一个包含基本命令行,符号表和网络接口的独立完整镜像。不过请注意,网络接口没有初始化。
引导映像必须被复制到软盘(A:)或IDE硬盘(C:)中,使用DOS引导工具“mkboot.bat”,或VxWorks的引导工具“mkbootFd”(对软盘),或“mkbootAta”(对硬盘)。
请注意,为避免重新启动的问题,适当地调整工作区中的SYS_WARM_TYPE参数并确保参数更新应用到工程中。默认是采用软盘启动。
在主机端制作启动盘包括两个步骤。创建BootROM的镜像文件,并准备启动盘。
创建一个BootROM镜像
1、首先从6种支持的启动镜像中选择合适的并改变扩展名为.bin,如vxWorks_rom.bin,vxWorks.st_rom.bin,bootrom.bin和bootrom_uncmp.bin。请记住,低内存启动映像(vxWorks_romResident.bin)不得大于640KB。
2、选择一个适当的引导方式,通过Workbench定义DEFAULT_BOOT_LINE,或直接在config.h中定义。DEFAULT_BOOT_LINE的示例如下:
"fei(0,0)host:/path/name/vxWorks h=90.0.0.3 e=90.0.0.50 u=bob"(通过网络下载引导启动)"fd=0,0(0,0)host:/fd0/vxWorks e=90.0.0.50 u=jane o=fei"(通过软盘引导启动)"ata=0,0(0,0)host:/ata0disk0/vxWorks e=90.0.0.50 u=steve o=fei"(通过IDE硬盘0通道主盘引导启动)"ata=0,1(0,0)host:/ata0disk1/vxWorks.st"(通过IDE硬盘0通道从盘引导启动)
3、如果要创建一个基于E7520芯片组目标板的引导镜像,如英特尔\tbAllagash,必要修改config.h配置以包括vxBus和16550串口支持。在DEFAULT_BOOT_LINE定义后加入以下行。
#define INCLUDE_VXBUS #define INCLUDE_SIO_UTILS #define DRV_SIO_NS16550 #define INCLUDE_PARAM_SYS#define INCLUDE_HWMEM_ALLOC #define INCLUDE_PLB_BUS #define INCLUDE_PCI_BUS #define INCLUDE_PENTIUM_PCI #define HWMEM_POOL_SIZE 50000
3、通过在BSP目录下运行“make image_name”来编译启动镜像或阅读Wind River Workbench User's Guide来引导怎样通过Workbench编译一个可启动的镜像。
准备一个启硬盘/软盘。
4、引导加载器在软盘上搜索的文件bootrom.sys。扩展名为.bin的引导文件可以被重命名为bootrom.sys。而所有其他的启动镜像则需要一个转换工具来转换为bootrom.sys。