微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于ARM-Linux的MiniGUI的仿真与移植

基于ARM-Linux的MiniGUI的仿真与移植

时间:02-16 来源: 点击:

  2.3 MiniGUI在QVFB上的仿真

  将已下载的mg-samples-1.3.1和mde -1.3.0.tar.gz复制到/opt/emlation/目录下,在终端下进入该目录,依次执行./configure和make命令,将这些示例程序编译成能够在QVFB上可执行的程序。首先修改/usr/local/etc目录下的配置文件MiniGUI.cfg,将gal_engine=fbcon改为gal_engine=qvfb,ial_engine=console改为ial_engine=qvfb。然后使用qvfb&命令启动qvfb,运行/opt /emulation /mg-samples/src目录中的可执行程序,如bomb,即可看到运行在QVFB内的MiniGUI程序,如图2所示:


图2 MiniGUI在QVFB上的仿真

  3 MiniGUI在S3C2410上的移植

  3.1安装MiniGUI资源文件

  在PC机的/opt目录下创建target目录,将资源文件minigui-res-1.3.3.tar.gz复制到/opt/target目录下进行解压,编辑/opt/target /minigui-res-1.3.3目录下的config.Linux文件,将"TOPDIR="改为"TOPDIR= /opt /target/minigui",保存退出。然后输入make install将资源文件安装在/opt/target /minigui /usr/local/lib/minigui/res目录下。同时把/opt/target/minigui/usr/local/lib目录下的minigui目录复制到需要制作的文件系统的文件夹中。

  3.2 配置安装MiniGUI库文件

  在编译MiniGUI的库文件libminigui -1.3.3之前,首先要正确安装了交叉编译器,即ARMv41-unknow-linux系列的交叉编译器。使用交叉编译器可以把libminigui-1.3.3库文件编译成一个动态链接库,通过调用该动态链接库,可以正确运行MiniGUI的应用程序。在/opt/target /libminigui-1.3.3下,输入命令make menuconfig进行配置。当配置完成后,保存退出。然后输入make和make install,这样就将交叉编译后的MiniGUI库文件安装在/opt/host/armv41/armv41–unkn own-linux/lib目录下,分别是libminigui-1. 3.so.3.0.0和libmgext -1.3.so.3.0.0。同时,还有指向这些库的符号链接,指向库文件libminigui-1.3.so.3.0.0的符号链接是libminigui -1.3.so.3和libminigui.so,指向库文件libmgext-1.3.so.3.0.0符号链接是libgext -1.3.so.3和lib-mgext.so。MiniGUI所使用的头文件安装在/opt/host/armv41/armv41 -unknown-linux/include/minigui文件夹内。同时在/opt/host/armv41/armv41-unknown– linux/etc/中还有一个minigui.cfg的配置文件。

  3.3 MiniGUI的移植

  将MiniGUI成功移植到S3C2410目标板上,一般要经过以下几个过程:

  (1) 把MiniGUI库文件libminigui-1.3. so.3.0.0和libgext -1.3.so.3.0.0,以及它们的符号链接文件,一同复制到要制作成cramfs文件系统的目录root_tech中的/lib下。

  (2) 把/opt/target/minigui/usr/local/lib下的minigui目录复制到要制作cramfs文件系统的目录中,比如放到该目录的/usr/sbin/下。当嵌入式系统运行时,应用程序在该minigui目录下调用相关的资源文件。

  (3) 在root_tech文件夹内,用mkdir –p /opt/host/armv41/armv41-unknown-linux/ 命令创建一个目录,然后使用命令ln –s /lib /opt/host/armv41/armv41-unknown-linux/lib创建符号链接,上述命令确保系统能够找到正确的动态链接库。

  (4) 修改/opt/host/armv41/armv41–un known–linux/etc目录下的MiniGUI.cfg文件,把存放资源的路径改为root_tech目录下对应的路径,从而使应用程序能够找到它使用的资源文件。例如,在PC机上的存放路径为/usr/local/lib,那么在root_tech目录下,如果把MiniGUI资源目录放到了/usr/sbin下,则MiniGUI.cfg文件中的路径必须由/usr/local/lib改为/usr/sbin/,同时还要将"ial_engine=console"改为"ial_engine =ads"。另外,将[fbcon]下的"defaultmode =1024×768-16 bpp"改为"defaultmode =640×480-16 bpp"。将修改后的MiniGUI.cfg文件要放到root_tech目录的/mnt/etc目录下。

  (5) 最后,把准备好的root_tech文件夹,利用mkcramfs命令生成cramfs文件系统,利用NFS网络文件系统将生成的文件系统移植到S3C2410中。然后从minicom下进入可执行文件所在的目录/usr/sbin,可执行程序bomb在S3C2410目标板上运行的结果如下图3所示:


图3 MiniGUI在S3C2410开发板上运行

  4结束语

本文将MiniGUI-1.3.3版本在ARM - Linux环境下,首先在QVFB中进行了仿真应用,同时经过交叉编译后成功的移植到了S3C2410开发板的硬件平台上,试验结果表明能够稳定可靠的运行,为后续基于图形用户界面程序的实际项目的开发与应用打下了基矗随着嵌入式产品应用领域的日益增长,基于MiniGUI开发出良好的人机交互界面,是嵌入式发展的趋势,同

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top