“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.hSYS_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。

VxWorks6.6 pcPentium BSP 使用说明(一):基本概念的更多相关文章

  1. VxWorks6.6 pcPentium BSP 使用说明(三):设备驱动

      本文主要介绍了pcPentium BSP中包含的驱动程序.包含了官方提供的所有驱动程序,除了aic7888Lib--现在已用得很少的一个AIC-7888 SCSI控制器的驱动介绍.建议重点阅读at ...

  2. VxWorks6.6 pcPentium BSP 使用说明(二):创建启动盘

    本篇介绍从Solaris.Linux.Windows或VxWorks创建VxWorks启动盘的方法. 从Solaris或Linux创建启动盘 使用Solaris或Linux自带的工具/usr/bin/ ...

  3. win7下的vxworks总结

    在visualbox下运行vxworks 先来看一张效果图: 在tornado端 成功运行第一个程序,输出了visualbox can run the vxworks ! 在vmware下的速度快多了 ...

  4. vxWorks6.6 N270 D525 cpu的bsp配置总结

    对硬盘的操作 使用SATA硬盘,分区,引导区(VxC:)必须格式化为FAT(FAT16)格式,所以该分区大小有限制,不能超过4G(4G大小带测试),设置C:为"活动的": 主机上安 ...

  5. 从BSP模型到Apache Hama

    一.什么是BSP模型 概述 BSP(Bulk Synchronous Parallel,整体同步并行计算模型)是一种并行计算模型,由英国计算机科学家Viliant在上世纪80年代提出.Google发布 ...

  6. Oracle 中 union 和union all 的简单使用说明

    1.刚刚工作不久,经常接触oracle,但是对oracle很多东西都不是很熟.今天我们来了解一下union和union all的简单使用说明.Union(union all): 指令的目的是将两个 S ...

  7. Java线程:概念与原理

    Java线程:概念与原理 一.操作系统中线程和进程的概念 现在的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程 ...

  8. 思维导图分享以及MindManager使用说明

    来源于: http://www.cnblogs.com/muhongxing/archive/2009/12/22/1628782.html http://www.cnblogs.com/muhong ...

  9. kafka概念

    一.结构与概念解释 1.基础概念 topics: kafka通过topics维护各类信息. producer:发布消息到Kafka topic的进程. consumer:订阅kafka topic进程 ...

随机推荐

  1. 针对Chrome谷歌等浏览器不再支持showModalDialog的解决方案

    最近在维护一个老项目,之前都是用IE来调试代码的.今天想着测试一下项目的兼容性,就用了谷歌浏览器,然后就遇到这样一个问题:一段用showModalDialog实现弹出模态框和返回值的js代码,在调试时 ...

  2. java之静态代理和动态代理

    我们以几个问题,来开始我们今天的学习,如果下面几个问题,你都能说出个一二,那么恭喜你,你已经掌握了这方面的知识.1,什么是代理模式?2,Java中,静态代理与动态代理的区别?3,Spring使用的是J ...

  3. Jmockit之mock特性详解

    本文是Jmockit学习过程中,根据官网所列的工具特性进行解读. 1.调用次数约束(Invocation count constraints) 可以通过调用计数约束来指定预期和/或允许匹配给定期望的调 ...

  4. ContextLoaderListener加载过程

    在web.xml中,配置ContextLoaderListener <!-- 配置Listener,用来创建Spring容器 --> <listener> <listen ...

  5. 2019/1/10 redis学习笔记(二)

    本文不涉及集群搭建操作 关于在lua脚本中操作redis的应用场景 大家都知道redis对于单个集合的操作是原子性的;但是有可能有一种场景是这样.比如说抢红包,现在有十个人抢五份红包,抽象到我们jav ...

  6. Lua利用cjson读写json

    前言 本文结合本人的实际使用经验和代码示例,介绍如何在Lua中对json进行encode和decode.我这里采用的是Lua CJson库,是一个高性能的JSON解析器和编码器,其性能比纯Lua库要高 ...

  7. 个人微信接入图灵机器人(python版)

    准备工作 itchat,requests 注册图灵账号,创建机器人,获取API-KEY 代码实现 import itchat from itchat.content import * import j ...

  8. [Python Study Notes]字符串操作

    字符串操作 a.字符串格式化输出 name = "liu" print "i am %s " % name     #输出: i am liu   PS: 字符 ...

  9. Xshell配置SSH秘钥登录

    秘钥生成 生成公钥 工具 -> 新建用户秘钥生成向导 -> 下一步 -> 点击下一步,输入密码: 点击下一步 点击保存为文件,完成. 生成私钥 工具 -> 用户秘钥管理者 选中 ...

  10. C++11 标准库也有坑(time-chrono)

    恰巧今天调试程序遇到时间戳问题, 于是又搜了搜关于取时间戳,以及时间戳转字符串的问题, 因为 time()   只能取到秒(win和linux) 想试试看能不能找到 至少可以取到毫秒的, 于是, 就找 ...