本文描述了在tornado2.2.1/vxworks5.5.1下使用windML和zinc的步骤,希望能有所帮助。
主机环境:windows2000				 目标机环境:pentium
1	 安装TDK-15061-ZC-00和TDK-14631-ZC-01。
		 安装选项默认即可。
2	 安装DK-14376-ZC-00,WindML	 2.0.3。
		 选择WindML 2.0.3 Source for Tornado 2.0.x。
3	 安装TDK-13835-ZC-00,Zinc 6.0 for Tornado 2.0.X。
		 安装选项包括:
	Zinc Source: any x none
	Zinc: WindowsNT x pentium
	Zinc: WindowsNT x simpc
4	 安装patch-Zinc6-cp1,将zinc升级到6.0.1。
5	 zinc在tornado2.2.x下有个补丁,文件名是zinc60t22.tar.gz。
		 将其解压缩,并拷贝到tornado的安装目录下。
6	 启动tornado,在菜单Tools中选择windML...选项,弹出windML的编译配置对话框。
		 Configuration中输入一个新的配置名称(任意名称),处理器选择PENTIUM。
		 Graphics中选择Generic VGA,颜色深度4,分辨率640*480;
		 Input中,如果不需要鼠标,将Pointer Configuration的Type设为No Pointer。
		 UGL Bitmap Fonts中,按“<<all”,包含所有字体。
		 Miscellaneous中,Build Options可以全部都不选中。
		 然后选择Save,并按下Build。
7	 windML的build结束以后,在tornado菜单Tools中选择zinc...,弹出zinc的编译配置对话框。
		 Configuration中输入一个新的配置名称(任意名称),处理器选择PENTIUM。
		 配置选项可以不用修改,Save之后可以直接Build。
8	 在tornado菜单Tools中选择Zinc Designer,启动zinc的图形编辑工具。
		 可以根据自己需要创建图形界面,并保存。
		 在Zinc Designer的Options菜单中选择Generate Code...自动生成代码,在
		 SourceCode-<ApplicationData>对话框中,设USE RSRC为True,并设Windows项为你主窗口名称。
		 然后按下“Apply”按钮,再选择Generate Code,生成C++代码。
9	 在tornado中创建一个bootable的vxworks image工程,组件中需要包括:
		 WindML:
						 PS2 keyboard
						 WindML graphics support (PCI device)
						 complete 2D library
		 Zinc:
						 all of zinc
		 在Build属性的C/C++ compiler中添加定义-DZINC_CONFIG_TOOL。
		 此处尤其需要注意的是在vxworks的配置中不能包含PC console组件。原因在于:
						 usrWindMl.c文件中有如下语句:
						 #ifndef INCLUDE_PC_CONSOLE
										 i8042KbdDevCreate (WINDML_KEYBOARD_DEV_NAME);
						 #endif /* INCLUDE_PC_CONSOLE */
		 因此,如果包含了PC console组件,将不会创建键盘设备,导致udx11kbd.c文件中
		 uglX11KbdInit函数在调用
					 pDevice->fd = open (SYS_KEYBOARD_NAME, O_RDONLY, 0);
		 时,返回值为ERROR,其原因就在于没有键盘设备。
		 我认为,通过把usrWindMl.c文件中的如下语句:
						 #ifndef INCLUDE_PC_CONSOLE
										 i8042KbdDevCreate (WINDML_KEYBOARD_DEV_NAME);
						 #endif /* INCLUDE_PC_CONSOLE */
			 改为:
										 i8042KbdDevCreate (WINDML_KEYBOARD_DEV_NAME);
			 也应该可以解决问题,不过没有试过。如果要修改usrWindMl.c,需要注意的是,tornado下有
			 两个usrWindMl.c文件。
10	 在上一步中创建的工程中添加第8步中产生的代码文件,并把
			 \target\src\zinc\demos\hello\v_app.cpp和\target\src\ugl\example\demo\ugldemo.c文件
			 拷贝到工程目录下,并添加到工程中。
11	 启动目标机,配置并启动target server,然后在wind shell中调用ugldemo,此时应该能够看到
			 windML的图形显示。如果没有图形显示,说明windML的配置、编译等方面有问题。
			 重启动目标机,在wind shell中调用hello,应该能够看到利用Zinc Designer设计出来的图形界面。			 
			 如果没有图形显示,说明zinc的配置、编译等方面有问题。
										
					
					
							
					
| 有奖活动 | |
|---|---|
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
| 送您一块开发板,2025年“我要开发板活动”又开始了! | |

 
					
				
 
			
			
			
						
			 
					
				 我要赚赏金
 我要赚赏金 STM32
STM32 MCU
MCU 通讯及无线技术
通讯及无线技术 物联网技术
物联网技术 电子DIY
电子DIY 板卡试用
板卡试用 基础知识
基础知识 软件与操作系统
软件与操作系统 我爱生活
我爱生活 小e食堂
小e食堂

