教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 法律文档 >

Minigui移植uClinux(3)

来源:网络收集 时间:2026-08-29
导读: [ ] Use incore (built-in) resource //建议不要选这个,老有问题 [ ] NEWGAL engine on Qt Virtual FrameBuffer //建议不要选这个,不然老让你用qvfb 问题2:编译的时候老出现 unreferenced to vbf_Courier8x8()

[ ] Use incore (built-in) resource //建议不要选这个,老有问题

[ ] NEWGAL engine on Qt Virtual FrameBuffer //建议不要选这个,不然老让你用qvfb

问题2:编译的时候老出现 unreferenced to vbf_Courier8x8() 之类的问题

解决:

[ ] Var bitmap font //千万不要选这个,不然会出现 unreferenced vfb_Courier8x8() 之类的错误

问题3:一切都搞定了,可是执行 mginit() 的时候就崩溃了,把所有的寄存器值打印了出来,然后显示了个 Abort() 就退出了!

解决:

[ ] IME (GB2312) Intelligent Pinyin module //千万不要选这个,不然后面你的 mginit 程序一启动就崩溃了

问题4: 为什么我执行 helloword 就显示 “Can not attach shared resource!”

解决:

注意: 因为你的 minigui 是按 Lite 模式编译的,如果必须 mginit 首先运行起来,你其它的程序(比如 bomb ,或是 helloword)才能执行,如果 mginit 没有运行起来你就执行 helloword 的话,就会显示错误

“ Can not attach shared resource ! ”

问题5:怎么把自己的程序加到 minigui 的 taskbar 上去,并且排在前面??

解决:

查看 mginit 目录下的 mginit.rc 文件,里面就是配置,我想你能看明白的 :)

问题6:为什么我的程序显示 can not find libminigui.so ??

解决:你是否忘了在 etc/ld.so.conf 中加入 /usr/local/lib ,并且执行 ldconfig 程序? 看前面说的方法

好了,就写这么多吧,希望对新手有所帮助!

Singlewolfyu (大漠孤狼) 写于 清华 FIT 4-305 2006-11-7

yuqiang0107@126.com

把我写的另一篇关于 IAL 校正的文章也归并到这个贴子里来,算是做个汇总吧,原贴可以在论坛中搜 singlewolfyu 的文章就可以找到,原贴里有一些我上传的附件,有兴趣可以去下载,这里就不上传了! 希望这篇文章能对大家有用!

带屏幕校正功能的 2410 的 IAL

作者:大漠孤狼 E-MAIL:yuqiang0107@126.com

前几天成功的把 MiniGUI 移植到板子上了,顺利的跑起来了。我用的是 SMDK2410 的 IAL 程序,可是还有一些问题,如下:

1:点在触摸屏上不动,可以见到 Cusor 在点的位置附近老是跳动,而且点的位置不准,

2:经常点 MiniGUI 的菜单或是按钮的时候,MiniGUI 没有反应,经printf 出来,发现菜单有时候收不到 MSG_COMMAND 消息,有时候能收到,就是说很不稳定 3:经常点击触摸屏的手离开后,Cursor 就消失了

经过调试后发现了原因,如下:

1:由于用的触摸屏是比较便宜的那种,所谓便宜没好货,触摸屏的采样很不稳定,我的屏是 3 寸屏,分辨率是 240x320 16-pp 的那种,可是我点击触摸屏从驱动读出来的值却是 900 多,800 多,而且还不是简单的线性关系,比如我点 X 轴 120 处,值为 400 ,我点X轴 239 处值为 900 ,晕死,如果用原来的 SMDK 2410 IAL 程序,根本无法正常工作

2:便宜屏还有个问题,就是在刚开始按触摸屏和快要放手时,这一头一尾两种情况下,采样值根本就是错误的,比如我按在 X 轴 120 处,刚开始得到的值是 230 ,然后是 250,400 ,401,398,403 ??402,100,101 ,这样的序号,可以看到,在刚开始和快结束时采到的值根本是错误的,这就是为什么我说“手一离开触摸屏,Cusor就消失”的原因为了,因为这时候 Cusor 跑到错误的坐标值上去了,当然就消失了

3:经常点 MiniGUI 的菜单却没有响应,其实还是上面 2 的原因,菜单的响应是当你的手离开触摸屏后,会产生一个 MSG_LBUTTONUP 消息,在这个消息中会调用 PtInRect()检查这时候的点击位置是否在菜单上,如果在的话,菜单就会触发一个 MSG_COMMAND 消息,于时菜单就会显示出来,其实 MiniGUI 中对所有的点击都是这样处理的。(自己看看 MiniGUI 的源代码就会明白了)。因为我的便宜屏在手快要离开触摸屏时得到的坐标是错误的,所以这时候 PtInRect() 就会返回错误的值,就好像我点在屏的别的地方了一样,所以这时候菜单根本得不到消息。

根据以上原因,我对 MiniGUI 1.3.3 版本中的 2410 的 IAL 程序进行了修改,使得它在我的 便宜屏 上一样可以正常工作。它提供了去抖动功能,就是点击时一头一尾那两下的不准确的值不能要,同时提供了一个方便的屏幕校准程序,你只需要做小小的修改就可以校准让它在你的 便宜屏 上很好的正常工作了。

新程序的使用方法:

在 2410.c 中定义了两个数组,如下

typedef struct mPoint { int x, y ; } mPOINT ;

static mPOINT ts_position[4]={ {940,926},{940,102},{96,104},{120,940} }; static mPOINT display_position[4]={ {0,0},{0,319},{239,319},{239,0} };

ts_position 意思为 TouchScreen 的 位置 display_position 意思为屏幕上显示的 位置

比如我前面说的,我的屏幕是 240x320 的,我点四个角 {0,0},{0,319},{239,319},{239,0} ,从触屏上读出来的数据分别为 {940,926},{940,102},{96,104},{120,940} ,填入这两个数就行

所以使用方法就是,你自己取四个点(其实只要3个点就够了,呵),点这四个点,得到相应的触摸屏读出来的值,把这些数据填到这两个数组中,OK,你的 触摸屏 就可以正常工作了 :)

后面附一个 readpos.c 的程序,你可以执行它,然后点击触摸屏,它会显示出触摸屏读出来的值。

程序: 2410_带触摸屏校正功能.c /*

** $Id: 2410.c,v 1.4 2003/11/21 12:15:37 weiym Exp $ **

** 2410.c: Low Level Input Engine for SMDK2410 Dev Board. **

** Copyright (C) 2003 Feynman Software. */ /*

** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation; either version 2 of the License, or ** (at your option) any later version. **

** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. **

** You should have received a copy of the GNU General Public License ** along with this program; if not, write to the Free Software

** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */

#include #include #include #include #include

#include \

#ifdef _SMDK2410_IAL

#include #include #include #include #include

#include /* i add it here */ #include #include #inc …… 此处隐藏:3224字,全部文档内容请下载后查看。喜欢就下载吧 ……

Minigui移植uClinux(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/435707.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)