1解决昨天的错误:
昨天晚上安装了库文件和资源文件,最后运行demo的例子时出现了错误:
最后去minigui的论坛上问了下斑竹,原来是配置选项错了,应该是320x240,即是"x",不是"*"。
(汗,真不知道这个 ”x“ 该怎么打出来。。。)
修改后,运行例子,可以了
2移植IAL引擎
步骤:
- 步骤一:readpos编译执行,然后测试触摸屏的坐标数据
- 步骤二:修改SMDK2410源程序2410.c
- 步骤三:重新配置编译libminigui1.6.0
- 步骤四:改写配置文件Minigui.cfg
- 步骤五:复制库文件
- 步骤六:编译mg-samples-1.6.10
- 步骤七:运行例子
昨天IAL引擎是采用的dummy
由于我的arm板有触摸屏,因此要修改IAL引擎支持触摸屏
参考文章:
http://wiki.minigui.com/bin/view/Columns/HuangSHArticle2(用的是这篇文章)
http://wiki.minigui.com/bin/view/Columns/HuangSHArticle3(这篇文章有点复杂,没有参考)
注1:在第一篇文章中是采用SMDK2410作为IAL引擎,源文件为2410.c,但是按照文章上的方法后,运行例子会提示:
这是因为configure文件并没有支持SMDK2440引擎的配置,因此我把2410.c的代码复制到dummy.c文件里
(注意,在2410.c源代码中应该#endif /* _SMDK2410_IAL */,剪切到代码的最后,否则出错
注2:我的触摸屏分辨率是320*240,修改代码见附录
2.1 readpos编译执行,readpos.c见附录
将readpos.c程序放入/libminigui1.6.0/rea/ial,然后在终端输入:
这样得到readpos可执行文件,复制到板子上运行,然后点击触摸屏,它会显示出触摸屏读出来坐标
在dummy.c中定义了两个数组,如下
ts_position 意思为 TouchScreen的 坐标,display_position 意思为屏幕上显示的 坐标
我屏幕是320x240的,因此
display_position值为:{0,0},{0,239},{319,239},{319,0},即四个角的坐标,是从左上角逆时针方向
运行readpos,从左上角逆时针方向一次点击四个角得出对应的ts_position值
ts_position:{27,295},{210,295},{211,26},{26,26}
2.2修改SMDK2410源程序dummy.c
修改后的程序见附录
2.3重新配置编译libminigui1.6.0
2.4改写配置文件Minigui.cfg
2.5复制库文件
把/usr/local/arm/3.4.1/arm-linux/lib 中全部库拷到 arm根文件系统的/lib 目录下去,其实只要部分就可以了,但是现在不清楚,全部拷过去不会出错
2.6编译mg-samples-1.6.10
Samples for MiniGUI version 1.6.x
里面含有Helloworld等程序
编译好的例子在mg-samples-1.6.10/src,复制helloworld到arm板的文件系统里面
2.7运行例子
附录一:dummy.c
附录二:Readpos.c 程序,帮助你读取触摸屏的值