原创 vxworks如何才能操作WindML显示部分的存储空间

2006-11-22 23:59 5624 9 23 分类: MCU/ 嵌入式

(UGL_UINT32)Vesa_VideoDriver->genDriver.fbAddres在初始化设备后将这个值附给一个全局变量,再打印出来就行.这个地址就是初始地址.其实在你应用程序初始化设备后会在Shell里看见打印出一串地址(我的工控板是0x40800000)这就是起始地址,后面还有显存大小,是否使用双缓存.下面是初始化你的图形设备的程序: 


if (uglInitialize() == UGL_STATUS_ERROR)/*初始化设备*/
 return; 
  pRegistryData = uglRegistryFind (UGL_DISPLAY_TYPE, 0, 0, 0);/*找到设备注册信息*/
    if (pRegistryData == UGL_NULL)
        {
 printf("Display not found. Exiting.\n");
 uglDeinitialize();
 return;
 }
    devId = (UGL_DEVICE_ID)pRegistryData->id;/*设备ID*/


    pRegistryData = uglRegistryFind (UGL_INPUT_SERVICE_TYPE, 0, 0, 0); /*找到输入设备*/  
    if (pRegistryData == UGL_NULL)
   {
     printf("Input service not found. Exiting.\n");
     uglDeinitialize();
     return;
   }
    inputServiceId = (UGL_INPUT_SERVICE_ID)pRegistryData->id;/*输入设备ID*/


后直接往初始地址地址就能写值了!

文章评论18条评论)

登录后参与讨论

用户288329 2010-8-5 17:31

曙海嵌入式学院提供以下课程的培训--中国最大的FPGA,DSP和3G手机通信培训机构:
FPGA培训,DSP培训,MTK培训,Android培训,Symbian培训,iPhone培训,单片机培训,Candence PCB培训,Vxworks培训等。
网址: http://www.51qianru.cn
上海总部电话:021-51875830 深圳:0755-61280252 北京:010-51292078  南京:025-68662821

用户288329 2010-8-5 17:30

曙海嵌入式学院提供以下课程的培训--中国最大的FPGA,DSP和3G手机通信培训机构:
FPGA培训,DSP培训,MTK培训,Android培训,Symbian培训,iPhone培训,单片机培训,Candence PCB培训,Vxworks培训等。
网址: http://www.51qianru.cn
上海总部电话:021-51875830 深圳:0755-61280252 北京:010-51292078  南京:025-68662821

shenyandetongxing_551209819 2007-3-29 17:29

windML没有中文字体哦:)

用户1058515 2006-12-17 17:47

问题解决了,谢谢你的指导,以后还会向你多多请教的

用户1058515 2006-12-17 14:36

有QQ之类的吗,我希望能多和你交流交流,我的QQ:41686110

用户1058515 2006-12-17 14:32

我主机端初始化完成后没任何显示uglRegistryFind我UGL的.h文件中没有

shenyandetongxing_551209819 2006-12-17 14:13

在uglInitialize() 执行完以后,在主机端的Shell里就打印出了你的显存地址和显存大小。你看看是不是?

shenyandetongxing_551209819 2006-12-17 14:12

uglRegistryFind这个函数没有,是不是因为你配置WindML的时候没有配置好呢?

用户1058515 2006-12-17 13:33

谢谢你的回复,谢谢!!!
我用的实验板也是工控机,是盛博的PC104,型号SuperPT,显卡C&T69000,2M显存,我按照你在文章中说的方法试了一下,找到的显存位置好象不对,我在我的.c中加入以下代码。我的目标在屏幕上画一个BMP图象,640*480,256色的。bmp是我用windows自带的画图程序做的,一个纯红色图片,色彩值全部是F9,
unsigned int width,height,address,memsize;
unsigned char temp[640*480]
....
UGL_MODE_INFO info;
...初始化信息和屏幕上画图完成后,
uglInfo(devId, UGL_MODE_INFO_REQ, &modeInfo);
width = info.width;
height = info.height;
address=(UGL_UINT32)info.fbAddress;
memsize=info.displayMemAvail;
 
我取出width,height,address,memsize值发现,width和height是对的,address=0xd8000000,memsize=0;displayMemAvail不是可利用的显存大小吗,怎么是0呢,我的BMP文件在显存空间是不是从0xd8000000后的640*480字节。这里面应该全是F9,我从程序中把这段空间读了出来,内容不是F9;这是什么原因,请指导下,谢谢。
我装的是winxp,tornado2.0,windml2.0;uglRegistryFind这个函数不知道为什么我的WINDML库里没有啊
期盼回复指导!!!!!!

shenyandetongxing_551209819 2006-12-16 23:52

其实这个地址是只是一个影射地址我的工控板地址是0x40800000(windML配置的16位色)。直接往这个地址开始写565的十六位色,显卡驱动就可以在屏幕上将你写的颜色显示在屏幕上。
相关推荐阅读
shenyandetongxing_551209819 2010-02-25 21:34
MyEclipse 建立第一个工程
1.打开MyEclipse--新建个工程File--New--Project--WebProject 2.在ProjectName中输入hello--Finish 3.然后为工程添加struts框架,...
shenyandetongxing_551209819 2010-02-06 22:42
人力资源管理软件(技术储备)
JAVA的SSH开发框架Struts、Spring、Hibernate在各层的作用1、Struts 负责 web层ActionFormBean 接收网页中表单提交的数据,然后通过Action 进行处理...
shenyandetongxing_551209819 2010-02-06 02:51
个人资源管理软件(需求)
先提提需求吧,这是重中之重,这不是简单就能完成的,需要不断的修改和完善。既然是个人资源管理就要首先搞清楚个人资源包括哪些部分:1  人脉资源,也就是我们常说的关系,人是社会型动物就不可能生活在真空里,...
shenyandetongxing_551209819 2010-02-06 02:33
HR软件设计开始(关注个人资源管理与分析)
最近对HR很感兴趣,上网搜了一下,HR的软件也不少,其中风头正劲的用友公司做的挺多,但是看了看都是针对企业级的。但自己平常的工作和进步帮助不大。想整一个关于人力资源、人际关系进行总结、分析的软件,让自...
shenyandetongxing_551209819 2010-02-06 02:30
对HR和B/S模式的东西感兴趣
最近对HR很感兴趣,上网搜了一下,HR的软件也不少,其中风头正劲的用友公司做的挺多,但是看了看都是针对企业级的。但自己平常的工作和进步帮助不大。想整一个关于人力资源、人际关系进行总结、分析的软件,让自...
shenyandetongxing_551209819 2008-10-01 16:18
由于工作原因,改行!!
已经好久没有上我的博客了,还有很多朋友支持我,很欣慰:)现在由于工作原因很长一段时间内将挥泪告别嵌入式。现在如果有做PKI或PMI的跟我一起交流啊:)...
我要评论
18
9
关闭 站长推荐上一条 /2 下一条