嵌入式VxWorks学习总结报告 (2)在主机中插入软盘,打开主机内的cmd控制窗口,输入以下指令:
C:\\tornado2.2\\host\\x86-win32\\bin\\torVars.bat cd \\
cd C:\\tornado2.2\\target\\config\\pcPentium3 mkboot a: bootrom
等待完成,就可以得到含有bootrom.sys文件的启动软盘了。创建一个bootable工程后,就可以将软盘插入到目标机上,开机引导,从而进入到VxWorks界面了。
值得一提的是,每次修改BSP时,都要重新建立bootrom(之前要clean掉原有的bootrom),再进入cmd控制窗口完成启动软盘的制作。
2.4.6 后续配置与开发
后续的操作就和Vmware上安装VxWorks大同小异,主要是配置FTP Server,Target Server等,这里主要注意的是要保证config.h中的Default line中的IP配置,要和以后其他配置中的IP符合,不要冲突或者不一致,这样在调试过程中,容易出现网络连接错误;同时用户名与密码也一定要符合。
FTP Server可以在打开Tornado开发工具的时候,一直打开,总是保持通讯畅通;Target Server可以在配置完毕后再打开,如果目标机上安装了Target Shell组件,可能的操作也可以在目标机上完成,也可以选择在主机的Shell中完成。注意,不安装Target Shell组件,引导开机的VxWorks操作系统界面是不一样的,而且是不能在目标机上进行指令输入和控制的,这个只要试验操作就可以发现。
只要以上配置完毕,基本就可以建立并编译工程,目标机上也会得到相应的VxWorks显示界面。至于具体的开发,就是由用户程序自己进行实现了,主要是新建或者包含进入工程一些.c、.cpp、.h文件等。
2.5 软件界面开发
2.5.1 WindML与中文显示
根据Tornado界面开发的特点,Wind River公司提供了WindML(Wind Media Library),该组件库支持基于嵌入式系统的多媒体应用程序,为VxWorks提供基本的图形,视频和音频技术,具有较好的软件独立性和可移植性。为增加汉字显示功能,由WindML字体驱动体系结构图可知,可以利用WindML对双字节编码的支持,实现对汉字的点阵存储、点阵获取、点阵显示的全过程,并使用WindML的双字节显示函数实现汉字码到汉字显示。
23
嵌入式VxWorks学习总结报告 这种方法使用了系统机制,是最根本的解决方法,并使用WindML的其他上层组件很方便的实现汉字显示。
WindML字体驱动体系结构图
WindML下汉字显示处理的过程如下图:
软件界面如果要有条框显示,需使用Tornado中的划线指令uglLine()函数,明确线段的起止点,用此指令划线就可规划出各个显示区域。为增加汉字显示功能,可利用WindML对双字节编码的支持,实现对汉字的点阵存储、点阵获取、点阵显示的全过程,并使用WindML的双字节显示函数实现汉字码到汉字显示。这种方法使用了系统机制,是最根本的解决方法,并使用WindML的其他上层组件很方便的实现汉字的显示。本文就是采用这种汉字显示方案。
利用WindML实现汉字显示的具体步骤为:
1)将汉字点阵字库文件,拷贝到WIND_BASE/target/src/ugl/ fonts/bmf目录下,供汉字的查找显示。
2)实现
WindML
的点阵寻址。WIND_BASE/target/h/ugl/config/
uglConfig.h文件描述了整个系统能使用的字符集。在用户程序中实现点阵寻址的程序流程见图5-8。
3)重新配置WindML库。使用WindML配置工具(见图5-9),完成处理器、字库等的设定;并在Bitmap Fonts标签中,将新添加的汉字点阵字库如Song 16等包含进去,重新编译生成WindML。
4)编译整个用户工程,发起显示汉字任务。
24
嵌入式VxWorks学习总结报告 参数初始化定位点阵驱动(uglDiverFind)定位点阵描述结构(uglFontFindString)绑接点阵和点阵驱动(uglDiverFind)是否最后一个点阵标识?是设置当前字符集(uglFondSet)定位显示汉字(uglTextDrawW)否
图5-8 WindML点阵寻址流程图
图5-9 WindML配置工具
25
嵌入式VxWorks学习总结报告 2.5.2 WindML环境配置
现在普遍流行的WindML版本为WindML 3.0,安装此版本时,还要另行安装它的补充插件,这样WindML才最完整。而且,在使用WindML开发界面之前,应该对VxWorks环境进行相关设置,使之可以支持WindML组件。基本的WindML环境配置步骤如下:
1、建立VxWorks环境。
用pcPentium的BSP。安装windml3.0和windml3_0-cp3。仅用windml3.0我编不过去,加了CP3 就好了!
安装的时候选FOR TORNADO2.2就可以了! 2、配置WindML
可在pentium_VESABIOS_RGB565_640x480这个配置上改的。分辨率改为800x600,Pointer选PS/2 style,设备名/POINTER/0。键盘是PC/AT style,设备名/pcConsole/1。注意千万注意有时键盘/KEYBOARD/0---这不行,运行程序后会黑屏!为什么你在SHELL里运行:DEVS看看有没有/KEYBOARD/0,没有,只有/pcConsole/1。另外把build Windml objcet build Windml examples 也选上!这样会把文件全编译通过!
其他选项未做改动。保存并重新先CLEAN 再build windml库。 具体配置可参考下面几幅图。
(1)WindML Build:用于新建或选择现有的WindML配置环境。 Config是WindML环境的查看和重新配置;Build是在配置环境确定后,重新建立配置环境的过程;Clean是清楚之前一次保存的配置;Quit是退出WindML Build对话框。
(2)Build:处理器、编译器与其他创建说明。
(3)Devices:显卡、颜色深度、分辨率、鼠标、键盘等。 (4)Advanced:图像、内存等;
(5)Bitmap Fonts:位图字体库、Unicode字符集等。
26
嵌入式VxWorks学习总结报告
3、修改BSP
在romInit.s文件中加上
#include
#define INCLUDE_WINDML
#define INCLUDE_WINDML_PS2_POINTER #define INCLUDE_WINDML_PS2_KEYBOARD
27