EDN China > 设计实例 > 嵌入式系统 > 操作系统 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) VxWorks下基于Tilcon的图形界面显示方案

付琦?? 蒋健?? 北京理工大学?? 姚鹰?? 中国船舶系统工程部?? 2013年04月09日 ?? 收藏0

一个字符结构定义了每个字符的实际大小和其它的字体属性,它是以字模为标准的,不得超过字模的大小,否则,超出部分将会被裁剪掉。

对于数字0,我们可以对上述目录在uftnr14.c下找到其信息为:

/* 0x0030 ('0') */

0, /* page */

48, /* index */

0, /* size (MSB) */

13, /* size (LSB) */

7, /* width */

10, /* height */

10, /* ascent */

0x79, 0x9a, 0x14, 0x28, 0x50, 0xa1, 0x42, 0xcc, 0xf0,

也就是说通过如上的数据,即可在屏幕上显示出Times new roman 14号字所表示的数字0。

对上表进行如下解释:

page+index就是该字符的ASCII编码,过扩成了双字节。

普通数字字符page=0,index为 ASCII编码值。

size(MSB)+size(LSB)是该字节的点阵信息长度,注意实际描述体的长度是2(2字节page,index)+该长度+1(从0开始编大小,所以从1数据要加1),而ascent之后的真正点阵数据的大小是该大小减4,也就是点阵信息的个数减去4。

width+height是该点阵资料的宽度和高度。

ascent是点阵处在baseline以上的偏移位置,baseline的位置要看整个字符表描述结构的定义。

data是按行扫描得到的点阵资料,是列递增把行显示效果排成一个连续空间后,按字节来描述每位的打点状态;如果行宽是8位的整数倍,不会把位补0去凑8位整数倍。字符点阵描述数据依次往下排列,直到以4个0标志结束[5]。

利用字模生成工具生成度的字模数据,这个数据不能直接使用,笔者在这里仅仅用到了它的网格部分,具体的数据自己得出,把width修改成4或者8的整数倍,便于得到点阵数据。

以36号字体为参考对象,所以修改后的编码为:

/* 0x0030 ('0') */

0, /* page */

48, /* index */

0, /* size (MSB) */

100, /* size (LSB) */

24, /* width */

32, /* height */

32, /* ascent */

0x00,0x3E,0x00,0x00,0xFF,0x00,0x01,0xC3,

0x80,0x03,0x81,0xC0,0x07,0x00,0xE0,0x0F,

0x00,0x70,0x0E,0x00,0x70,0x1E,0x00,0x78,

0x1E,0x00,0x78,0x1E,0x00,0x38,0x1C,0x00,

0x3C,0x3C,0x00,0x3C,0x3C,0x00,0x3C,0x3C,

0x00,0x3C,0x3C,0x00,0x3C,0x3C,0x00,0x3C,

0x3C,0x00,0x3C,0x3C,0x00,0x3C,0x3C,0x00,

0x3C,0x3C,0x00,0x3C,0x3C,0x00,0x3C,0x1C,

0x00,0x38,0x1C,0x00,0x78,0x1E,0x00,0x78,

0x1E,0x00,0x78,0x0E,0x00,0x70,0x0F,0x00,

0xF0,0x07,0x00,0xE0,0x03,0x81,0xC0,0x03,

0xC3,0x80,0x00,0xFF,0x00,0x00,0x7C,0x00,

综上所述,由于为了避免新生成的字体文件不被WindML识别,因此我们采用将已有字体改编的方式实现大字体的显示,我们利用点阵字模工具生成36号字的参数,将其替换14号字。此时我们将图形界面改成14号字,编译到VxWorks中时显示的即为36号字的大小,可以在增加最少代码,消耗最少内存的条件下实现大字体的显示。

调试步骤为:(1) 由于字体文件被改变,首先要编译WindML;(2) 编译系统,打开WFTP,重启目标机;(3) 打开FTP工具,将修改的twd文件传入目标机;(4) 编译下载应用程序到目标机;(5) shell中运行借口函数,目标机即可显示应用程序。

本文小结

随着嵌入式操作系统人机交互界面的设计得到空前的重视,Tilcon以其丰富的功能灵活的配置正逐步成为最理想的界面开发工具,同时对于VxWorks的字体显示问题,可根据实际情况灵活处理,利用本文提出的方法仅仅修改需要改动的部分,既灵活实用,又可缩短研发周期。

参考文献:

[1] 张加林,李松. 基于 Tilcon 的VxWorks 图形界面开发技术指挥控制与仿真[J]. 指挥控制与仿真,2007,26(5).

[2] 李海亮,石鹏. VxWorks 的WindML图形界面程序的框架分析[J]. 工业控制计算机,2007,20(1).

[3] WindML 3. 0. 1 p rogrammer’s guide [ Z]. Wind River Systems Inc. ,2002.

[4] 刘炳锋,李江红. 基于Tilcon 的某武器显控系统界面设计[J]. 军事测控技术计算机测量与控制,2008,16(8).  

[5] 董磊,周金明. VxWorks汉字显示解决方案[J]. 单片机与嵌入式系统应用,2003,1

[6] Tilcon Software Ltd. Tilcon Programmer’s Guide[M].CA,2005.

点击查看:基于嵌入式的Tilcon用户图形界面设计与开发>>


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

VxWorks? 图形用户界面? Tilcon? WindML编码?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈