频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

6.2.2 MiniGUI的移植--在嵌入式ARM系统中的移植

作者: 苏东 出处:电子工业出版社易飞思公司  2007-08-20 13:05    砖    好    评论   进入论坛
阅读提示:《主流ARM嵌入式系统设计技术与实例精解》第6章重点介绍了Linux下的GUI开发技术.本节主要是MiniGUI在嵌入式ARM系统中的移植.

2.MiniGUI在嵌入式ARM系统中的移植
MiniGUI在嵌入式ARM系统中的移植方法和本书6.1节中介绍的在上位Linux机器上的移植方法基本相同。
(1)确保系统硬件平台的底层FrameBuffer驱动已经安装好。
(2)在编译嵌入式Linux的内核时,必须要把FrameBuffer的支持加入:

 Console driver ----
Frame-buffer support -
[*] Spport for frame buffer devices

在该选项下面的参数中进行选择,如在Linux Kernel v2.4.21-rmk1-omap1的内核配置中:

<*> OMAP FrameBuffer Driver
[*]  Advaced low level driver options
<*>  16 bpp packed pixels support
[*]   support only 8 pixels wide fonts
[*]   Select compiled-in fonts
[*]   VGA 8x8 font
[*]   Acorn console 8x8 font

(3)安装资源文件的方法。

[root@linuxj root]#tar –xzvf minigui-res-1.6.x.tar.gz
[root@linuxj root]#cd minigui-res-1.6.x
[root@linuxj minigui-res-1.6.x]#vi config.linux
将prefix修改为要安装的目录/usr/src/arm-linux/minigui/minigui-arm
[root@linuxj minigui-res-1.6.x]#make install

(4)编译库文件的方法。
编译库文件的方法和在主机Linux上的编译有所不同,这里可以写一个shell来做。一个在arm-linux-gcc(2.95.3)编译器上配置的例子如例程6-1所示。
例程6 1  Buildlib-omap例子

#!/bin/sh

rm config.cache config.status -f

CC=arm-linux-gcc \
./configure --prefix=/usr/src/arm-linux/minigui/minigui-arm \
--build=i686-linux \
--host=arm-linux \
--target=arm-inux \
--disable-shared \
--disable-lite \
--disable-standalone \
--with-style=phone \
--enable-incoreres \
--enable-rbfgb12 \
--enable-rbf16 \
--enable-fonthelv \
--enable-newgal \
--enable-videofbcon \
--disable-videoqvfb \
--disable-qvfbial \
--disable-videodummy \
--disable-videocommlcd \
--disable-nativegal \
--disable-nativegalqvfb \
--disable-micemoveable \
--enable-cursor \
--disable-fblin1l \
--disable-fblin16 \

--disable-fblin32 \
--disable-textmode \
--disable-palm2ial \
--disable-dummyial \
--disable-nativeial \
--enable-hh2440ial \
--disable-qpfsupport \
--disable-ttfsupport \
--disable-type1support \
--disable-latin9support \
--enable-gbsupport \
--disable-gbksupport \
--disable-big5support \
--disable-unicodesupport \
--disable-savebitmap \
--enable-imegb2312 \
--enable-imegb2312py \
--disable-aboutdlg \
--disable-savescreen \
--enable-tinyscreen

编译好后,在/usr/src/arm-linux/minigui/minigui-arm目录下就有了对应的目标,在子目录lib下有libmgext.a、libminigui.a和libvcongui.a 3个库文件。
(5)编译例子代码如下。

[root@linuxj root]#tar –xzvf  mde-1.6.x.tar.gz 
[root@linuxj root]#cd mde-1.6.x
[root@linuxj mde-1.6.x]#export CC=arm-linux-gcc
[root@linuxj mde-1.6.x]#vi configure.in

① 修改configure.in文件

增加一行CFLAGS=”$CFLAGS 
-I$/usr/src/arm-linux/minigui/minigui-arm/include
-L$/usr/src/arm-linux/minigui/minigui-arm/lib

指定MiniGUI的头文件及库文件的参考路径。
② 修改头文件路径:

AC_CHECK_HEADERS(/usr/src/arm-linux/minigui/minigui-arm/include/minigui/c
ommon.h,have_libminigui=yes, foo=bar)
[root@linuxj mde-1.6.x]#./configure –prefix=/usr/src/arm-linux/minigui/mini
gui-arm –host=i686-linux –build=arm-linux –target=arm-linux
[root@linuxj mde-1.6.x]#make
[root@linuxj mde-1.6.x]#make install

编译好之后就可以把demo程序放到目标板的文件系统中,烧录到目标板上。
当然要把程序在目标板上启动起来,还需要修改和配置 MiniGUI.cfg 文件。修改PATH/etc/MiniGui.cfg文件内容如下:

[system]
# GAL engine and default options
gal_engine=fbcon
defaultmode=176x240-16bpp
# IAL engine
ial_engine=console
mdev=/dev/mouse
mtype=none

[fbcon]
defaultmode=176x240-16bpp

[qvfb]
defaultmode=176x240-16bpp
display=0

将res的目录改成PATH/res目录。另外需要注意库文件的链接问题。有一个比较好的嵌入式调试工具是strace,用strace命令来调试程序。比如说程序a,可以用strace ./a来执行,这样把执行过程打印出来,可以看到出错的地方。

【责任编辑:雪花 TEL:(010)68476606-8007】

回书目   上一节   下一节
专题
Linux——从菜鸟到高手
.NET移动与嵌入式技术专题
Linux/Solaris服务器的安全配置
Linux 集群技术专题
Linux中文环境
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
浏览器的战国时代
浏览器的战国时代
ARP攻击防范与解决方案
ARP攻击防范与解决方案
NAC安全访问控制
NAC安全访问控制
· NAC安全访问控制
· 网络布线测试仪器
· Windows Server 2008专..
· Windows远程桌面应用
· 网络故障排除宝典
· 运营商封堵ADSL共享 中..
· 解析35岁技术人的价值..
· 世纪枭雄比尔盖茨的王..
· 主流品牌防火墙配置
· ASP.NET开发教程
· 超级计算机TOP500专题
· Vista SP1对决XP SP3
· SQL Server 2008/2005..
· 程序员如何成长?
· C#技术开发指南
· 虚拟化技术还有点“虚”
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SOA 面向服务架构
SOA 面向服务架构
· SOA 面向服务架构
· SQL Server 2008/2005..
· Apache技术专题
· 三层交换技术专题
· SQL Server入门到精通
· Windows远程桌面应用
· C#技术开发指南
· Apache技术专题
· Windows集群服务应用
· C#技术开发指南
· 国际文档格式标准开战
· 路由器设置与口令恢复
· Linux 集群技术专题
· PHP开发应用手册
· SOA 面向服务架构
· 企业数据恢复指南
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SQL Server入门到精通
SQL Server入门到精通
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· Apache技术专题
· C#技术开发指南
· 三层交换技术专题
· Apache技术专题
· C#技术开发指南
· Windows远程桌面应用
· 企业数据恢复指南
· Windows集群服务应用
· 路由器设置与口令恢复
· Linux 集群技术专题
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· 反垃圾邮件技术应用