嵌入式实时操作系统VxWorks入门
VxWorks操作系统基础(适合初学者阅读)2024新版
![VxWorks操作系统基础(适合初学者阅读)2024新版](https://img.taocdn.com/s3/m/e7b80fb1aff8941ea76e58fafab069dc51224757.png)
系统库(System Library)
提供一系列操作系统服务,如文件操作、网络协议栈等。
驱动程序(Device Drivers)
与硬件设备交互,实现对硬件设备的控制和管理。
内核组成及作用
内核组成及作用
01
内核的主要作用包括
02 管理系统资源,如CPU、内存、I/O设备等 。
06
VxWorks文件系统操作指南
文件系统类型及特点介绍
RAM-based File System
基于RAM的文件系统,读写速度快,但数据在 关机后丢失。
TrueFFS
Wind River特有的闪存文件系统,提供磨损均 衡和掉电保护功能。
ABCD
DOS File System (dosFs)
兼容MS-DOS的文件系统,支持FAT12、FAT16 和FAT32格式。
01
VxWorks操作系统概述
VxWorks操作系统定义
VxWorks是一款由美国风河公司( Wind River)开发的嵌入式实时操 作系统(RTOS),专为需要实时响 应和高可靠性的应用而设计。
VxWorks提供了丰富的中间件和开发 工具,支持多种处理器架构和硬件平 台,广泛应用于航空、航天、通信、 医疗、工业自动化等领域。
在ISR中处理完中断事件后, 需要及时清除中断标志,避 免重复处理。
中断优先级设置和嵌套处理
01
VxWorks支持多级中断优先级,高优先级的中断可以打断低优先 级的中断处理。
02
中断优先级可以通过配置文件或动态调整进行设置,以满 足不同应用场景的需求。
03
在处理中断时,如果发生更高优先级的中断请求, VxWorks会自动保存当前中断的上下文信息,并跳转到更 高优先级的中断处理程序中。处理完成后,再恢复之前中 断的上下文信息并继续执行。这种机制称为中断嵌套处理 。
VxWorks简要手册
![VxWorks简要手册](https://img.taocdn.com/s3/m/17924228af45b307e9719706.png)
1.
VxWorks操作系统概述
1.1.VxWorks 操作系统简介
实时多任务操作系统是能在确定的时间内执行其功能,并对外部的异步事件作出响应的计算机系 统。多任务环境允许一个实时应用作为一系列独立任务来运行,各任务有各自的线程和系统资 源。 VxWorks 系统提供多处理器间和任务间高效的信号灯、消息队列、管道、网络透明的套接 5
7
1.1.任务管理
任务是代码运行的一个映象,从系统的角度看,任务是竞争系统资源的最小运行单 元。任务可以使用或等待CPU、I/O设备及内存空间等系统资源,并独立于其它任务,与 它们一起并发运行(宏观上如此)。 VxWorks 内核使任务能快速共享系统的绝大部分资 源,同时有独立的上下文来控制个别线程的执行。 1.1.1.任务结构 多任务设计能随时打断正在执行着的任务,对内部和外部发生的事件在确定的时间里 作出响应。VxWorks实时内核Wind提供了基本的多任务环境。从表面上来看,多个任务 正在同时执行,实际上,系统内核根据某一调度策略让它们交替运行。系统调度器使用任 务控制块的数据结构(简记为TCB)来管理任务调度功能。任务控制块用来描述一个任务, 每一任务都与一个 TCB 关联。 TCB 包括了任务的当前状态、优先级、要等待的事件或资 源、任务程序码的起始地址、初始堆栈指针等信息。调度器在任务最初被激活时以及从休 眠态重新被激活时,要用到这些信息。 此外,TCB还被用来存放任务的"上下文"(context)。任务的上下文就是当一个执 行中的任务被停止时,所要保存的所有信息。在任务被重新执行时,必须要恢复上下文。 通常,上下文就是计算机当前的状态,也即各个寄存器的内容。如同在发生中断所要保存 的内容一样。当发生任务切换时,当前运行的任务的上下文被存入TCB,将要被执行的任 务的上下文从它的TCB中取出,放入各个寄存器中。于是转而执行这个任务,执行的起点 是前次它在运行时被中止的位置。 VxWorks中,内存地址空间不是任务上下文的一部分。所有的代码运行在同一地址空 间。如每一任务需各自的内存空间,需可选产品VxVMI的支持。 1.1.2.任务状态和状态迁移 实时系统的一个任务可有多种状态,其中最基本的状态有四种: 就绪态:任务只等待系统分配CPU资源; 悬置态:任务需等待某些不可利用的资源而被阻塞; 休眠态:如果系统不需要某一个任务工作,则这个任务处于休眠状态; 延迟态:任务被延迟时所处状态; 当系统函数对某一任务进行操作时,任务从一种状态迁移到另一状态。处于任一状态 的任务都可被删除。
VxWorks入门
![VxWorks入门](https://img.taocdn.com/s3/m/fba3b7c481eb6294dd88d0d233d4b14e85243e98.png)
1. 概述1.1 TORNADO 组件1.1.1 开发工具1.1.2 实时系统1.1.3 Tornado 文件目录1.2 硬件/软件配置1.3 booting介绍1.4 Tornado开始过程1.5 WDB 代理2 Projects2.1 bootable projects2.2 集成模拟器vxsim2.3 Downloadable projects 2.4 build说明3 WindSh 和Browser3.1 WindSh3.2 Browser4 CrossWind4.1 Debugging简介4.2 任务级Debugging 4.3 系统级DebuggingVxWorks 是美国Wind River System 公司(以下简称风河公司,即WRS 公司)推出的一个实时操作系统。
WRS 公司组建于1981年,是一个专门从事实时操作系统开发与生产的软件公司,该公司在实时操作系统领域被世界公认为是最具有领导作用的公司。
VxWorks 是一个运行在目标机上的高性能、可裁减的嵌入式实时操作系统。
它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
在美国的F-16、FA-18 战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。
1984年WRS 公司推出它的第一个版本--VxWorks 1.0.1,在1999年推出了它的最新版本VxWorks 5.4。
从1995年以后,WRS 公司推出了一套实时操作系统开发环境-- Tornado。
1.1 Tornado2.0 组件Tornado是嵌入式实时领域里最新一代的开发调试环境。
Tornado给嵌入式系统开发人员提供了一个不受目标机资源限制的超级开发和调试环境。
T ornado包含三个高度集成的部分:. 运行在宿主机和目标机上的强有力的交叉开发工具和实用程序;. 运行在目标机上的高性能、可裁剪的实时操作系统VxWorks;. 连接宿主机和目标机的多种通讯方式,如:以太网,串口线,ICE或ROM仿真器等。
vxworks基础培训
![vxworks基础培训](https://img.taocdn.com/s3/m/597624c5b14e852458fb57b0.png)
烽火科技
VxSim的HelloWorld(四)
• 最后:查看新弹出的对话框(VxWorks Simulator),^_^ ,可以看到输出的 Hello World
•
此时,还会弹出了一个VxSim Launch的界面,这是主机用来连接目标机的。 点击OK。如果正确安装Tornado并配置正确的话,此时桌面右下角会出现 的图标(如果出现问题,会出现 的图标),点击它可以看到Target Server是 否正常工作。
烽火科技
开发板开发嵌入式程序
• 操作系统的制作与下载
– – – – – – 修改Config.h 制作BSP及bootrom 制作操作系统 配置FTP Server 启动超级终端 引导和下载操作系统
• 应用程序的编制和调试
烽火科技
操作系统的制作与下载
修改Config.h
• VxWorks的缺省配置参数由tornado\target\config\all目录中 的configAll.h决定,如第528行开始通信路径的配置 • 对于某一目标板特定的配置参数,如ads860,使用 tornado\target\config下相应目录中的config.h,下面以 ads860板为例 • 如果没有相应目录,可定制,如建立8240目录,其文件代 码由BSP开发人员编写
• WindShell
– 允许用户调用内存中的应用程序模块或是 VxWorks模块中的任何例程
烽火科技
创建任务
• 在usrAppInit函数中添加函数userMain( ),作为自己应用程序的入口函数。
•
编写一个C文件(uesr.c),内容如下:
烽火科技
编译代码及运行
• 选择Add Files,添加uesr.c到工程中:
嵌入式实时操作系统VxWorks
![嵌入式实时操作系统VxWorks](https://img.taocdn.com/s3/m/66af6e8d998fcc22bcd10df1.png)
4
• 任务有自己的上下文
• 包括CPU环境、系统资源等
• 任务由系统内核调度运行
• 上下文切换时,任务的上下文保存在任务 控制块(TCB)中
• 一个任务的上下文包括:
• 任务的执行点(程序计数器) • CPU寄存器和浮点计数器
University of Science and Technology of China
• 使用单地址空间 • 所有代码执行在单一、公共的地址空间内 • 因此地址空间不属于任务上下文
• 当选用VxVMI时,每个任务各自的地址空 间需要进行虚拟地址到物理地址的转换
University of Science and Technology of China
7
1.2 任务状态转换
• 任务状态反映任务当前在系统中所处的情 形
10
任务的状态转换图 任务创建时,处于挂起状态
ttaasskkSRuesspuemned(())
挂起
要使刚创建的任务就绪, 要ta激skt活Sasu该ksRp任eens务du(m) e()
taskSuspend() taskResume()/taskActivate()
阻塞
睡眠
就绪
semseTmaGkei(v)e/(m)/smgQsgRQeScenivde(()) 调 抢度 占
执行
taskDelay() 使延用时sp已aw到ning原语,可以直接 创建并激活一个任务
任务可以在任何状态下被删除
University of Science and Technology of China
11
任务状态队列
University of Science and Technology of China
Vxworks基础
![Vxworks基础](https://img.taocdn.com/s3/m/d3472c44640e52ea551810a6f524ccbff121ca33.png)
为各种目标板的硬件功能提供了统一的软件接口 它们包括: 硬件初始化 中断处理和产生 硬件时钟和定时器管理 内存映射和分配 BSP还包括boot Rom和其它启动机制 sysLib和sysALib库是VxWorks可移植的核心
Vxworks操作系统将一切与硬件有关的功能模块都放在BSP库中。该BSP库是硬件与软件的接口,处理硬件的初始化、中断处理与产生、硬件时钟与定时管理、局部和总线内存空间的映射、内存大小定义,等等。能够自行启动目标机、初始化目标机、能够与host通信以下载Vxworks核、把控制权交给Vxworks核来调用用户应用程序等功能。
Tornado 系统结构
POSIX Library
Real-Time Embedded Application
Host
VxSim
Debug Agent
Tornado Plug-ins
Target
Target Server
Launcher
Core OS
BSP
Ethernet
Serial Line
板支持包(BSP)
VxWorks的特点--高度伸缩性的环境
Stand-alone kernel up to full featured OS
0
100
200
300
400
500
Maximum Equipped
File System
Networking
O.S.
m
Memory Requirements (Kbytes)
VxWorks (1)
Vxworks提供了一套丰富的任务间通信机制,包括: ●内存共享(Shared memory):简单的数据共享方法 ●信号量(Semaphore):用于基本的互斥及同步 ●消息队列(Message queues)和管道(pipe): 用于同一CPU上任务间消息的传递 ●套接口(Socket)和远程程序调用(RPC): 用于网络上任务间的通信 ●信号(Signal):用于异常处理 此外,Vxworks提供了三种共享内存的对象(shared-memory objects) 来实现运行在不同CPU上的任务间的高速同步和通信。 ●共享信号量(shared semaphores):有二进制,记数型两种 ●共享消息队列(shared message queues) ●共享内存分区(shared-memory partitions):有系统类型和用户类型
vxWorks开发入门教程索引
![vxWorks开发入门教程索引](https://img.taocdn.com/s3/m/23397f614a73f242336c1eb91a37f111f1850ddc.png)
vxWorks还提供了内存泄漏检测功能,以帮助用户发现并及时处理内存泄漏问题。同时,vxWorks还支持内 存回收功能,可以自动回收不再使用的内存空间。
03 开发环境搭建与 配置
安装与配置开发环境
安装Wind River Workbench
下载并安装适用于您的操作系统的Wind River Workbench,这是开发vxWorks应用程序的集成开发环境( IDE)。
vxWorks开发入门教程索 引
contents
目录
• 引言 • vxWorks基础知识 • 开发环境搭建与配置 • 驱动程序开发与调试 • 中间件及组件应用 • 系统优化与性能提升 • 项目实战:基于vxWorks的智能家居控
制系统设计
01 引言
vxWorks概述
01
vxWorks是一款实时操作系统(RTOS),专为嵌入式系统设计 ,具有高性能、可确定性和低延迟等特点。
日志和跟踪工具
使用vxWorks提供的日志和跟踪工具来记录应用程序的运行状态和错误信息。这有助于 分析和解决问题。
04 驱动程序开发与 调试
设备驱动模型概述
01
设备驱动模型组成
包括设备、驱动和服务等组件, 用于实现硬件设备的抽象和访问 控制。
02
设备驱动模型作用
提供统一的设备访问接口,屏蔽 底层硬件细节,简化驱动开发流 程。
关键模块代码实现及讲解
设备驱动模块
展示设备驱动模块的代码实现,包括 设备初始化、数据读写等操作。
通信协议模块
介绍通信协议模块的实现,包括协议 的选择、封装和解封装等过程。
应用功能模块
展示应用功能模块的代码实现,如远 程控制、自动化场景设置等。
VxWorks操作指南
![VxWorks操作指南](https://img.taocdn.com/s3/m/d28735eff8c75fbfc77db298.png)
VxWorks操作指南项目\子项目名称:3G BTS平台分系统拟制部门:科技发展部拟制日期:2000.2.28目录1. 实时嵌入式操作系统V X W ORKS (3)2.V X W ORKS和T ORNADO (4)3.T ORNADO的配置 (5)3.1 主机的设置:Tornado Register (5)3.2 目标的设置 (6)4.T ORNADO开发工具的使用介绍 (7)4.1 Editor (7)4.2 Projects(Tornado 2.0版本特有) (7)4.3 Shell (8)4.4 Debugger (9)4.5 Browser (10)4.6 GNU工具 (10)4.7 Target Server (11)5.V X W ORKS的启动过程及相关例程 (12)5.1 VxWorks启动的一般原理 (12)5.2 MSDOS的启动过程 (13)6.V X W ORKS的多任务管理 (14)6.1多任务 (14)6.2任务状态转换 (14)6.3 wind任务的排序(scheduling)机制 (14)6.4 任务控制 (15)6.5 任务的删除和删除安全 (15)6.6 任务异常处理 (16)6.7 VxWorks系统任务 (16)7任务间通信(原语消息的传递) (16)7.1 概述 (16)7.2 互斥 (17)7.3 同步 (18)7.4 删除安全 (19)7.5 中断和任务间的通信 (19)8应用程序的加载 (19)1.实时嵌入式操作系统VxWorksVxWorks操作系统是一种应用广泛的嵌入式实时多任务操作系统。
其内核WIND具有强占式优先级排序的多任务处理能力,提供了任务间同步和通信的机制,支持中断处理、看门狗定时器和内存管理功能。
VxWorks的开发环境是Tornado,应用程序的开发语言是ANSI C和C++。
VxWorks的开发体系是代理-服务器(Agent-Server)结构体系,即驻留在主机(Host)的开发工具Tornado通过目标服务器(Target Server)指示目标上的目标代理(Target Agent)进行目标板上的操作并将结果返回给主机。
VxWorks操作系统指南
![VxWorks操作系统指南](https://img.taocdn.com/s3/m/833c6a1afad6195f312ba6d5.png)
VxWorks操作系统指南目录1. VxWorks操作系统概述41.1.VxWorks 操作系统简介41.2.VxWorks操作系统内核51.3.任务管理61.4.通信、同步和互斥机制91.5.网络通信111.6.中断服务程序141.7.时间管理器142.VxWorks应用指导162.1.系统启动172.2.应用系统配置192.3.板级支持包BSP 212.4.VxWorks系统任务232.5.应用软件开发指导232.6.应用示例分析252关键词:实时操作系统任务消息VxWorks Tornado摘要:本文档对实时操作系统作了简要介绍,并针对VxWorks系统的特点进行了具体的说明和分析,从VxWorks系统的任务管理、通信机制、系统配置、系统接口几个方面展开。
1. VxWorks操作系统概述1.1.VxWorks 操作系统简介实时多任务操作系统是能在确定的时间内执行其功能,并对外部的异步事件作出响应的计算机系统。
多任务环境允许一个实时应用作为一系列独立任务来运行,各任务有各自的线程和系统资源。
VxWorks系统提供多处理器间和任务间高效的信号灯、消息队列、管道、网络透明的套接字。
实时系统的另一关键特性是硬件中断处理。
为了获得最快速可靠的中断响应,VxWorks系统的中断服务程序ISR有自己的上下文。
VxWorks实时操作系统由400多个相对独立的、短小精炼的目标模块组成,用户可根据需要选择适当模块来裁剪和配置系统,这有效地保证了系统的安全性和可靠性。
系统的链接器可按应用的需要自动链接一些目标模块。
这样,通过目标模块之间的按需组合,可得到许多满足功能需求的应用。
VxWorks操作系统的基本构成模块包括以下部分:Ÿ 高效的实时内核WindVxWOrks实时内核(Wind)主要包括基于优先级的任务调度、任务同步和通信、中断处理、定时器和内存管理。
Ÿ 兼容实时系统标准POSIXVxWOrks提供接口来支持实时系统标准P.1003.1b.Ÿ I/O系统VxWOrks提供快速灵活的与ANSI-C相兼容的I/O系统,包括UNIX的缓冲I/O和实时系统标准POSIX的异步I/O。
vxworks7编程指南
![vxworks7编程指南](https://img.taocdn.com/s3/m/9436d4020812a21614791711cc7931b765ce7bdf.png)
vxworks7编程指南【实用版】目录1.VxWorks7 简介2.VxWorks7 编程基础3.VxWorks7 编程进阶4.VxWorks7 编程实例5.VxWorks7 编程总结正文【VxWorks7 简介】VxWorks7 是一款实时操作系统,广泛应用于各种嵌入式系统中。
其强大的实时性能、良好的可扩展性和稳定的可靠性,使其在实时操作系统领域有着广泛的应用。
【VxWorks7 编程基础】VxWorks7 的编程基础主要包括以下几个方面:1.了解 VxWorks7 的开发环境:VxWorks7 的开发环境主要包括Tornado 集成开发环境和 Workbench。
2.学会使用 VxWorks7 的编程语言:VxWorks7 支持多种编程语言,如 C、C++等。
3.熟悉 VxWorks7 的基本数据类型和运算符:VxWorks7 提供了丰富的基本数据类型和运算符,以满足实时操作系统的需求。
【VxWorks7 编程进阶】在掌握 VxWorks7 编程基础之后,可以进一步学习以下几个方面的内容:1.进程管理:VxWorks7 的进程管理包括进程的创建、同步、通信等。
2.信号处理:VxWorks7 提供了丰富的信号处理机制,以实现实时操作系统的实时性能。
3.线程管理:VxWorks7 的线程管理包括线程的创建、同步、通信等。
【VxWorks7 编程实例】下面是一个简单的 VxWorks7 编程实例,用于演示 VxWorks7 的基本编程流程:1.创建一个新的 VxWorks7 项目。
2.编写一个简单的 C 程序,如“Hello World”。
3.编译并下载程序到目标板。
4.运行程序,观察程序的运行结果。
【VxWorks7 编程总结】VxWorks7 是一款强大的实时操作系统,掌握其编程技术对于嵌入式系统开发人员来说非常重要。
ARM嵌入式VxWorks实践教程课程设计
![ARM嵌入式VxWorks实践教程课程设计](https://img.taocdn.com/s3/m/eef9c2bcb8d528ea81c758f5f61fb7360b4c2bbb.png)
ARM嵌入式VxWorks实践教程课程设计课程概述本课程旨在介绍ARM嵌入式VxWorks操作系统的使用和实践。
VxWorks是实时操作系统(RTOS)的代表,被广泛应用于航空、能源、医疗等行业。
本课程将通过理论和实践相结合的方式,让学生了解VxWorks的基本原理和应用方法,并且亲身体验VxWorks在ARM嵌入式系统上的运行。
课程内容本课程分为理论和实践两个部分。
理论部分1.VxWorks概述:介绍VxWorks操作系统的发展历程、结构、特点和应用范围。
2.VxWorks基本组成:介绍VxWorks内核、文件系统、网络协议栈等基本组成部分的作用和特点。
3.VxWorks彩票调度算法:介绍VxWorks的彩票调度算法,让学生了解VxWorks任务调度的原理和方法。
4.VxWorks应用开发:介绍如何使用VxWorks进行应用开发,包括任务创建、消息队列、信号量、互斥量等基本应用方式。
实践部分1.环境配置:学生需要在Linux操作系统上安装交叉编译工具链和VxWorks仿真器,配置好开发环境。
2.简单例子:学生编写一个简单的VxWorks应用程序,能够在仿真器上运行。
3.TCP/IP通信:学生编写一个TCP/IP通信的应用程序,通过网络协议栈实现两台开发板之间的通信。
4.多任务调度:学生编写一个多任务调度的应用程序,演示VxWorks彩票调度算法的应用。
5.实时控制:学生通过引脚控制板上的LED灯,演示VxWorks实时控制能力。
实验设备1.ARM开发板:使用STM32F407开发板,搭载ARM Cortex-M4内核,提供了丰富的外设接口和扩展板槽,适合实时控制和通信应用。
2.仿真器:使用Wind River提供的VxSim仿真器,能够在Linux平台上仿真VxWorks操作系统和应用程序。
3.其他外设:必要的OLED屏幕、按键和LED灯等外设。
实验流程1.学习理论部分,了解VxWorks操作系统的基本原理和应用方法。
VXWORKS入门
![VXWORKS入门](https://img.taocdn.com/s3/m/8e880ec36137ee06eff91889.png)
为了保证我的Tornado的纯净性,复制了一份C:\Tornado2.2\target\config\pcPentium_pm文件前重命名为Kontron_PM,
这是基于移动版的Pentium和处理器
1,网卡配置
根据PM板子上面的网络芯片为Intel82562系统的,同时根据
定任务或系统级断点设置、单步执行、异常处理。
内存、寄存器、变量的值通过菜单操作是无法实现的,需要在WindSh中执行
原语操作实现
5,驻留主机的目标服务器
目标服务器管理主机与目标机的通信,所有与目标机的交互工具
都通过目标服务器,它也管理主机上的目标机符号表,提供目
标模块的加载和卸载。
参数解释:
ata=0,0(0,0) 指定了使用第0个ata控制器和第0个驱动;
我们从硬盘或CF卡启动,应该是ata的设备,所以要改写成ata,
host 指定你的主机的名字,随便写拉;
/ata0/vxWorks 指定了VxWorks映象下载的完整路径,因为我们是从硬盘下载;
h=192.168.0.104 是宿主机的IP地址,查看你的网上邻居的本地连接,根据它填写;
Bootrom的生成
1,编译Bootrom
打开Tornado开发工具,在Build菜单下选择Build Boot ROM,选择BSP为Kontron_PM,
image类型为bootrom,工具为gnu,如图。点击OK,Bootrom就会编译。编译成功后,会在BSP目录下生产bootrom文件
objcopypentium -O binary --gap-fill=0 bootrom bootrom.sys
VxWorks入门
![VxWorks入门](https://img.taocdn.com/s3/m/94b0c092daef5ef7ba0d3c41.png)
嵌入式实时操作系统VxWorks入门VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
在美国的F-16、FA-18 战斗机、B-2隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。
VxWorks原先对中国区禁止销售,自解禁以来,在我们的军事、通信、工业控制等领域得到了非常广泛的应用。
嵌入式系统的调试方法一般为通过PC(宿主机)上的集成开发环境交叉编译针对特定电路板(目标机)的程序,然后将程序通过目标板的JTAG、串口或网口等途径下载到目标板上运行。
如图1。
因此,为了构造一个嵌入式系统的学习环境,拥有一块包含CPU、存储器及I/O电路(构造计算机系统)的目标电路板往往是必要的。
虽然许多集成开发环境附带模拟软件,但仅限于指令集的模拟,均无法模拟物理的目标机硬件平台,因而在其上只能进行应用程序的象征性模拟开发。
但是,并非所有人都能拥有一块物理的电路板。
在这种情况下,我们如何构造一个模拟的开发环境,其学习效果就如同拥有完全真实的电路板一样呢? 本文试图解答此问题,主体内容包括四个方面:1.利用VMware等软件模拟真实的目标机;2.构建VMware虚拟PC上VxWorks BSP,建立Bootrom和OS映像;3.修改Tornado相关设置,连接宿主机与目标机,建立调试通道;4.写一个简单的应用程序并下载到目标系统运行。
图1 嵌入式系统的调试本章工作的最终目标为:(1)VxWorks在VMware启动成功并顺利运行,如图2;图2 在VMware中运行的VxWorks(2)可在Tornado上针对目标板编译程序并进行调试,如图3。
图3 与目标机建立调试通道的Tornado1. 模拟目标机PC也具有目标机的所有特点,实际上,我们可以把PC作为嵌入式系统的目标机,从而构造如图4所示的开发模型:图4 PC作为目标机很遗憾,这种方法实际上非常麻烦,同时开动两台PC进行调试将使你和你的室友饱受折磨,既然他如此地热切于游戏和上网。
vxworks命令教程
![vxworks命令教程](https://img.taocdn.com/s3/m/b5c1e85658eef8c75fbfc77da26925c52cc591bc.png)
memShow
显示系统内存使用情况,包括内存分区、空闲内存等信息。
taskShow
显示当前系统中所有任务的状态信息,如任务名、优先级、状态等。
semShow
显示系统中所有信号量的状态信息,如信号量名、计数值等。
系统资源管理和优化
01
02
03
memPartCreate memPartDelete taskSpawn
等。
高级命令探讨
深入探讨一些高级命令和特性,如 系统调试、性能分析等。
命令使用示例
通过具体示例演示如何在实际开发 中使用这些命令。
注意事项和最佳实践
提供一些使用命令行接口时的注意 事项和最佳实践,以帮助开发者避 免常见错误并提高开发效率。
02
VxWorks命令基础
命令格式和约定
01
命令格式
VxWorks命令通常由命令名、 参数和选项组成,格式为“命令
使用`read()`函数从已打开的文件 中读取数据,需要指定缓冲区及 其大小。
使用`write()`函数向已打开的文 件中写入数据,同样需要指定缓 冲区及其大小。
使用`lseek()`函数可以移动文件 指针到指定位置,以便进行随机 访问。
文件属性和权限设置
获取文件属性
使用`stat()`函数获取文件的属性信息, 如文件大小、创建时间等。
执行最近的包含特定字符串的命令。
自定义命令和脚本编写
alias
创建命令别名,例如`alias ll='ls -l'`。
function
定义函数,可以包含一系列命令,例 如`function myfunc { echo "Hello, world!"; }`。
VxWorks嵌入式实时操作系统结构简析
![VxWorks嵌入式实时操作系统结构简析](https://img.taocdn.com/s3/m/eb67e37001f69e3143329464.png)
VxWorks嵌入式实时操作系统结构简析本文简要介绍和分析了VxWorks嵌入式实时操作系统的实现结构. VxWorks是Windriver公司开发的为实时嵌入式系统设计开发的操作系统软件,为程序员提供了高效的实时任务调度、中断管理,实时的系统资源以及实时的任务间通信. 其核心功能主要有微内核,任务间通信机制,网络支持,文件系统和I/O管理,POSIX标准实时扩展,以及C++等其他标准支持。
一VxWorks实时操作系统背景用户在开发具有日益复杂的32位嵌入式处理器的产品时,需要一个用来连接产品应用程序和底层硬件的操作系统。
用户所寻求的操作系统应该具有的最重要的特点包括:·可靠性高的实时性能·可下载到最终产品的板上内存的丰富和灵活的功能模块集·与综合全面的主机开发环境的可协同工作。
VxWorks操作系统是美国WindRiver公司于1987年设计开发的一种嵌入式实时操作系统(RTOS),是Tornado II嵌入式开发环境的关键组成部分。
VxWorks是Windriver公司开发专门为实时嵌入式系统设计开发的操作系统软件,为程序员提供了高效的实时任务调度、中断管理,实时的系统资源以及实时的任务间通信。
应用程序员可以将尽可能多的精力放在应用程序本身,而不必再去关心系统资源的管理。
该系统主要应用在单板机、数据网络(以太网交换机、路由器)和通信方面等多方面。
通过对VxWorks的研究,可以使我们对嵌入式操作系统的研究和开发更进一步,尤其对国内的类似研制厂家有借鉴意义。
VxWorks操作系统的主要功能目前VxWorks操作系统的版本为VxWorks 5.4,其核心功能主要有:·微内核wind·任务间通信机制·网络支持·文件系统和I/O管理·POSIX标准实时扩展·C++以及其他标准支持这些核心功能可以与WindRiver系统的其他附件和Tornado合作伙伴的产品结合在一起使用。
嵌入式实时操作系统VxWorks
![嵌入式实时操作系统VxWorks](https://img.taocdn.com/s3/m/307a9157640e52ea551810a6f524ccbff121cad2.png)
目录
• VxWorks操作系统概述 • VxWorks系统核心功能 • VxWorks开发环境与工具 • VxWorks系统设计与实践
目录
• VxWorks系统案例分析 • VxWorks与其他实时操作系统的比较
01
VxWorks操作系统概述
定义与特点
定义
VxWorks是一种高性能、可扩展的实 时操作系统(RTOS),专为嵌入式系 统设计。
资源占用
Linux通常需要更多的内存和存储资源,不太适合资源有限 的嵌入式系统。VxWorks则更为紧凑。
开放性
Linux是开源的,拥有庞大的社区支持和丰富的软件资源。 VxWorks的源代码不公开。
VxWorks与QNX的比较
实时性
VxWorks和QNX都具备出色 的实时性,能够满足严苛的 实时需求。两者在微秒级别 内都能快速进行任务调度和
内存分区管理
VxWorks将内存划分为多个分区,每个任务占用一个 独立的内存分区,避免内存冲突。
内存保护机制
通过内存保护机制,确保每个任务的代码和数据不会 互相干扰。
动态内存分配
提供动态内存分配函数,允许任务在运行时申请和释 放内存。
系统优化与性能测试
代码优化
通过优化任务代码,降 低系统开销,提高实时 性。
中断处理优化
优化中断处理程序,减 少中断延迟,提高系统 响应速度。
性能测试与评估
通过实际测试和评估, 验证系统性能是否满足 实时性要求。
05
VxWorks系统案例分析
案例一:无人机飞控系统
无人机飞控系统需要实时响应、高可 靠性和可扩展性,以满足飞行控制和 导航的需求。
Vxworks培训讲稿(嵌入式系统)
![Vxworks培训讲稿(嵌入式系统)](https://img.taocdn.com/s3/m/d2e0171755270722192ef7e3.png)
ROM-based Image
ROM-resident Image
7
调试时的 Image:先由引导代码把 ROM Boot Program 搬到 RAM 中,Boot Program 初始化调试下载通道和调试信息输出通道。 被调试的 IMAGE 通过 Host 与 Target 之间
的某种耦合方式 download 到 Target 的 RAM 中,然后接受控制权,实现调试。 的 在 线 升 级 ( GoAhead 5. Image DeviceStudio,UpgradeAgent,UpgradeServer) : 存储介质:flash、flash disk 升级通道: 升级时期: 升级保护: 升级安全: 升级 IMAGE 的部分或整体: 2.3.6 Debug 调试就是 bug 的定位 1.需要调试的层次: App Field Upgrader:GoAhead
usrRoot VxWorks
驱动程序的特点是不能自动执行,只能被动调用。调用可以有三种方式:任务直接调 用、任务调用 System Call、任务调用服务。 Task subrutine system call VxWorkks components driver 所以驱动程序可以抽象为三个层次:常规操作、与 VxWorks 的接口、与 Component 的 接口。 驱动程序与 component 的接口 驱动程序与 VxWorks+的接口 驱动程序的常规操作 常规操作是设备的固有操作逻辑,有两层含义: I/O 编址 微观上表现为 CPU 操作 device 的寄存器、宏观上表现为具体操作的含义。 register 数字电路 Status 电 电 I/O processor 光 r/w CPU Address 机械 … 控制电路 control
VxWorks开发简明培训教程Manual
![VxWorks开发简明培训教程Manual](https://img.taocdn.com/s3/m/873061df80c758f5f61fb7360b4c2e3f5627254b.png)
VxWorks开发简明培训教程ManualVxWorks是美国Wind River Systems开发的一款实时操作系统,常被使用在嵌入式系统中,其广泛的应用领域包括航空航天,自动驾驶,医疗设备等。
为了更好地了解VxWorks的开发及应用,在这里针对其开发进行简明培训教程。
1. 环境准备在使用VxWorks进行开发之前,需要先进行相关环境的准备。
首先是设备的准备,需要一块支持VxWorks的开发板。
其次是软件的准备,可以从Wind River Systems官网上下载VxWorks开发软件。
2. 创建项目在进行VxWorks开发前,需要创建一个新的项目。
在Eclipse或者Wind River Workbench中,可以通过点击New Project来创建新的项目。
在这一步中,需要选择合适的CPU类型和操作系统类型,以及选择开发板的型号。
3. 创建任务在VxWorks操作系统中,任务是一个非常重要的概念。
任务可以看做是一个运行在操作系统上的程序,可以控制任务的创建和销毁。
通过在代码中调用taskSpawn函数可以创建一个新的任务,该函数包含任务名称、任务优先级、任务属性、栈大小等参数。
4. 任务管理在VxWorks中,可以通过taskDelete和taskSuspend等函数来分别删除或者挂起一个任务。
在对任务进行管理时,需要注意任务的优先级和业务流程,确保任务的执行顺序和执行时间。
5. 中断处理在嵌入式系统中,中断是一个非常重要的概念。
VxWorks 提供了中断处理机制,可以在中断的发生时进行处理。
通过对中断处理函数进行编写,可以实现对中断信号的处理和相应,从而保证系统的稳定性和安全性。
6. IO操作在嵌入式系统中,IO操作是必不可少的一部分。
VxWorks 提供了相关的函数,可以对设备进行读写操作。
比如,通过open函数打开设备,通过read函数读取设备数据,通过write 函数将数据写入设备。
VxWorks基础知识
![VxWorks基础知识](https://img.taocdn.com/s3/m/528e51e7bed5b9f3f80f1c7e.png)
RAM
VxWorks
Local_MEM_Local_ADRS RAM_LOW_ADRS FREE_RAM_ADRS
RAM_HIGH_ADRS
Boot Programs
附表
VxWorks映象类型说明:
二、基于ROM的VxWorks映象 这是一种运行于RAM,但起初存放于ROM中的VxWorks映象。即该映象 需要和搬移程序一起固化在BOOT中。该映象可分为:压缩的和未压缩的
最小BSP系统的串口
一般而言,从程序调试来看,可以不用仿 真器来调试。在汇编最开始的地方,就将 串口初始化好,通过从串口打印字符。这 种方式是最好。
嵌入式操作系统VxWorks
最小BSP系统的网口
该部分所要做的,也就是需要配置 1.连接中断 2.在sysEnd.c文件的sysLanPciInit()文
虚拟 内存
多任务 处理
操作系统 模块
Wind 内核
目标开发 工具
嵌入式操作系统VxWorks
VxWorks
I/O子 系统
基
本
体
系
网络子 系统
结
构
嵌入式操作系统VxWorks
wind :VxWorks 的核心,被称作 wind,包括多任务调度(采用优先 级抢占方式),任务间的同步和进程间通信机制,以及中断处理, 看门狗定时器和内存管理机制。
附表
Bootrom类型说明:
用于可加载VxWorks映象的Bootrom包含两部分:起始引导程序 (BootStrap Programs)和ROM引导程序(ROM Boot Programs)。 起始引导程序驻留在ROM中 , ROM引导程序起初存放在ROM中,初始化时 被拷贝到RAM中
嵌入式实时操作系统VxWorks入门_开发环境构建
![嵌入式实时操作系统VxWorks入门_开发环境构建](https://img.taocdn.com/s3/m/c0b97705b52acfc789ebc981.png)
嵌入式实时操作系统VxWorks入门――开发环境构建VxWorks 操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
在美国的F-16、FA-18 战斗机、B-2隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。
VxWorks原先对中国区禁止销售,自解禁以来,在我们的军事、通信、工业控制等领域得到了非常广泛的应用。
VxWorks 的实时性体现在能于限定的时间内执行完所规定的功能,并能在限定的时间内对外部的异步事件作出响应。
因此,实时性系统主要应用于过程控制、数据采集、通信、多媒体信息处理等对时间敏感的场合。
本文将对这个操作系统进行一个入门级的、全面的介绍。
为力求展示其全貌,全文共分五章:(1)搭建VxWorks嵌入式开发环境;(2)简要介绍VxWorks的基本组成,内核的基本结构;(3)概述VxWorks板级支持包(BSP)的概念及VxWorks的启动过程;(4)介绍VxWorks设备驱动的架构及编写方法;(5)指明VxWorks应用开发的思路,任务调度及任务同步、中断与任务的同步机制。
以上各章中将贯穿着许多实例,由于本文定位于入门级教程,所以文中的实例都将十分简单。
下面我们进入第一章内容的讲解。
如图1,嵌入式系统的调试方法一般为通过PC(宿主机)上的集成开发环境交叉编译针对特定电路板(目标机)的程序,然后将程序通过目标板的JTAG、串口或网口等途径下载到目标板上运行。
因此,为了构造一个嵌入式系统的学习环境,拥有一块包含CPU、存储器及I/O电路(构造计算机系统)的目标电路板往往是必要的。
虽然许多集成开发环境附带模拟软件,但仅限于指令集的模拟,均无法模拟物理的目标机硬件平台,因而在其上只能进行应用程序的象征性模拟开发。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式实时操作系统VxWorks入门VxWorksVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
在美国的 F-16、FA-18 战斗机、B-2隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。
VxWorks原先对中国区禁止销售,自解禁以来,在我们的军事、通信、工业控制等领域得到了非常广泛的应用。
VxWorks的实时性体现在能于限定的时间内执行完所规定的功能,并能在限定的时间内对外部的异步事件作出响应。
因此,实时性系统主要应用于过程控制、数据采集、通信、多媒体信息处理等对时间敏感的场合。
本文将对这个操作系统进行一个入门级的、全面的介绍。
为力求展示其全貌,全文共分五章:(1)搭建VxWorks嵌入式开发环境;(2)简要介绍VxWorks的基本组成,内核的基本结构;(3)概述VxWorks板级支持包(BSP)的概念及VxWorks的启动过程;(4)介绍VxWorks设备驱动的架构及编写方法;(5)指明VxWorks应用开发的思路,任务调度及任务同步、中断与任务的同步机制。
以上各章中将贯穿着许多实例,由于本文定位于入门级教程,所以文中的实例都将十分简单。
下面我们进入第一章内容的讲解。
嵌入式系统的调试调试方法一般为通过PC(宿主机)上的集成开发环境交叉编译针对特定电路板(目标机)的程序,然后将程序通过目标板的JTAG、串口或网口等途径下载到目标板上运行。
因此,为了构造一个嵌入式系统的学习环境,拥有一块包含CPU、存储器及I/O 电路(构造计算机系统)的目标电路板往往是必要的。
虽然许多集成开发环境附带模拟软件,但仅限于指令集的模拟,均无法模拟物理的目标机硬件平台,因而在其上只能进行应用程序的象征性模拟开发。
但是,并非所有人都能拥有一块物理的电路板。
在这种情况下,我们如何构造一个模拟的开发环境,其学习效果就如同拥有完全真实的电路板一样呢?本文试图解答此问题,主体内容包括四个方面:(1) 利用VMware等软件模拟真实的目标机;(2) 构建VMware虚拟PC上VxWorks BSP,建立Bootrom和OS映像;(3) 修改Tornado相关设置,连接宿主机与目标机,建立调试通道;(4) 写一个简单的应用程序并下载到目标系统运行。
图1 嵌入式系统的调试本章工作的最终目标为:(1)VxWorks在VMware启动成功并顺利运行,的开发模型:图4 PC作为目标机很遗憾,这种方法实际上非常麻烦,同时开动两台PC进行调试将使你和你的室友饱受折磨,既然他如此地热切于游戏和上网。
因此,我们可以借助VMware来在本机上虚拟出另一PC。
VMware的确是天才的作品!在同一PC上,利用VMware几乎可以安装所有的操作系统,而且操作系统之间的切换不需要重新启动电脑。
VM的意义是Virtual Machine,即虚拟出一个逻辑的电脑,它可以提供基于Intel CPU的虚拟PC系统环境,包括CPU、内存、BIOS、硬盘和其他外围硬件设备。
下面我们讲解用VMware来建立一台虚拟PC的步骤:(1)并安装VMware;(2)使用VMware向导建立一个针对VxWorks的虚拟机;此步骤中注意在操作系统中选择“other”,如图5:由于目标机最终通过软盘启动,因此要求你的电脑具有软驱。
很遗憾,当年日常使用的软盘如今成了古董,很少再有电脑配备软驱。
因此,我们再来制造一个假冒伪劣产品,虚拟一个软驱。
又一个天才的工具软件RamDiskNT为我们提供了这一便利,图6演示了用RamDiskNT虚拟一个1.44M软盘的方法。
仅仅虚拟一个软驱是不够的,把这个软驱添加到我们建立的虚拟机中才算修成正果,图7演示了添加软驱后的虚拟机硬件设置。
图7 包含软驱的虚拟机2. 构造BSP2.1下载和编译网卡驱动VMware为运行于其上的操作系统提供虚拟网卡支持,该网卡类型即为AMD的PC-NET,在Tornado开发包中已经包含了该类型网卡的驱动程序,但经过,在VMware环境中该驱动无法正常工作,所以可从AMD的网站上下载最新的驱动程序。
下载得到的是一个可执行的安装程序,运行该程序将得到一个压缩包和一个帮助文件,按照该帮助的要求,将压缩包直接释放到Tornado目录下。
如果提示是否允许覆盖文件,则选择允许。
此后按如下步骤完成驱动程序的编译和替换:(1)打开一个控制台窗口,运行批处理程序:C:\tornado2.2\host\x86-win32\bin\torVars.bat;该批处理文件用于设置环境变量,其内容为:rem Command line build environmentsset WIND_HOST_TYPE=x86-win32set WIND_BASE=C:\Tornado2.2set PATH=%WIND_BASE%\host\%WIND_HOST_TYPE%\bin;%PATH%如果没有设置成功,可以手工设置这些环境变量。
(2)定位到C:\tornado2.2\target\src\drv\end目录,运行:make CPU=PENTIUM tool=gnu ln97xend.o(3)定位到C:\tornado2.2\target\lib\pentium\PENTIUM\common目录,并将上一步生成的文件ln97xend.o复制到此目录下。
备份此目录下的文件libdrv.a;(4)运行命令arpentium -d libdrv.a ln97xEnd.o,删除libdrv.a中原有的ln97xEnd模块;(5)运行命令arpentium -ra iOlicomEnd.o libdrv.a ln97xEnd.o将我们刚刚创建的新ln97xEnd模块添加进去。
2.2修改配置文件我们要修改编译VxWorks的配置头文件Config.h中定义的一些参数,使编译出来的系统引导程序和VxWorks的映象符合我们的要求;同时还要修改sysLn97xEnd.c这个文件,以使系统的网络功能正常运行。
(1)定位到目录C:\tornado2.2\target\config\pcPentium并打开该目录下Config.h文件;(2)查找到定义DEFAULT_BOOT_LINE宏的地方,修改预处理条件CPU == PENTIUM分支下的定义如下:#define DEFAULT_BOOT_LINE \"lnPci(0,0)your_host_name:d:\\VxWorks h=192.168.80.169 e=192.168.80.254 u=target pw=VxWorks tn=target"其中:lnPci(0,0)指定了使用第0个网卡和第0个处理器,lnPci这个标识会因为使用的驱动程序不同而有所不同,但这里用lnPci就可以了;host指定你的主机的名字,使用host 就可以;d:\\VxWorks指定了VxWorks映象下载的完整路径(后面会有说明);h=192.168.80.169是宿主机的IP地址,可以根据实际情况修改;e=192.168.80.254是目标机的IP地址,可以根据实际情况修改;u=target指定了FTP的用户名,这个FTP就是用来下载VxWorks映象的;pw=VxWorks是FTP与用户名target对应的密码;tn=target指定目标机的名字,任意指定即可。
(3)指定网卡驱动程序首先定位到“Network driver options”这段文字,保证INCLUDE_END和INCLUDE_LN_97X_END这两个宏处于定义状态(define),其他的宏都处于未定义状态(undef),即:以下是引用片段:/* Network driver options */ #define INCLUDE_END /* Enhanced Network Driver Support */ #undef INCLUDE_DEC21X40_END /* (END) DEC 21x4x PCI interface */ #undef INCLUDE_EL_3C90X_END /* (END) 3Com Fast EtherLink XL PCI */#undef INCLUDE_ELT_3C509_END /* (END) 3Com EtherLink III interface */ #undef INCLUDE_ENE_END /* (END) Eagle/Novell NE2000 interface */#undef INCLUDE_FEI_END /* (END) Intel 8255[7/8/9] PCI interface */#undef INCLUDE_GEI8254X_END /* (END) Intel 82543/82544 PCI interface */#define INCLUDE_LN_97X_END /* (END) AMD 79C97x PCI interface */ #undef INCLUDE_ULTRA_END /* (END) SMC Elite16 Ultra interface */ #undef INCLUDE_BSD /* BSD / Netif Driver Support (Deprecated) */ #undef INCLUDE_EEX /* (BSD) Intel EtherExpress interface */#undef INCLUDE_EEX32 /* (BSD) Intel EtherExpress flash 32 */#undef INCLUDE_ELC /* (BSD) SMC Elite16 interface */ #undef INCLUDE_ESMC /* (BSD) SMC 91c9x Ethernet interface */ (4)包含PC_CONSOLE缺省情况下,VxWorks系统是不接受外部输入设备(如键盘)的输入,也不向外部输出设备(如显示器)输出数据。
为了便于调试,我们必须改变它的这种缺省状态,包含对PC控制台的支持。
查找定位宏INCLUDE_PC_CONSOLE,保证其处于定义状态(define)即可,即:以下是引用片段:#define INCLUDE_PC_CONSOLE /* PC keyboard and VGA console */ #ifdef INCLUDE_PC_CONSOLE # define PC_CONSOLE (0) /* console number */ # define N_VIRTUAL_CONSOLES (2) /* shell / application */#endif /* INCLUDE_PC_CONSOLE */(5)修改sysLn97xEnd.c打开C:\tornado2.2\target\config\pcPentium目录下的sysLn97xEnd.c文件,先定位到“memory-mapped IO base”这段文字,然后将其前面的参数由pciRsrc[endUnit].bar[1]修改为NONE,保存即可,即:以下是引用片段:sprintf (paramStr, paramTemplate, endUnit, /* END unit number */ NONE, /* memory-mapped IO base */ pciRsrc[endUnit].bar[0], /* IO address space base */PCI2DRAM_BASE_ADRS, /* host PCI mem. base */ pciRsrc[endUnit].irqvec, /* IRQ vector */ pciRsrc[endUnit].irq, /* IRQ number */ LN97X_CSR3_VALUE, /* csr3 register value */LN97X_OFFS_VALUE, /* offset */ LN97X_RSVD_FLAGS, /* flags (reserved) */ &ln97xStrDesc[typeIdx] /* device description */ );[next]2.3 编译Bootrom和VxWorks映像编译Bootrom打开Tornado开发工具,在Build菜单下选择Build Boot ROM,选择BSP为pcPentium,image类型为bootrom,工具为gnu,如图8。