新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式Linux环境下MiniGUI的研究与移植

嵌入式Linux环境下MiniGUI的研究与移植

作者:时间:2009-08-25来源:网络收藏

  3.2.2 函数库的安装和编译

  进入目录libminigui-1.6.9,再运行./configure脚本:

  CC= arm-linux-gcc./configure――prefix=/mnt/nfs/local――build=i386-linux――host=arm-linux――target=arm-linux――disable-lite――disable-micemoveable――disable-cursor在这里,CC是用来指定所使用的编译器,arm-linux-gcc即为安装到主机上的交叉编译工具。另外,

  --prefix为函数库的安装目标路径

  --build是指执行编译的主机

  --host交叉编译后的程序将运行的系统

  --target是运行该编译器所产生的目标文件的平台

  --disable-lite建立-Threads版本的应用程序

  --disable-micemoveable禁止窗口移动

  --disable-cursor由于系统采用触摸屏,所以用此选项用来关闭鼠标光标显示

  如果运行./configure脚本成功通过,就可继续进行下面的编译了,执行make和make install命令编译安装libminigui。这里要注意的是,执行make install命令时要切换到Root用户权限下,不然安装时没法把文件装到指定目录下。安装成功后,MiniGUI 的函数库和头文件以及配置文件等资源将被安装到/usr/local/arm/2.95.3/arm-linux/目录中,具体情况为:函数库被装在lib/ 子目录中;头文件被装在include/ 子目录中;手册被装在man/ 子目录中;配置文件被装在etc/ 子目录中。

  3.2.3 MiniGUI资源的编译安装

  主机上解压资源文件:tar zxf miniguires-1.6.9.tar.gz,可生成miniguires-1.6.9目录。在安装之前先要修改目录中的configure.linux文件,执行vi configure.linux打开文件,把prefix选项部分的默认值 /usr/local/ 改为 /usr/local/arm/2.95.3/arm-linux/,这样运行make install安装命令后MiniGUI资源将被安装到目标系统中的/usr/local/arm/2.95.3/arm-linux/lib/minigui-

  /res的目录下。

  3.2.4 实例程序的编译安装

  解压mde-1.6.9.tar.gz并进入该目录,修改目录下配置文件configure.in,把其中的AC_CHECK_HEADERS(minigui/commmon.h, have_libminigui=yes, foo=bar)改为

  AC_CHECK_HEADERS($prefix/include/minigui/common.h,have_libminigui=yes,foo=bar),来指定交叉编译时搜minigui的头文件路径,防止编译时系统找不到头文件;在所有LIB=$LIB后加入CL{prefix}/lib来指定编译时所需要库文件的路径。并将libpopt-dev-arm-cross-1.6.tgz解压所生成的头文件和库文件分别放入目标目录的include和lib中,用以支持mde中程序在ARM下的交叉编译。

  然后执行./autogen.sh,重新生成configure脚本,使用上面配置的脚本然后执行make命令,即可完成实例程序的编译。

  4 拷贝MiniGUI资源到开发板

  编译完MiniGUI和实例程序之后,需要把MiniGUI库、资源和应用程序拷贝到为目标机器准备的文件系统目录中,然后生成文件系统映像,再下载到目标板上运行。可以通过串口、USB口或以太网口将文件系统映像下载到目标机器中。如果发现子目录lib 中的MiniGUI 库文件很大,很难全部拷贝到开发板上的话,可以对库文件执行arm-linux-strip操作,arm-linux-strip指令会除去文件中的调试信息,使文件体积大大缩小。另外需要注意的是,有些库函数是链接文件,如果单纯的拷贝,会将原先的链接信息丢失,造成不必要的麻烦。使用tar命令将所需拷贝的资源打包,其中包括etc子目录下的配置文件MiniGUI.cfg;lib 子目录下的libmgext-1.6.9.so.0.0、libminigui-1.6.9.so.0.0、libvcongui-1.6.9.so.0.0和minigui子目录;mde-1.6.9目录下的可执行程序。将这些资源烧写进ramdisk文件系统中,解压后将MiniGUI的配置文件MiniGUI.cfg放入/usr/local/etc目录中,MiniGUI的库文件放入/usr/local/lib目录中。在执行程序之前,还有一件重要的事情要做,就是在开发板上的中配置好MiniGUI的运行

  5板载配置

  MiniGUI可以使用多种图形引擎进行图像显示,有qvfb、SVGALib、LibGGI等等,当然也可以自己编写一个图形引擎供MiniGUI使用。这里我们使用qvfb来作为MiniGUI的图形引擎进行图像显示。qvfb(vitural framebuffer)是在宿主机上模拟帧缓冲的,它是X Window用来运行和测试应用程序的系统程序,允许我们在桌面及其上开发Qt程序,而不需要在命令台和程序之间来回切换。qvfb使用了共享存储区域(虚拟的帧缓冲)来模拟帧缓冲并且在一个窗口中(qvfb)模拟一个应用来显示帧缓冲,显示的区域被周期性的改变和更新。通过指定显示设备的宽度和颜色深度,虚拟出来的缓冲帧和物理的显示设备在每个像素上保持一致。这样我们在每次调试应用时不需要总是刷新设备的FLASH存储空间,从而加速了应用的编译、连接和运行周期。

  首先对qvfb进行安装,可以从这里下载http://www.minigui.com/downloads/dep-libs/qvfb

  -1.0.tar.gz),下载下来后进行解压:tar zxf qvfb-1.0.tar.gz并进入到qvfb-1.0目录,执行./configure脚本后即可用make和make install命令进行编译安装。

  更改MiniGUI的配置文件MiniGUI.cfg设置设备驱动程序,设置显示区域及字体等内容。修改/usr/local/etc目录下的配置文件MiniGUI.cfg,将其中的驱动引擎gal_engine和ial_engine设置为qvfb,再将其中qvfb的defaultmode设置为合适的显示模式。然后把qvfb加到可执行路径中去,执行vi .bashrc命令,在 .bashrc最后面加上export PATH=/usr/local/arm/2.95.3/bin -:$PATH,保存退出后用source .bashrc命令执行一下即可。

  在X Window中,打开一个终端仿真程序,执行qvfb 命令。在qvfb中选中File Configure,将qvfb设置成开发系统的液晶屏的大小。合理设置MiniGUI的配置文件后,接着就可以运行MiniGUI应用程序了。

  执行应用程序顺利的话,屏幕上可以看到程序的运行界面。至此,MiniGUI已经成功到目标系统上。此后,我们可以根据需要,继续修改MiniGUI库函数及各种资源,并且编写自己的应用程序,使图形用户界面更加完善。

  6 结束语

  随着嵌入式产品应用领域的日益增长,开发出优秀的人机交互界面,是嵌入式发展的趋势,拥有广阔的市场前景。MiniGUI可以稳定可靠的运行在系统下,通过上述具体的和后续的MiniGUI下嵌入式软件的开发过程,能快速构建一个嵌入式可视化软件系统,相信这种嵌入式系统将会得到越来越多的应用。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭