




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MiniGUI 1.3.3 移植详解发 布 时 间 : 2008-11-17 来 源 : 未知 作 者 : 大漠孤狼 浏 览 : 1384 MiniGUI 1.3.3 移植详解 作者:大漠孤狼 E-Mail: 最近移植了 MiniGUI 1.3.3 到一个开发板上,中间遇到许多问题,在论坛上发问题,结果也没多少人回我,就算偶尔有回的,基本上回答也没有什么用,网上找不到一个完整的移植文章,所以就决定把自己这次移植摸出来的一些方法写出来,给像我一样的小菜鸟做个参考吧。本文不教你怎么写驱动,只是教怎么样在最短的时候在你的PC机上搭建起开发环境,同时在你的板子上跑起MiniGUI 来,这样你就可以在PC上开发好程序,调试完毕,然后交叉编译一下,直接Copy到板子上就可以了。 首先,你需要下载的MiniGUI 的包:/download/libminigui-1.3.3.tar.gz /download/minigui-res-1.3.3.tar.gz 这两个包的下载需要你在 上注册过才可以下载,免费注册的,自己去下吧/downloads/minigui13/mde-1.3.0.tar.gz 图形界面程序/downloads/minigui13/mg-samples-1.3.0.tar.gz 一些小例子 好,首先就下载这几个包吧,后面还有需要下载的包,后面再说 1.PC环境的搭建 首先你需要一个 Linux 环境,我安装的是 RedHat 9.0 安装时记着选 everything ,这样可以避免到时候编译少了东西。这里搭建的环境是让 MiniGUI 在你的 PC 上可以跑起来,这样以后你开发程序就可以只在 PC 上开发,调试好,最后交叉编译一下放到板子上就行了。后面会讲怎么为板子编译MiniGUI ,耐心的看吧:) 首先建立自己的开发目录 Root# mkdir /optRoot# cd /optRoot# mkdir st2410 /这个是我的板子,Root# chmod 777 st2410 /给一般用户操作权限user# cd /opt/st2410 /进到目录中去,在这个目录下工作,用普通用户来工作把 libminigui-1.3.3.tar.gz 解开user# tar zxf libminigui-1.3.3.tar.gzuser# tar zxf minigui-res-1.3.3.tar.gz 编译 libminigui ,这个是 minigui 运行所必需的库文件,必须编译成功user# cd libminigui-1.3.3user# ./configure /最简单的编译方式,让它自己去配置 ,这里采用缺省的Thread 模式而不是Lite模式,因为这种方式在 PC 机上使用最方便,后面移到板子上再改成 Lite 模式即可 注意屏幕上的输出,特别是下面几条 checking for FrameBuffer console support. yeschecking for pthread library. yeschecking for TT_FreeType_Version in -lttf. yeschecking for T1_InitLib in -lt1. nochecking for jpeg_std_error in -ljpeg. yeschecking for png_check_sig in -lpng. yes 其中 lttf lpng 必须是 yes ,不然后面你的程序肯定会有问题,如果这里不是 yes 的话,肯定是你的 Redhat 9 安装不对,告诉过你安装时选 everything ,你选了吗? 其中 ttf 库是对 TrueType 字体的支持,png 库是对 png 图形的支持,MiniGui 里都需要这两个,在后面为板子交叉编译的时候也需要这两个,不然你的程序跑不起来,切记切记。 好了,现在通过了,下面是编译了user# make 接来来就是漫长的等待了,让它慢慢的编译吧,呵user# su /切到 Root 用户权限下,不然安装时没法把文件写到你的 /usr/local 目录下Root# make install 好了,库安装完毕,下面是安装资源Root# cd /opt/st2410/minigui-res-1.3.3Root# make install OK,基本的安装完成了,现在检查一下看看在你的目录 /usr/local/lib 下是不是有以下文件libmgext-1.3.so.3 - libmgext-1.3.so.3.0.0libmgext-1.3.so.3.0.0libmgext.alibmgext.lalibmgext.so - libmgext-1.3.so.3.0.0libminigui-1.3.so.3 - libminigui-1.3.so.3.0.0libminigui-1.3.so.3.0.0libminigui.alibminigui.lalibminigui.so - libminigui-1.3.so.3.0.0libvcongui-1.3.so.3 - libvcongui-1.3.so.3.0.0libvcongui-1.3.so.3.0.0libvcongui.alibvcongui.lalibvcongui.so - libvcongui-1.3.so.3.0.0 里面还有一个目录 minigui ,可以进到里面去看,分别为 minigui/res/ bmp , cursor,icon ,. 好几个目录,里面有相应的文件检查 /usr/local/include 里面是不是多了一个 minigui 目录,/usr/local/include/minigui 时面好多的 .h 文件,如下: common.h control.h endianrw.h fixedmath.h mgext.h mywindows.h vcongui.hconfig.h dti.c filedlg.h gdi.h minigui.h skin.h window.h 如果这里检查没有这些东西的话,那你前面的步骤肯定有问题,自己检查一下吧。 首先,修改你的 /etc/ld.so.conf 文件,在里面最后新加入一行 /usr/local/lib然后执行 Root# ldconfig OK ! Root# vi /usr/local/etc/MiniGUI.cfg 在里面找到 system# GAL engine#gal_engine=fbcongal_engine=qvfb /这里修改 # IAL engine#ial_engine=consoleial_engine=qvfb /这里修改 mdev=/dev/mousemtype=IMPS2 fbcondefaultmode=1024x768-16bpp qvfbdefaultmode=640x480-16bpp /这里修改display=0 保存一下,OK了! 现在你需要安装一个 qvfb ,因为 Redhat 9 里面没有,从下面地址下载/downloads/dep-libs/qvfb-1.0.tar.gz 老方法:user# tar zxf qvfb-1.0.tar.gzuser# cd qvfb-1.0user# ./configureuser# makeuser# make install 在这个过程中如果出现 error while loading shared libraries: libqt-mt.so.3: cannot open shared object file说明你的系统少了 libqt-mt.so.3 这个库,还是回去检查一下,你安装时Redhat 时是否选了 everything ,或者在实际操作的过程中,这个库有可以被误删除掉,我就出现过,这时候你可以 google 一下 ,输入 libqt-mt.so.3 redhat 9 ,应该就可以搜到相应的 rpm 包,安装时 root# rpm i -force 你的包名 就OK了 这里有个下载地址,可以试试,我是用讯雷下载的,别的工具没试过/mirror//planetccrma/mirror/redhat/linux/planetccrma/9/en/os/i386/qt33-3.3.3-0.1.rh90.ccrma.i386.rpm 注意:在你后面的操作过程中有可能会导致 libqt-mt.so.3 丢失,这时候只要重装一下就OK了 解决了这个问题后重复安装过程user# ./configureuser# makeuser# make install OK ,环境搭建好了,下面是测试了:) 还记得前面让你下载的 mg-samples-1.3.0.tar.gz 这个包吧,这个就是一些例子,现在试试吧:)user# tar zxf mg-samples-1.3.0.tar.gzuser# ./configureuser# makeuser# cd src 看看 src 目录下是不是已经编译出可执行文件来了 现在来执行一下吧,首先把 qvfb 加到你的可执行路径中去user# cd $HOMEuser# vi .bashrc 在 .bashrc 最后面加上一句export PATH=$PATH:/sbin:/usr/local/arm/2.95.3/bin:/usr/local/bin:/usr/local 保存退出,这里面有些路径是为以后用的,比如 /usr/local/arm/2.95.3/bin ,先加上吧:)user# source .bashrc /让它执行一下,当然你也可以选择重启一下电脑,效果是一样的,呵 执行例子程序:user# qvfb & /在图形界面下执行,呵,别告诉我你只在命令行工作啊 :)在 640x480 VGA 16bit ,这样看起来舒服 Configure qvfb 中选 File user# cd /opt/st2410/ mg-samples-1.3.0/srcuser# ./helloword OK ,这个时候你应该可以看到在 qvfb 中的执行效果了吧,记住:一定要先运行 qvfb ,并且设置 qvfb ,然后再运行你的程序,而且qvfb 每重启一次就需要重新设置一下,真麻烦 OK 你的 PC 环境搭建完毕了,你现在可以在 PC 上开发你的程序,并且编译,并在 qvfb 中执行,等完全验证它是正确的了,把它交叉编译一下,放到板子上去就可以了,呵呵:) MiniGUI 还有一种执行方式,就是在 Console 下在 Framebuffer 上执行,这种方式太麻烦,在PC 上不推荐,你还是用 qvfb 执行吧,方便,呵 在FrameBuffer 上执行 修改 /usr/local/etc/MiniGUI.cfg 文件,如下 system# GAL enginegal_engine=fbcon /这里修改 # IAL engineial_engine=console /这里修改 mdev=/dev/mousemtype=none /这里改成none,因为经常鼠标不正常 fbcondefaultmode=1024x768-16bpp qvfbdefaultmode=640x480-16bpp display=0 重启动你的 RedHat 9 ,在出现 Grub 的时候按 E 键,在 kernel =. 这一行的最后加入 vga=0x317 ,然后 Enter ,然后在 kernel= 这一行上按 b 就可以了,这时候可以在启动时看到一个小企鹅的图标,OK 进去后,直接在 例子程序的目录下执行 ./helloword 就可以了 :) 2.为你的实验板进行交叉编译 OK,PC机的开发环境已经建立好了,下面就是要移植到我们的板子上去了,这里不介绍怎么移植 Linux 系统,假设你已经有一个可以在板子上跑的 Linux 系统了,并且已经有一个可以用的根文件系统了,并且已经有了板子相对应的LCD的驱动程序,这里介绍怎么在你的根文件系统里加上 MiniGUI ,使得你的板子有图形界面的显示。 要交叉编译,首先就得有交叉编译器,这里介绍 arm 板的交叉编译。不要自己去编译,直接去下载个就行了。.uk/pub/linux/arm/toolchain/cross-2.95.3.tar.bz2 记住这个 ftp ,最好的 arm 工具下载站, 下载回来,有35Mb,呵 安装交叉编译工具:Root# mkdir p /usr/local/armRoot# cd /usr/local/armRoot# tar jxf cross-2.95.3.tar.bz2 /把工具直接解到压缩到这个目录下就安装完成了,简单吧:) 解压缩后生成一个 2.95.3 目录,里面在就是工具记住,这时候的gcc为 2.95.3/bin/arm-linux-gcc 而它的 include 为 2.95.3/arm-linux/include ,对应的 lib 为 2.95.3/arm-linux/lib 也就是说,你如果用 arm-linux-gcc 编译程序的话,它缺省的就找 2.95.3/arm-linux/include 2.95.3/arm-linux/lib 两个目录,而不是 /usr/include ,所以如果你要加什么 .h .a .so 文件话,记着一定是加到这两个目录下去,不然编译器会告诉你找不到这些东西的 把可行程序的路径加入到 PATH 中去,还记得前面说过的改 .bashrc 文件吗? user# cd $HOMEuser# vi .bashrc 在 .bashrc 最后面加上一句export PATH=$PATH:/sbin:/usr/local/arm/2.95.3/bin:/usr/local/bin:/usr/local user# source .bashrc OK ,交叉编译工具安装完了,够简单吧:) MiniGUI 的编译需要一些库文件,缺省我们的 gcc 基本上都有这些库文件,所以不需要安装,可是现在要交叉编译了,交叉编译器可是不带这些库文件的,所以我们得首先自己编译这些库文件装到交叉编译器中去。 注意一点:库不一定要装最新的,库版本太新,MiniGUI 有可能不认识,像jpeg 库和 ttf 库就是这样,太新了反而用不了,所以要注意版本,以下的库都是我验证过可以和MiniGUI一起工作的,其它版本的库没试过,不保证能正确通过:) 首先安装 zlib 库,这个是后面的库的编译基础。/zlib-1.2.3.tar.gz 400多K,去下载吧, 下载到目录 /opt/st2410 下user# tar zxf zlib-1.2.3.tar.gz 由于 zlib 库的configure 脚本不支持交叉编译选项,只好自己动用了,手动临时把 gcc 修改成指向我们的交叉编译器 arm-linux-gcc Root# cd /usr/binRoot# mv gcc gcc_backRoot# ln -s /usr/local/arm/2.95.3/bin/arm-linux-gcc ./gccRoot# mv ld ld_backRoot# ln -s /usr/local/arm/2.95.3/bin/arm-linux-ld ./ld OK ,修改完成后回到 /opt/st2410/zlib-1.2.3 目录下user# ./configure -prefix=/usr/local/arm/2.95.3/arm-linux/ -shared 注意:这里配置指向 /usr/local/arm/2.95.3/arm-linux/ 目录,会自动安装在 /usr/local/arm/2.95.3/arm-linux/ include,lib 目录下,千万不要装错目录了,不然后面会找不到这个库的user# makeRoot# make install 安装完后检查一下目录 /usr/local/arm/2.95.3/arm-linux/ include,lib ,假如 include 中没有 zlib.h 之类的头文件,lib 中没有 libz.so.1.2.3 ,那就自己手动拷到这些目录下去,记着拷的时候把所有的 *.h 都需要拷过去,在拷库的时候用 cp a libz.* /./lib 就行,要用上 a 选项 记着把刚才改过的 gcc 再改回去,不然后面会出错的! 安装 png 库,这个是用来显示 png 图形的,MiniGUI 里很多图都是 png 的,如果没有这个库,你的 MiniGUI 将无法正常工作,切记切记! /sourceforge/libpng/libpng-1.0.10rc1.tar.gz 还是那句话,库不要用最新的,最新的容易有问题,用这个老一点的就没问题了,呵 user# tar zxf libpng-1.0.10rc1.tar.gzuser# cd libpng-1.0.10rc1 Libpng 不提供有效的 configure 脚本,所以只好自己动手改 Makefile 文件了 user# cp scripts/makefile.linux Makefile /把 Scripts 下的一个 makefile 拷出来自己动手改user# vi Makefile / 自己动手改 CC=arm-linux-gcc /修改这里 # where make install puts libpng.a, libpng.so*, png.h and pngconf.hprefix=/usr/local/arm/2.95.3/arm-linux /修改这里 # Where the zlib library and include files are located#ZLIBLIB=/usr/local/lib#ZLIBINC=/usr/local/includeZLIBLIB=/usr/local/arm/2.95.3/arm-linux/lib /修改这里ZLIBINC=/usr/local/arm/2.95.3/arm-linux/include /修改这里 好了,保存,然后去编译吧 user# makeuser# make install 如果有错误,检查你前面的步骤哪个没做对 :) 尤其是 zlib 的安装 还是前面说的,检查 /usr/local/arm/2.95.3/arm-linux/ include,lib 目录中有成功安装否,如果没有安装成功,那就自己把编译出来的东西拷过去。记着,*.h 和 .so 的文件都要拷。 OK,现在来安装 jpeg 库 /graphics/jpeg/jpegsrc.v6b.tar.gz 自己去下载,速度暴慢 user# tar zxf jpegsrc.v6b.tar.gzuser# cd jpeg-6buser# ./configure help /可以查看它的配置选项 一般情况下用 cdpcdpserver jpeg-6b$ ./configure -prefix=/usr/local/arm/2.95.3/arm-linux/ -host=arm-linux -enable-shared -enable-static -host=arm-linux 来指定交叉编译选项,可是这里死活它不认,所以改用别的方法,如下 user# ./configure -prefix=/usr/local/arm/2.95.3/arm-linux/ CC=arm-linux-gcc -enable-shared -enable-static user# make 安装前需要在 arm-linux 下建个目录,不然安装会出错 Root# mkdir p /usr/local/arm/2.95.3/arm-linux/man/man1Root# make install / OK 了 一样,自己去检查一下安装是否成功 :) 最后安装 libttf 库,这个是 TrueType 字体的支持库,用来显示文字的。 /sourceforge/freetype/freetype-1.3.1.tar.gz 注意:MiniGUI 的文档说只支持 1.3.1 版本的 ttf 库,不要把版本弄错了 :) 这个库装起来最麻烦,全部自己手动编译,安装,下面一步一步来做吧:) user# tar zxf freetype-1.3.1.tar.gz /老一套user# cd freetype-1.3.1 /进到目录里去user# mkdir p /opt/st2410/libttf/extend / 自己另外建立一个目录user# cp freetype-1.3.1/lib/* freetype-1.3.1/lib/arch/ansi/* libttf/ /把有用的东西拷出来user#cp freetype-1.3.1/lib/extend/* libttf/extend/ 把 extend 目录下的文件也拷出来 注意 cp 命令不要用 r 选项,因为会把一些没用的东西出拷出来的 拷贝完成了,现在来自己手动编译了 user# cd libttfuser# arm-linux-gcc -c -fPIC -O2 freetype.c /不要奇怪,对,我们只要编译这一个 .c 文件,因为它包括了其它所有的 .c 文件了,你可以自己查看它的内容 user# arm-linux-gcc -c -fPIC -O2 -I./ extend/*.c 把 extend 下所有的 .c 文件全部编译user# arm-linux-gcc -shared -o libttf.so *.o 生成最后的动态链接库,OK了 现在手动安装,得自己建立一下目录 Root mkdir p /usr/local/arm/2.95.3/arm-linux/include/freetype1/freetype Root cp *.h extend/*.h /usr/local/arm/2.95.3/arm-linux/include/freetype1/freetypeRoot cp libttf.so /usr/local/arm/2.95.3/arm-linux/lib 安装库完成,哈! 经过试验发现 MiniGUI 1.3.3 版本在链接 ljpeg lpng lttf 时老是要链接 /usr/lib 下的库,没办法,用老方法Root# cd /usr/lib Root# mv libjpeg.so libjpeg.so_backRoot# ln s /usr/local/arm/2.95.3/arm-linux/lib/libjpeg.so ./libjpeg.so /指向 arm 的库 Root# mv libpng.so libpng.so_backRoot# ln s /usr/local/arm/2.95.3/arm-linux/lib/libpng.so ./libpng.so Root# mv libttf.so libttf.so_backRoot# ln s /usr/local/arm/2.95.3/arm-linux/lib/libttf.so ./libttf.so 完成以上工作后就可以编译 libminigui 了 user# cd libminigui-1.3.3user# make menuconfig /就用图形界面来配置就好了,不要用一堆 enable-xxx 之类的,太麻烦 如果在 make menuconfig 出错,去检查一下你的 gcc ,前面我们把它指向 arm-linux-gcc ,问一下,你改回来没有? 下面是配置libminigui 在 System Wide Options 里如下: * Build MiniGUI-Lite /用 Lite 方式编译,不是Thread 方式,这里适用于 PDA Stand-Alone Use incore (built-in) resource /建议不要选这个,老有问题* Unit of timer is 10ms* Cursor support User can move window with mouse /建议别选这个,可以移动蛮烦人的* Mouse button can do double click* Build with debugging messages Trace messages of MiniGUI /不要选这个,出来的Trace太多,看不过来* Include symbol name of messages 在 GAL engine Options 里 (NEWGAL) GAL and its engines* NEWGAL engine on Linux FrameBuffer console NEWGAL engine on Qt Virtual FrameBuffer /建议不要选这个,不然老让你用qvfb NEWGAL engine on eCos LCD interface* Dummy NEWGAL engine* Have console on Linux FrameBuffer 在 IAL engine options 里 EP7211-based board ADS Graphics Client iPAQ H3600 (also H3800) MPC823 PX255B NEC VR4181 Helio Touch Panel MT T800* SMDK2410 Touch Screen uClinux Touch Screen Palm/MC68EZ328* Dummy IAL engine* Native (console) input engine- Native IAL engine subdriver options PS2 mouse IntelligentMouse (IMPS/2) mouse MS mouse MS3 mouse* GPM daemon 在 Font Option 里 * Raw bitmap font Var bitmap font /千万不要选这个,不然会出现 unreferenced vfb_Courier8x8() 之类的错误* Incore font sansserif* Incore font courier* Incore font symbol* Incore font vgas* Qt Prerendered Font* TrueType font Adobe Type1 font 在 Image Options 里 * Includes SaveBitmap-related functions PCX file support LBM/PBM file support TGA file support* GIF file support* JPG file support* PNG file support 在 Input Medthold Option 里 * IME (GB2312) support IME (GB2312) Intelligent Pinyin module /千万不要选这个,不然后面你的 mginit 程序一启动就崩溃了(Abort ,有点像 OOP 一样,显示所有的寄存器的值,然后Abort),暴不爽 在 Development Environment Option 里 (Linux) Platform(arm-linux-gcc) Compiler /注意这里(glibc) Libc /注意这里- Installation optionsPath prefix: /usr/local/arm/2.95.3/arm-linux /注意这里,我们把库装到交叉编译器的目录下- Additonal Compiler Flags CFLAGS: LDFLAGS: 其它的用缺省的选项就可以了,好了,现在退出,保存你的设置吧,然后它就开始检测你的系统了,注意下面的输出: checking for FrameBuffer console support. yeschecking for TT_FreeType_Version in -lttf. yes /True Type字体checking for jpeg_std_error in -ljpeg. yes / jpeg 支持checking for png_check_sig in -lpng. yes /png 图形支持,重要!checking for pow in -lm. yes 这里的库应该都是显示为 yes 了,如果有 no 的话,回去检查前面你有哪步做得不对,不然的话编译后的东西可能没法正常执行,切记切记! 如果这里通过了,那就OK了 user# make /又是一个漫长的等待,呵Root# make install 注意:我们这里 make install 其实是给交叉编译器安装 libminigui 的库,你想,将来你需要编译为 minigui 开发的程序,这个程序总是需要链接库的吧,这些库因此也需要在交叉编译器中,不然你交叉编译的时候编译不过去 :) 装好了,到 /usr/local/arm/2.95.3/arm-linux 的 include lib 目录下去看看,是不是多了相应的 libminigui.so libmgext.so libvcongui.so 在 include 目录下多了一个 minigui 目录,里面有相应的头文件 最后,安装 popt 库,这个库在编译 mde 程序时需要使用,不然编译没法通过 :) http:/gd.tuwien.ac.at/utils//dist/rpm-4.1.x/popt-1.7.tar.gz 我是从这里下载的 user# tar zxf popt-1.7.tar.gzuser# cd popt-1.7user# ./configure -prefix=/usr/local/arm/2.95.3/arm-linux/ -host=arm-linux -enable-shared -enable-staticuser# make Root# make install 一切很顺利,搞定了。交叉编译环境设置好了! OK ,下面是把 minigui 移植到你的板子上去了。 我在 /opt 目录下建立了一个 rootfs 目录,即 /opt/rootfs ,用来建立我的嵌入式系统的根目录,现在我需要把 minigui 的库文件放到里面去, 建立目录Root# mkdir p /opt/rootfs/usr/local/lib,etc 把 /usr/local/arm/2.95.3/arm-linux/lib 中相应的库拷到 /opt/rootfs/usr/local/lib 目录下去下面是我拷的库文件: libjpeg.a libmgext-1.3.so.3 libminigui.a libpng.so.2 libttf.a libz.solibjpeg.la libmgext-1.3.so.3.0.0 libminigui.la libpng.so.0rc1 libttf.so libz.so.1libjpeg.so libmgext.a libminigui.so libpopt.a libvcongui-1.3.so.3 libz.so.1.2.3libjpeg.so.62 libmgext.la libm.so libpopt.la libvcongui-1.3.so.3.0.0 miniguilibjpeg.so.62.0.0 libmgext.so libm.so.6 libpopt.so libvcongui.a sharedlibm-2.2.3.so libminigui-1.3.so.3 libpng.a libpopt.so.0 libvcongui.lalibm.a libminigui-1.3.so.3.0.0 libpng.so libpopt.so.0.0.0 libvcongui.so 其中一些 .a 的静态库是不需要拷过去的,我图方便,一起拷了,呵,懒人的做法 同时修改 /opt/rootfs/etc/ld.so.conf ,在里面最后新加入一行 /usr/local/lib 然后执行 Root ldconfig r /opt/rootfs /把 rootfs 当成根目录,执行 OK,库文件准备完毕 下面把资源文件也拷过来,还记得吗,在前面 搭建 PC 环境中讲过安装资源文件,它被装在了 /usr/local/lib 目录下,一个叫 minigui 的目录,我们要做的就是把它拷过来 Root# cp r a /usr/local/lib/minigui /opt/rootfs/usr/local/ 连目录一起拷过来,目录结构和主机一样 把配置文件也拷过来 Root# cp /usr/local/etc/MiniGUI.cfg /opt/rootfs/usr/local/etc/ 记住,保持目录结构的一致 修改 MiniGUI.cfg ,如下 system# GAL enginegal_engine=fbcon /这里修改 # IAL engineial_engine=dummy / 这里修改,我不知道你会用什么触摸屏,所以就用dummy肯定不会错 mdev=/dev/touchscreen/0raw /解摸屏,如果前面是 dummy ,则这里改不改无所谓mtype=none fbcondefaultmode=240x320-16bpp / 根据你的LCD大小自己设置,设置错误minigui 就启动不了 ial_engine 一开始建议用 dummy ,先让 minigui 跑起来,以后再把 触摸屏 加进去,保证尽可能减少错误的发生 保存,退出。 OK ,你的板子上的系统也搭建完毕了,现在来让真正的图形界面跑起来!:) 注意:你Build 你的 嵌入式 Linux 内核时,在 Console 中一定要先上 FrameBuffer ,从4位色一直到 16 位色的支持,全选上吧,同时把 VGA TextOut 选项勾掉,不要选它! 内核启动时就要激活 FrameBuffer ,不然 minigui 没法启动起来,激活的方法就是给它传内核参数 vga=xxx 之类的。 3.启动你的 MiniGUI 的图形界面 看看你的 Windows 操作系统,左下方是一个 开始 按钮,然后是 任务条 ,MiniGUI 也提供了类似的界面,这就是一个叫 mginit 的程序,它启动后就跟widnows的界面很像了,它就在 mde 包里面,还记得最初让你下载的那个程序包吗? 现在我们就来安装它!:) user# tar zxf mde-1.3.0.tar.gzuser# cd mde-1.3.0 /我们先对 mginit 程序做一点小修改,呵 user# cd mginit ; vi mginit.c 在 297 行处,把下面代码注释掉 /* AboutMiniGUI ();AboutMDE ();*/保存,退出即可。 因为我们没有 触摸屏 现在,没法点它的 确认 按钮,所以把这些 About 信息去掉:) 好了,现在来编译吧,在mde-1.3.0 目录里user# ./configure -prefix=/opt/rootfs/usr/local -host=arm-linuxuser# make 如果你发现 mginit 目录下的程序没有被编译,那就说明你的 libminigui 配置不正确,记住,你必须是配置为 Lite 模式,这个程序才会被编译 user# make install 事实上证明,make install,根本没用,它什么都没做,do nothing 所以还是我们自己动手来做吧,呵 Root# mkdir p /opt/rootfs/usr/local/lib/shared/miniguiapps /建立了一个我们自己的目录,好长,呵 Root# cp r a mde-1.3.0/* /opt/rootfs/usr/local/lib/shared/miniguiapps 直接全部拷过去,然后到 /opt/rootfs/usr/local/lib/shared/miniguiapps 的各个程序目录下去,比如 mginit , bomb , painter 之类的,把不用的 .c .h .o Makefile 之类的全删除掉,保留 可执行文件和相应的 res 目录下的资源 注意,保持目录的结构,mginit.rc 文件不要删了,这个对mginit 程序很重要 OK,最后一步了,修改配置文件 Root# vi /opt/roo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五Oracle企业数字化转型咨询服务协议
- 二零二五年度二次结构工程材料供应合同范本下载
- 二零二五年度建筑工地民工劳动权益保护及法律援助合同
- 二零二五年度建筑工程造价咨询委托协议书
- 二零二五年度建筑公司整体转让及安全管理合同
- 二零二五年度文化产业项目劳务派遣合作合同
- 二零二五年度物流快递车辆加盟服务合同
- 2025至2030年中国黑龙江省房地产市场深度分析及投资战略咨询报告
- 二零二五年度高科技项目工程战略合作协议书
- 2025版办公楼物业综合服务及设施设备更新改造合同模板
- 2023施工技术交底编制与管理标准培训
- 物业管理考核细则-
- GB/T 3683-2023橡胶软管及软管组合件油基或水基流体适用的钢丝编织增强液压型规范
- 医疗器械2017版与2002版器械分类目录对照表
- 2019火灾自动报警系统施工及验收标准
- 仓储中暑应急演练预案方案
- 新概念第一册双数课文
- 义教课程标准(2022年版)解读·徐蓝
- SPC CPK超全EXCEL模板完整版可编辑
- 渠道一百软件2012战略合作伙伴推广计划课件
- 2023年邢台沙河市体育教师招聘笔试模拟试题及答案
评论
0/150
提交评论