UF3000、UF3000EX、UF200、UF200SA、UF200A、UF200S、UF190、UF90A
全自动探针测试台如何通过Vx works 操作系统完成开机自检初始化操作
一、VxWorks操作系统简介
VxWorks 是美国 Wind River System 公司(以下简称风河公司)推出的一个实时操作系统。风河公司成立于 1981 年,该公司是一家致力于嵌入式实时操作系统的开发与生产的技术类公司,世界上一致公认该公司是在嵌入式实时操作系统领
域具有很强领导力的公司。
VxWorks是一个运行在目标机上的性能优良、内核可裁减的嵌入式操作系统。其专门为实时嵌入式系统设计开发的操作系统内核,为程序员提供了高效的实时多任务调度、中断管理,实时的系统资源以及实时的任务间通信。凭借其优异的
可靠性和突出的强实时性被广泛地应用在航空、航天、军事、通信等高技术及对实时性要求极为苛刻的领域中,如军事演习、弹道制导、卫星通讯、飞机导航等。众所周知美国的很多战斗机、轰炸机和导弹上,以及登陆火星的探测器也使用了
VxWorks。
VxWorks 操作系统包括了进程管理、存储管理、设备管理、文件系统管理、系统应用及网络协议等几个部分。整个操作系统只占用了很小的存储空间,保证了系统能以较高的效率运行。VxWorks 应用系统提供的集成开发环境将用户自己
的代码与 VxWorks 的核心有效的组合起来,可以根据用户的特殊需要对 VxWorks内核进行裁剪和配置。
二、 VxWorks操作系统主要功能
以 VxWorks 操作系统的版本为 VxWorks 5.5为例,其核心功能主要有:
1 灵活的 wind 内核
2 任务间通信机制
3 先进的网络技术支持
4 功能强大的文件系统和 I/O 管理
5 POSIX 标准实时扩展
6 C++以及其他标准支持
这些功能还可以与该公司的其他产品以及众多该公司的合作伙伴的产品一起使用。
三、 UF3000、UF3000EX、UF200、UF200SA、UF200A、UF200S、UF190、UF90A初始化
3.1 板级支持包
一个成熟的商用操作系统,其被广泛应用的必要条件之一就是能够支持众多的硬件平台,并实现应用程序的硬件无关性。通常,这种无关性都是由操作系统来实现的。
但是,对于嵌入式系统,它不像 PC 机那样有统一遵循的工业标准,各种嵌入式系统所处的硬件环境不同,这就决定了它无法完全由操作系统来完成上层软件与底层硬件之间的无关性。因此,当今的各种嵌入式系统,都采用了分层的设计方法。它将操作系统中与硬件直接相关的一层软件独立出来,称之为板级支持包(BSP)。
板级支持包对各种板子的硬件功能提供了统一标准的软件接口,它包括硬件初始化、中断的产生和处理、硬件时钟和计时器管理、局域和总线内存地址映射、内存分配等等一系列控制硬件功能的软件接口,它实现了实现应用程序的硬件无关性。每个板级支持包括一个 ROM 启动(Boot ROM)或其它启动机制。
板级支持包使得硬件和软件的开发得以分开,并有专人负责,提高了开发的效率,使得产品模块话更强,也使得上层的软件可以几乎不做修改的在不同的硬件平台上方便的移植和运行,提高了软件工程代码的复用率。
3.2 初始化流程
在 VxWorks 中,BSP 有两个主要作用,创建 bootrom 和创建工程。直接编译BSP 可以生成制定的 bootrom。Bootrom 用于引导目标系统并提供一个可以交互的命令行[20~22]。通过对引导型工程进行编译,可以获得两种映像:引导型映像和下载型映像。本次课题选择了下载型镜像,所以对于引导型映像不予以介绍。加载型的映像其入口函数是 sysInit(),在将下载型映像下载到系统内存中以后,调用 sysInit()开始 VxWorks 初始化。其初始化流程为:
sysInit()
userInit()
sysHwInit()
kernelInit()
userRoot()
userAppInit()
由于无法确定系统当前的堆栈情况 sysInit()要对堆栈初始化在这里仅需要做的是关闭中断,设置堆栈,然后将 CPU 执行权交给 userInit()。userInit()是 VxWorks 第一个在内存中执行的函数,该函数首要的功能就是初始化硬件。根据不同的 CPU 构架,userInit()可能会初始化 cache,中断向量表,异常中断处理程序等。userInit()执行完毕后调用 sysHwInit()。sysHwInit()初始化其它必要的硬件,通常包括定时器,中断器,与用户交互所需的控制台以及 PCI,USB 等设备。每个系统板上包含的硬件不同,因而 BSP 初始化的硬件也就不同,这样 BSP 就要用不同的函数为基于不同硬件的系统板提供初始化和驱动,这也就是 BSP 被称为板级支持包的原因所在。接下来该函数调用usrKernelInit()。usrKernelInit()初始化内核的必要组件。根据用户所选择的组件不同(也就是宏定义的不同),VxWorks 可以选择包含和不包含某些组件或特性,而已包含的组件都在 usrKernelInit 中实现。其中队列消息,WatchDog,信号量等各种特性都这这里初始化。通过 kernelInit()初始化 VxWorks 内核并执行用户的 usrRoot()函数。
usrRoot()是执行用户程序之前最后一个初始化过程,其主要功能包括连接系统时钟,初始化并设置 I/O 系统,初始化必要的通信和界面设备,最后 usrRoot 将启动用户任务。
至此,系统映像初始化完毕,整个系统开始工作,用户应用程序也开始执行。
如您在操作UF3000、UF3000EX、UF200、UF200SA、UF200A、UF200S、UF190、UF90A 探针台设备过程中,出现初始化时失败问题,涉及硬件问题或者驱动问题需要维修、驱动器等零配件更换以及墨水、探针卡等耗材购买,欢迎与我们联系。
我司提供UF3000、UF3000EX、UF200、UF200SA、UF200A、UF200S、UF190、UF90A 探针台的一站式解决方案,欢迎咨询合作!
- 1.TSK UF3000/3000EX/UF200/S/SA/A APM90 PROBER 整机及配件的销售 ;
- 2.TEL P12XL/XLN/XLN+/P8XL PROBER 整机和配件销售;
- 3.EG4090/4090U/EG2001X/EG2001CX PROBER 整机及配件销售;
- 4.模拟电路、数字电流、IGBT类产品测试用 探针卡 prober card 研发 设计 生产和销售;
- 5. probe pin 探针销售,cascade针座翻新改造;
- 6.全系列探针台零配件和测试耗材销售,包括驱动器、打点器、针座、三维调节支架、打点墨水等;
- 7.GLODEN CHUCK 4寸 6 寸 8寸承载台 定制翻新;
- 8.TSK/TEL/EG PROBER 设备拆机、维修、改造、验机、安装调试等技术服务和联网服务 ;
- 零配件具体包括: 1.1 Wafer ID识别 OCR 加装; 1.2 加装探针台高温或者低温冷却装置1.3圆形或方形清针机、提供针卡锁紧器、任意型号测试机连接针卡锁紧器、测试头旋转支架、90A UF200 UF3000 探针台专用软驱和硬盘销售;
- 联网服务具体包括TSK PROBER 网络功能添加、运算功能增强、外接显示添加 VGA 接口 、MO功能添加等