摘要:

介绍和分析了嵌入式实时操作系统VxWorks及媒体库WindML的结构和特点。结合实际,应用WindML提供的API函数,对VxWorks操作系统进行用户图开界面开发,研究在VxWorks下开发图形用户界面的技术难点问题,并给出了问题解决方案和程序实现。

下载地址

Files:
Date 2018-09-05
File Size 543.32 KB
Download 519

VxWorks5.5 平台下矢量字体显示的实现

凌云锋

(江苏自动化研究所,连云港 222006)

摘 要:VxWorks5.5 采用点阵字库实现字体显示,这种字库设计简洁,应用广泛,但一个字库只能对应一种字体的一种大小,在不确定使用何种字体的情况下,这种传统的字体显示方式便不能够满足需求。通过使用TrueType字库和FreeType字体引擎相结合的方式,能实现多种字体、任意大小的显示功能。主要介绍了TrueType、FreeType技术的基本原理,以及在VxWorks5.5下如何将WindML、FreeType和TrueType三者相结合实现矢量字体显示的方法。

关键词:矢量字体,编码转换,字体库加载,粗体,斜体

Implementation of Outline Font in VxWorks5.5

LING Yun-Feng

(Jiangsu Automation Research Institute, Lianyungang 222006, China)

Abstract: Bitmap fonts are used to display in VxWorks5.5, which is simple and widely used.But it will not meet the demand when we don't make sure which font size is ok as each bitmap font file has only one font and one size. We can achieve a variety of fonts and sizes by using the TrueType fonts and FreeType font engine.This paper describes the basic principle of TrueType and FreeType technology, and how to realize outline font display by using WindML, FreeType and TrueType fonts.

Key words: outline font; encoding translating; font file loading; bold; italic

下载地址

Date 2018-08-07
File Size 606.93 KB
Download 543

Wind River Tilcon Graphics Suite 5.8.1安装介质

├── 3rd_party_licensor_notices

│   └── tilcon-5.8.pdf

├── autorun.inf

├── docs

│   ├── wr_media_lib_ddk_programmers_guide_5.3.pdf

│   ├── wr_media_lib_sdk_programmers_guide_5.3.pdf

│   ├── wr_tilcon_graphics_suite_tutorial_5.8.pdf

│   └── wr_tilcon_graphics_suite_users_guide_5.8.pdf

├── images

│   ├── CDR-R141785.1-1-08

│   ├── CDR-R148318.1-7-00

│   ├── CDR-R157603.1-3-00

│   ├── CDR-R157604.1-3-00

│   ├── CDR-R157605.1-3-00

│   ├── CDR-R158055.1-3-00

│   ├── CDR-R158056.1-3-00

│   ├── CDR-R158833.1-3-00

│   ├── CDR-R158920.1-3-00

│   └── CDR-R158921.1-3-00

├── installer

│   └── host_info

├── license.htm

├── mediaId

├── readme.txt

├── sdf.xml

├── setup.exe

├── setup_linux

├── setup_linux32

└── setup_solaris

获取Tilcon 5.8,请关注微信公众号:北南南北

北南南北

WindML中Mesa的应用

毛子鹰1, 高贵明2 (1. 南京信息工程大学电子与信息工程学院,南京210044; 2. 南京船舶雷达研究所,南京210003)

摘 要: 研究了在WindML3.0中应用Mesa来改进嵌入式图形界面显示效果的方法。针对实际产生的问题进行了简要的分析,提出了相应的解决方法,达到了预期的效果。

关键词: WindML; Mesa; VxWorks; 图形界面

The application of Mesa in WindML

(1. College of Electronics and Information Engineering, Nanjing University of Information Science & Technology, Nanjing 210044; 2. N anjing Marine Radar Institute, Nanjing 210003)

Abstract: A method of applying Mesa in WindML3.0 to improve the display effect of the embedded GUI is introduced. Based on the problems in the test, the brief analysis is made with the corresponding solutions to achieve the expectant effect.

Keywords: WindML; Mesa; VxWorks; GUI

下载地址

(6 votes)
Date 2018-08-01
File Size 720.72 KB
Download 772

摘 要:通过对Mesa 3D库的移植及改进在VxWorks中实现了基于OpenGL1的图形API函数,解决了VxWorks下图形驱动开发组件WindML3.0不能使用标准图形API进行图形应用程序开发,不能支持3D图形显示的问题。同时利用硬件双缓冲技术解决了实时显示中画面闪烁、抖动的问题,提高了图形显示的质量

引言

随着嵌入式技术的不断发展,嵌入式系统的功能和结构日趋多样化和复杂化,已不再满足于简单图形的显示,对三维真实感图形的显示以及交互式用户界面提出了更高的要求。VxWorks是由美国风河公司推出的一个嵌入式实时多任务操作系统,当前VxWorks下的图形开发主要使用WindML来完成。虽然WindML支持丰富的显示方式、具有较快的显示速度、开放源代码等优势,但是WindML在以下两个方面的不足也限制了其进一步的发展。

(1) WindML提供的图形API函数根本不能同现有业界标准DirectX或是OpenGL兼容,这在很大程度上影响了代码的可移植性。

(2) WindML现有的图形API函数只支持简单的二维图形显示,根本不支持三维图形,这极大的限制了VxWorks下图形显示的开发,很难满足日益增长的对图形显示方面的要求。因此在WindML3. 0中实现对OpenGLAPI的支持就很有现实意义。

1 VxWorks三维图形引擎的总体架构

图形引擎在操作系统中可以视为一个独立的模块,其实质就是作为显示硬件的驱动程序,为应用程序的编写提供接口函数,同时在该操作系统中协调CPU与显示硬件芯片(GPU)之间的通信以及相应的内存管理等。

从这个意义上说,要在一个操作系统中构建出一个完整的图形引擎至少应该包括以下三大功能模块:与CPU通信模块、图形芯片初始化模块、标准图形库函数模块。与CPU通信模块主要负责提供CPU与GPU之间通信总线的驱动程序。以PCI总线为例,这个模块必须实现查找PCI设备、读写PCI配置空间,以及实现PCI中断控制等功能,协助CPU完成内存映射的任务。图形芯片初始化模块负责初始化图形芯片,包括创建并向系统注册显示设备、完成内存映射、正确设置显示模式、销毁设备等,这个模块必须使GPU处于准备好的状态,随时接收并完成绘制图形的任务。标准图形库函数模块负责在底层硬件上实现符合业界标准的图形库API函数(比如OpenGL或是DirectX) 。

2 Mesa3D的移植及改进

2.1 Mesa3D的移植

Mesa3D是一个兼容OpenGL规范的开放源码的函数库,是目前Linux上提供专业三维图形支持的唯一选择。Mesa3D同时也是一个跨平台的函数库,能够运行在XWindow、XWindow with DGA、BeOS、Linux SVGALib等平台上。从编译原理上来说,Mesa3D的移植就是要将Mesa的源代码(.c文件)编译成模块文件(.o文件) ,使其能成为一个功能模块加入到最终的VxWorks镜像中。

但是Mesa3D并不是专门为VxWorks编写的,因此必须从源代码中选取那些实现OpenGL基本功能的源文件, 同时还应根据系统硬件配置实现Mesa3D库与WindML的接口。最后将所有的文件单独编译生成相应的模块,再链接进入VxWorks镜像文件中。根据笔者的实践,要将Mesa3D移植到WindML3.0并能实现所有的OpenGL API函数,以下文件是必须要加入工程,并且需要根据系统的硬件情况进行修改,具体的修改处理情况如下。

(1) 所有实现OpenGL标准功能的文件。在Mesa3D中,OpenGL按照功能分成以下部分: