嵌入式Linux环境下MiniGUI的研究与移植.docx
《嵌入式Linux环境下MiniGUI的研究与移植.docx》由会员分享,可在线阅读,更多相关《嵌入式Linux环境下MiniGUI的研究与移植.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式Linux环境下MiniGUI的研究与移植设计开发,它基于Samsung公司的S3C2410A20嵌入式ARM处理器。S3C2410A20内嵌ARM920T核,带有全性能的MMU,具有高性能、低功耗、低本钱、小体积等优点,适用于手持设备、汽车等领域。H2410EB除带有大容量的SDRAM和Flash以外,还扩展了RS-232C串行接口、10Mbps以太网接口、触摸屏接口、音频输入/输出接口、USBHost、USBSlave、UART接口、IIC接口、用户自定义键盘、LCD显示器,方便用户使用和进展参考设计。它支持嵌入式Linux操纵系统的运行,支持MP3/MPEG播放、GUI、Web效劳
2、及其它效劳,同时可根据用户需求开发特定软件与设备驱动程序。操纵系统采用裁减后的Linux,LinuxKernel版本为v2.4.18,系统使用的穿插编译器是arm-Linux-gcc。另外,还有驱动程序源码和测试程序源码等代码模块。3MiniGUI的移植本文中使用的主机系统为RedHatLinux9.0,移植目的系统为Linux2.4.18,MiniGUI的版本是1.6.9。在主机上穿插编译MiniGUI链接库,然后将针对目的机编译的库文件,与根文件系统一起烧写到目的板的RAM空间,以后将运行在目的板上的图形用户界面直接链接到该库,脱离主机独立运行。3.1Linux穿插编译环境的构建GUI的编
3、译通常都是在PC机上执行的,也就是讲,编译器本身可以在PC机上执行,同时编译源代码生成的二进制文件必须能在目的机上执行,这类编译器通常称为穿插编译器。对于ARM平台,我们安装了cross-arm-binutils-2.10-1.i386.rpm、cross-arm-gcc-2.95.3-2.i386.rpm、cross-arm-glibc-2.1.3-2.i386.rpm这三个包。这些包都可以从网上免费获取。arm-binutils这个包一般包含了一些针对ARM平台的二进制工具,比方arm-strip、arm-ar等命令;arm-glibc这个包包含的是标准C的函数库的ARM的版本以及对应的头
4、文件;arm-gcc中包含的那么是生成ARM平台代码的x86上的穿插编译器。执行rpm命令将这些包安装到PC机上,假设不在系统默认搜索目录下,那么必须将安装目录加到系统的PATH环境变量中,这样在每次编译时系统才能找得到编译器。以root用户登陆Linux系统,在主机上用rpm指令安装穿插编译工具,arm-linux-gcc将被安装到/usr/local/arm/2.95.3/下面。此时,gcc为/usr/local/arm/2.95.3/bin/arm-linux-gcc,而它的include为/usr/local/arm/2.95.3/arm-linux/include,对应的lib为/u
5、sr/local/arm/2.95.3-/arm-linux/lib。然后,在你的bashrc中添加环境变量即可vi.bashrc最后一行参加:exportPATH=$PATH:/usr/local/arm/2.95.3/bin途径保存退出后执行source.bashrc另外需要留意的是,编译时所用的函数库版本要与目的版上运行时所用的函数库版本一致。经过上述步骤,就已经建立了穿插编译环境,接下来的就是进展MiniGUI的选项配置和穿插编译。3.2MiniGUI的配置和穿插编译我们可以从网上minigui/download免费得到MiniGUI-1.6.9的资源文件压缩包,MiniGUI1.6.
6、9的源程序包包括以下三个局部:libminigui-1.6.9.tar.gzMiniGUI函数库源代码;miniguires-1.6.9.tar.gzMiniGUI所使用的资源,包括根本字体、图标、位图、输入法等;mde-1.6.9.tar.gzMiniGUI的综合演示程序。3.2.1配置MiniGUI选项把函数库文件包解压:tarzxflibminigui-1.6.9.tar.gz,进入libminigui-1.6.9这个目录,执行makemenuconfig命令systemwideoptions中选择BuildMiniGUI-Lite,并取消Useincorebuilt-inresourc
7、e选项;Galengineoptions图形引擎,根据目的机的显示方式确认,这里只勾选了NEWGalengineonLinuxFrameBufferconsole,其它的不选;Ialengineoptions输入引擎,可用触摸屏只选了SMDK2410TouchScreen;FontOptions中取消选择Varbitmapfont,可能是由于Bug的原因,中选择了该选项后,编译测试例子的时候总是提示unreferencedvfb_Courier之类的错误;Imageoptions选择了IncludesSaveBitmap-relatedfunctions。GIF、JPG、PNG图形格式也勾选上
8、;Developmentenvironmentoptions里使用Linux平台,arm-linux-gcc编译器,安装途径设置在/usr/local/arm/2.95.3/arm-linux/。其它的用缺省选项就可以了,保存退出。3.2.2MiniGUI函数库的安装和编译进入目录libminigui-1.6.9,再运行./configure脚本:CC=arm-linux-gcc./configureprefix=/mnt/nfs/localbuild=i386-linuxhost=arm-linuxtarget=arm-linuxdisable-litedisable-micemoveabl
9、edisable-cursor在这里,CC是用来指定所使用的编译器,arm-linux-gcc即为安装到主机上的穿插编译工具。另外,prefix为MiniGUI函数库的安装目的途径build是指执行编译的主机host穿插编译后的程序将运行的系统target是运行该编译器所产生的目的文件的平台disablelite建立MiniGUI-Threads版本的应用程序disablemicemoveable制止窗口挪动disablecursor由于系统采用触摸屏,所以用此选项用来关闭鼠标光标显示假如运行./configure脚本成功通过,就可继续进展下面的编译了,执行make和makeinstall命令
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 环境 MiniGUI 研究 移植
限制150内