MiniGUI arm移植
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.MiniGUI在嵌入式ARM系统中的移植
MiniGUI在嵌入式ARM系统中的移植方法和本书6.1节中介绍的在上位Linux机器上的移植方法基本相同。
(1)确保系统硬件平台的底层FrameBuffer驱动已经安装好。
(2)在编译嵌入式Linux的内核时,必须要把FrameBuffer的支持加入:
在该选项下面的参数中进行选择,如在Linux Kernel v2.4.21-rmk1-omap1的内核配置中:
(3)安装资源文件的方法。
(4)编译库文件的方法。
编译库文件的方法和在主机Linux上的编译有所不同,这里可以写一个shell来做。一个在arm-linux-gcc(2.95.3)编译器上配置的例子如例程6-1所示。
例程6 1 Buildlib-omap例子
--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 \
编译好后,在/usr/src/arm-linux/minigui/minigui-arm目录下就有了对应的目标,在子目录lib下有libmgext.a、libminigui.a和libvcongui.a 3个库文件。
(5)编译例子代码如下。
①修改configure.in文件
指定MiniGUI的头文件及库文件的参考路径。
②修改头文件路径:
编译好之后就可以把demo程序放到目标板的文件系统中,烧录到目标板上。
当然要把程序在目标板上启动起来,还需要修改和配置 MiniGUI.cfg 文件。修改
PATH/etc/MiniGui.cfg文件内容如下:
将res的目录改成PATH/res目录。另外需要注意库文件的链接问题。有一个比较好的嵌入式调试工具是strace,用strace命令来调试程序。比如说程序a,可以用strace ./a 来执行,这样把执行过程打印出来,可以看到出错的地方。