Minigui在uClinux 上的移植心得

合集下载

ucGUI移植详细设计及总结

ucGUI移植详细设计及总结

ucGUI移植详细设计及总结序本文档阐述了将ucGUI移植到IM12上的过程。

ucGUI版本为3.9,移植到IM12上,触摸屏及按键能够正常使用。

在ucGUI源码包的基础上,添加了一些接口函数以适应IM12,在使用时应该根据情况使用这些接口,这些新增加的函数的接口将在后面章节中详细讲述。

此外,适应IM12的ucGUI在Wind River Workbench 3.0环境下被编译成两个静态库文件libNoWindow.a和libWindow.a,编译程序时应该连接这两个库。

文档篇章安排如下:第一章,ucGUI源码包简介。

主要介绍了所使用的ucGUI图形库中各文件夹的内容及功能,并对IM12中与ucGUI移植相关的部分,包括触摸屏、LCD、按键板等进行了简单的介绍。

第二章,图形库移植。

阐述如何对ucGUI进行配置、编译,以在IM12的LCD上显示图形,此部分还未实现触摸屏及按键功能,只是纯粹的显示而已第三章,触摸屏移植。

第四章,按键移植。

第五章,带触摸屏及按键功能的ucGUI应用程序模板。

第一章ucGUI源码包简介ucGUI要移植到im12上,实际上就是根据im12的情况修改ucGUI中的一些配置项,或增加、删减一些程序以适应im12,同时要保持ucGUI的特性。

要做好移植工作,需对ucGUI 及IM12相关部分有足够的了解。

1.1ucGUI简介移植所采用的ucGUI版本为3.9,主要包含的文件夹如图1所示图1 ucGUI源码结构图各文件夹的主要内容如下:Config ----------- 配置文件GUI ----------- 源代码GUI_X ---------- 操作系统接口函数定义文件GUI 源代码文件:1)AntiAlias: 抗锯齿显示效果支持。

2)ConvertColor: 彩色显示的色彩转换支持。

3)ConvertMono: (b/w)和灰度显示的色彩转换支持。

4)Core: 核心文件,提供了GUI基本的功能。

MiniGUI在SKyEye上的成功移植

MiniGUI在SKyEye上的成功移植

湖南城市学院信息技术与工程管理学院MiniGUI在SkyEye0.8.6上的移植项目小组成员蒋文杰舒伸罗品京付锡林阳棉似曹育斌指导老师:阳俊2011-9-1目录一、移植平台搭建 (3)二、移植过程中所需资源包汇总 (3)三、移植环境搭建详解 (3)1、编译安装SkyEye (3)2、编译安装带LCD的SkyEye (4)3、安装交叉编译工具 (4)4、配置、编译和运行内核 (5)5、内核在SkyEye上的运行 (8)6、根文件系统制作 (10)四、在SkyEye的EP7312模拟器上运行MiniGUI (19)1、确认内核的配置 (20)2、为SkyEye的EP7312模拟器交叉编译MiniGUI (24)3、在SkyEye的EP7312模拟器上运行MiniGUI示例程序 (25)a、交叉编译MiniGUI示例程序 (25)b、准备文件系统 (25)c、运行MiniGUI示例程序 (27)五、移植过程中遇到的问题及解决方法 (28)一、移植平台搭建VMware Workstation v6.5版本的虚拟机RedHat9.0的Linux操作系统安装的文章多如牛毛,在这笔者就不再累述。

但还是想提醒一下读者,在选择安装路径时要特别注意,一般它是默认安装在C:\Program Files下,最好把它安装在自己工作的目录下。

RedHat9.0安装的文章网上比比皆是,在这不加累述了,还是那句老话,实在不会的读者自己上网问google大神。

读者应该注意的地方是在安装RedHat9.0是要选择完全安装,这样可以避免以后一些不必要的错误。

二、移植过程中所需资源包汇总/home/source/minigui/----→libminigui-gpl-1.6.3.tar.gz (开发库包)----→minigui-gpl-res-1.6.tar.gz (资源包)----→mg-samples-gpl-1.6.3.tar.gz (示例程序包)/opt/armlinux/----→skyeye0.8.6.tar.gz (模拟开发板的软件)----→linux-2.4.13-patched-for-EP7312.tar.gz (支持EP7312的内核压缩包)----→busybox-1.00.tar.gz (制作根文件系统的工具)----→genromfs-0.5.2.tar.gz (制作根文件系统镜像的工具)----→gtk+-2.2.1.tar.bz2 (支持LCD驱动)----→armlinux4skyeye-ep7312.tar.gz (LCD和触摸屏驱动程序)/usr/local/arm/----→cross-2.95.3.tar.gz (交叉编译工具)三、移植环境搭建详解1、编译安装SkyEyeSkyEye是一个用来学习嵌入式开发的非常有用的工具,下面就SkyEye对EP7312的模拟是如何构建和运行嵌入式Linux系统的加以阐述。

MiniGUI

MiniGUI

消息的队列(2)
系统向应用程序消息队列投递消息是通过填充一个MSG 消息结构,再把它复制到消息队列中,MSG结构中的信 息如上所述,包括接收消息的句柄、消息标识、两个消息 参数以及消息时间。 应用程序可以通过GetMessage函数从它的消息队列中取 出一条消息,该函数用所取出消息的信息填充一个MSG 消息结构。应用程序还可以调用HavePendingMessage 函数来检查消息队列中是否有消息而不取出消息。 int GUIAPI GetMessage(PMSG pMsg,HWND hWnd); BOOL GUIAPI HavePendingMessage(HWND hMainWnd); 非排队消息不通过消息队列而直接发送到目标窗口的窗口 过程。系统一般通过发送非排队消息通知窗口完成一些需 要立即处理的事件,比如MSG_ERASEBKGND消息。
MiniGUI
MiniGUI的工作流程和体系架构的分析 基于GUI的应用程序设计 MiniGUI在嵌入式Linux下的移植
MiniGUI的工作流程和体系架构的分析
的概念(1) MiniGUI的历史 MiniGUI的体系架构 MiniGUI的事件驱动和消息机制 MiniGUI的三种运行模式
GUI概念(2)
Gui Framework提供给应用的接口主要包括窗口的建立, 事件的注册,还会提供更加底层的接口让应用创建自己特 色的窗口。Framework内部实现主要分为四块: 1. 图形引擎 2. 事件系统 3. 窗口系统 4. 用户接口层 图形引擎提供最底层的图形函数,如点、线、矩形、椭圆 形、图片等,及最底层的图形区域的计算,颜色的计算等。 事件系统提供对最原始的硬件源事件的管理,如鼠标的点 击,键盘的输入,触摸屏的操作等,将这些事件发送到指 定的模块,以及提供内部自定义的事件管理和转发。 窗口系统实际上是对图形引擎和事件系统的封装,给本来 屏幕上每一块的区域都添加了”生命“,使得这些区域可 以响应事件,显示特定的图像。 用户接口层主要是为应用程序服务的,让应用程序不关心 图形引擎和事件系统的情况下来建立自己的窗口。

1_MiniGUI移植实验

1_MiniGUI移植实验

广州致远电子有限公司
MagicARM2410教学实验开发平台
4.实验预习要求
必须先做<< 实验指导>> 必须先做 <<… 实验指导>> 第 5 、6 章的实验 ,在 RedHat <<… >>第 章的实验, 操作系统上建立交叉编译环境, Linux 9.0操作系统上建立交叉编译环境,掌握交叉编译 和下载Linux应用程序到MagicARM2410上并运行 Linux应用程序到MagicARM2410上并运行; 和下载Linux应用程序到MagicARM2410上并运行; <<… 仔 细 阅 读 <<… 实 验 指 导 >> 第 1 章 的 内 容 , 了 解 MagicARM2410 实验箱的硬件结构, 2410实验箱的硬件结构 MagicARM2410 实验箱的硬件结构 , 注意彩色液晶屏驱动 电路; 电路; 阅读MiniGUI的文档<<MiniGUI用户手册>> MiniGUI的文档<<MiniGUI用户手册>>、 阅读MiniGUI的文档<<MiniGUI用户手册>>、<<MiniGUI 编程指南>> 了解MiniGUI的基本特点和应用配置选项, >>, MiniGUI的基本特点和应用配置选项 编程指南>>,了解MiniGUI的基本特点和应用配置选项, 以及应用程序的编写。 以及应用程序的编写。
广州致远电子有限公司
MagicARM2410教学实验开发平台
2.实验设备
硬件: 硬件: PC机 PC机 1台 MagicARM2410教学实验开发平台 MagicARM2410教学实验开发平台 1台 USB鼠标 USB鼠标 1个 USB键盘 USB键盘 1个 软件: 软件: 9.0操作系统 安装有Autoconf 操作系统( Autoconf和 RedHat Linux 9.0操作系统(安装有Autoconf和 Automake工具 工具) Automake工具) 嵌入式Linux Linux开发环境 嵌入式Linux开发环境 MiniGUILinux)软件 MiniGUI-STR(for Linux)软件

UCOS-II ucGUI的完美移植

UCOS-II ucGUI的完美移植

stm32 UCGUI 完美移植作者:Changing发表时间:09-16 04:13分类:电子相关1 Comment前一篇:stm32 DA 数模转换后一篇:Stm32 SWD 下载 调试配置UCGUI是一种嵌入式应用中的图形支持系统。

它设计用于为任何使用LCD图形显示的应用提供高效的独立于处理器及LCD控制器的图形用户接口,它适用单任务或是多任务系统环境, 并适用于任意LCD控制器和CPU下任何尺寸的真实显示或虚拟显示。

它的设计架构是模块化的,由不同的模块中的不同层组成,由一个LCD驱动层来包含所有对LCD的具体图形操作。

UCGUI可以在任何的CPU上运行,因为它是100%的标准C代码编写的。

类似程序还有国产的一个MINIGUI (/zhcn/),MiniGUI 是一个自由软件项目。

其目标是提供一个快速、稳定、跨操作系统的图形用户界面(GUI)支持系统,尤其是基于 Li nux/uClinux、eCos 以及其他传统 RTOS(如 VxWorks、ThreadX、uC/OS-II、Nucleus 等)的实时嵌入式操作系统。

有机会尝试下,支持下国产,毕竟国内这样的公司不多。

这里移植的UCGUI3.90a版本,虽然已经有更新的版本,比如UCGUI3.98、甚至4.04版本。

但是目前来说只有这个版本的代码是最全的,包括了JPEG , MULTILAYER , MEMDEV ,AntiAlias等模块。

一直想尝试做一个数码相册,JEPG模块自然少不了,所以移植了这个版本。

UCGUI390a 下载整个移植过程,让LCD显示图案倒是没花多少时间,资料也比较多,但是在移植触摸屏的时候卡了好几天,然后又是 UCGUI 指针图标 移动有重影(LCD读取像素颜色函数有问题)。

总之移植是个累人的活首先需要保证你的LCD驱动和触摸屏驱动是有效的,如果你的LCD也是ili93xx 控制器 XPT2046控制器的触摸屏可以参考 stm32 驱动 T F T LCD stm32 驱动 触摸屏 两篇文章UCGUI的文件数量很大,主要用到UCGUI390a/Start/Con f ig 和 UCGUI390a/Start/GUI两个文件夹下文件,不过文件数量也已经很多了 。

第12uCLinux在的移植

第12uCLinux在的移植
Linux移植准备 关于交叉编译环境 修改uCLinux内核源码 Linux内核裁剪 内核的编译
? 内核及根文件系统的烧写
配置 minicom 烧写内核 烧写根文件系统
第十二章目录
? UP-NETARM3000 嵌入式教学开发平台介绍 ? uClinux在UPNETARM300 上的移植
Linux移植准备 关于交叉编译环境 修改uCLinux内核源码 Linux内核裁剪 内核的编译
? 进入Binutils目录:
./configure --target=arm-linux--prefix=/toolchain/bu make LANGUAGES =”C” make install
第12章 uCLinux在 UP-NETRARM3000平台
上的移植
本章主要内容
? uClinux源码下载方法和交叉编译工具的下载、
生成方法。
? 内核源码的修改、剪裁和编译过程。 ? 内核裁剪时的菜单选项的配置方法。 ? 内核及根文件系统的烧写过程。
第十二章目录
? UP-NETARM3000 嵌入式教学开发平台介绍 ? uClinux在UPNETARM300 上的移植
式教学开发平台介绍
?UP-NETARM3000 平台是博创兴业科技有限公司,
依托北京航空航天大学开发的。适用于嵌入式教 学和开发。
?目前已应用于清华大学、北京航空航天大学等多
所高校。
?该平台是基于 S3C44B0X 处理器,可以运行
uC/OS-II 和uClinux 的系统。它由核心模块和扩展 模块组成 。
12.2.1 Linux移植准备
① 注释掉ARCH:=$(shell uname –m | sed –e s/i.86/i386/-e s/sun4u/sparc64/ -e s/arm. */arm/ - e s/sa110/arm/)这一行;

MiniGUIPortGuide4Linux-2.0C

MiniGUIPortGuide4Linux-2.0C

MiniGUI 移植指南版本 2.0适用于 MiniGUI 版本 2.0.3/1.6.9及Linux/uClinux操作系统北京飞漫软件技术有限公司2006 年6 月版权声明《MiniGUI 移植指南》版本 2.0,适用于MiniGUI 版本 2.0.3/1.6.9及Linux/uClinux 操作系统。

版权所有 (C) 2003~2006,北京飞漫软件技术有限公司,保留所有权利。

无论您以何种方式获得该手册的全部或部分文字或图片资料,无论是普通印刷品还是电子文档,北京飞漫软件技术有限公司仅仅授权您阅读的权利,任何形式的格式转换、再次发布、传播以及复制其内容的全部或部分,或将其中的文字和图片未经书面许可而用于商业目的,均被视为侵权行为,并可能导致严重的民事或刑事处罚。

目录版权声明 (i)1 Linux/uClinux简介 (1)2 MiniGUI与Linux/uClinux (2)3在运行 Linux 的 PC 机上安装并运行 MiniGUI (4)3.1 MiniGUI对Linux内核的要求 (4)3.2 Linux下的软件维护和建立工具 (4)3.2.1 make 和 makefile (4)3.2.2 Autoconf/Automake (4)3.2.3 ldd 和 ldconfig (5)3.3 MiniGUI 的图形引擎 (6)3.3.1 MiniGUI 在字符控制台上的运行:配置 FrameBuffer (6)3.3.2 MiniGUI 在 X Window 上的运行:运行 QVFB (8)3.4 MiniGUI 的依赖库 (9)3.4.1 LibTTF 和 LibT1 (9)3.4.2 LibJPEG、LibPNG 等函数库 (9)3.5 编译并安装 MiniGUI (10)3.5.1 编译并安装 MiniGUI (10)3.5.2 安装MiniGUI的资源 (11)3.5.3 编译并安装MiniGUI的演示程序mde (11)3.6 运行MiniGUI示例程序 (11)4在SkyEye的EP7312模拟器上运行MiniGUI (13)4.1 安装交叉编译工具链 (13)4.2 安装SkyEye (13)4.3 配置、编译Linux (14)4.4 SkyEye EP7312模拟器的MiniGUI输入引擎 (14)4.5 交叉编译MiniGUI (15)4.6 交叉编译MiniGUI示例程序 (17)4.7 准备文件系统 (18)4.8 运行MiniGUI示例程序 (20)5在Xcopilot模拟器上运行MiniGUI (22)5.1 安装交叉编译工具链 (22)5.2 安装Xcopilot (22)5.3 配置、编译和运行uClinux (22)5.4 Xcopilot模拟器的MiniGUI输入引擎 (23)5.5 为Xcopilot模拟器交叉编译MiniGUI (27)5.6 交叉编译MiniGUI示例程序 (30)5.7 准备文件系统 (31)5.8 运行MiniGUI示例程序 (32)1 Linux/uClinux简介Linux操作系统核心最早是由芬兰的Linus Torvalds 1991年8月在芬兰赫尔辛基大学上学时发布的,经过众多世界顶尖的软件工程师的不断修改和完善,Linux得以在全球普及开来,在服务器领域及个人桌面版得到越来越多的应用,在嵌入式开发方面更是具有其它操作系统无可比拟的优势。

MiniGUI3.0+tslib1.4移植过程

MiniGUI3.0+tslib1.4移植过程
第五步:安装 libttf 库,这个是 TrueType 字体的支持库,用来显示文字的。
只支持 1.3.1 版本的 ttf 库:
注意:MiniGUI 的文档说只支持 1.3.1 版本的 ttf 库,不要把版本弄错了
[root@localhost jpeg-6b]# cd /root/cross/
[root@localhost cross]# tar zxvf freetype-1.3.1.tar.gz
注意:这里配置指向/usr/local/arm/arm-2008q3-linux/arm-none-linux-gnueabi 目录,会自动安 装在/usr/local/arm/arm-2008q3-linux/arm-none-linux-gnueabi / [include,lib] 目录下。
./configure CC=arm-none-linux-gnueabi-gcc --build=i686-pc-linux --target=arm-linux
--host=arm-linux
prefix=/usr/local/arm/arm-2008q3-linux/arm-none-linux-gnueabi
第四步:安装 jpeg 库
[root@localhost libpng-1.2.18]# cd /root/cross/
[root@localhost cross]# tar zxvf jpegsrc.v6b.tar.gz
[root@localhost cross]# cd jpeg-6b/
[root@localhost jpeg-6b]#
[include,lib] ,假如 include 中没有 zlib.h 之类的头文件,lib 中没有 libz.so.1.2.3 等
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Minigui在uClinux 上的移植心得1、下载minigui源码1.3.31.3.3这两个包的下载需要你在上注册过才可以下载,免费注册的,自己去下吧1.3.0 图形界面程序1.3.0 一些小例子把源码文件复制到/home/liu/minigui目录下,解开源码[root@localhost minigui]#tar zxvf 1.3.3 minigui]#tar zxvf 1.3.3 minigui]#tar zxvf 1.3.0 minigui]#tar zxvf 1.3.0环境的搭建首先你需要一个Linux 环境,我安装的是RedHat 安装时记着选everything,这样可以避免到时候编译少了东西。

这里搭建的环境是让MiniGUI 在你的PC 上可以跑起来,这样以后你开发程序就可以只在PC 上开发,调试好,最后交叉编译一下放到板子上就行了。

把 1.3.3 解开[user]# tar zxf[user]# tar zxf编译libminigui ,这个是minigui 运行所必需的库文件,必须编译成功[user]# cd libminigui-1.3.3[user]# ./configure . 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接来来就是漫长的等待了,让它慢慢的编译吧注:在make时,可能会出现如下错误::/usr/include/asm/:6:2: warning: #warning using private kernel header; include <> instead!:265:47: missing terminating " character:267:25: missing terminating " charactermake[3]: *** [] Error 1make[3]: Leaving directory `/opt/st2410/libminigui-1.3.3/src/newgal'make[2]: *** [install-recursive] Error 1make[2]: Leaving directory `/opt/st2410/libminigui-1.3.3/src/newgal'make[1]: *** [install-recursive] Error 1make[1]: Leaving directory `/opt/st2410/libminigui-1.3.3/src'make: *** [install-recursive] Error 1解决方法:修改文件,将265 line__asm__ __volatile__ ("call _copy_row": "=&D" (u1), "=&S" (u2): "0" (dstp), "1" (srcp): "memory" );修改为:__asm__ __volatile__ ("call _copy_row": "=&D" (u1), "=&S" (u2): "0" (dstp), "1" (srcp): "memory" );[user]# su 1.3.33.0.0] 好几个目录,里面有相应的文件检查/usr/local/include 里面是不是多了一个minigui 目录,/usr/local/include/minigui 时面好多的.h 文件,如下:如果这里检查没有这些东西的话,那你前面的步骤肯定有问题,自己检查一下吧。

首先,修改你的/etc/ 文件,在里面最后新加入一行/usr/local/lib然后执行[Root]# ldconfigOK !Libminigui 配置在System Wide Options 里如下:[*] Build MiniGUI-Lite configure[user]# make[user]# make install在这个过程中如果出现error while loading shared libraries: cannot open shared object file说明你的系统少了这个库,还是回去检查一下,你安装时Redhat 时是否选了everything ,或者在实际操作的过程中,这个库有可以被误删除掉,我就出现过,这时候你可以google 一下,输入redhat 9 ,应该就可以搜到相应的rpm 包,安装时[root]# rpm –i --force [你的包名] 就OK了这里有个下载地址,可以试试,我是用讯雷下载的,别的工具没试过注意:在你后面的操作过程中有可能会导致丢失,这时候只要重装一下就OK 了解决了这个问题后重复安装过程[user]# ./configure[user]# make[user]# make installOK ,环境搭建好了,下面是测试了:)还记得前面让你下载的 1.3.0 这个包吧,这个就是一些例子,现在试试吧:)[user]# tar zxf[user]# ./configure[user]# make[user]# cd src看看src 目录下是不是已经编译出可执行文件来了现在来执行一下吧,首先把qvfb 加到你的可执行路径中去[user]# cd $HOME[user]# vi .bashrc在.bashrc 最后面加上一句export PATH="$PATH:/sbin:/usr/local/arm/"保存退出,这里面有些路径是为以后用的,比如/usr/local/arm/ ,先加上吧:)[user]# source .bashrc 1.3.0hellowordOK ,这个时候你应该可以看到在qvfb 中的执行效果了吧,记住:一定要先运行qvfb ,并且设置qvfb ,然后再运行你的程序,而且qvfb 每重启一次就需要重新设置一下,真麻烦OK 你的PC 环境搭建完毕了,你现在可以在PC 上开发你的程序,并且编译,并在qvfb 中执行,等完全验证它是正确的了,把它交叉编译一下,放到板子上去就可以了,呵呵:)交叉编译minigui库修改scripts/mkconfig,找到#echo "CFLAGS=\"$CFLAGS\" \\" >> $CONFIG_MNU#echo "LDFLAGS=\"$LDFLAGS\" \\" >> $CONFIG_MNU用echo "CFLAGS=\"$CFLAGS\" \\" >> $CONFIG_MNUecho "LDFLAGS=\"$LDFLAGS\" \\" >> $CONFIG_MNU替换[root@localhost libminigui-1.3.3] make menuconfig保存退出,则生成config-mnu文件,编辑,将#!/bin/sh# Automatically generated by make menuconfig.rm -fCC=arm-elf-gcc \CFLAGS="-I/home/liu/uClinux-040408/uClibc/include -Dlinux -D__linux__ -D__uClinux__ -Dunix " \LDFLAGS="-Wl,-elf2flt -static -Wl,-move-rodata -L/home/liu/uClinux-040408/lib/uClibc/lib \-L/home/liu/uClinux-040408/ -L/usr/local/arm-elf/lib \-lc -lm -lpthread" \./configure --prefix=/usr/local/arm-elf \--build=i686-pc-linux-gnu \--host=arm-elf-linux \--target=arm-elf-linux \--disable-shared \--disable-lite \--disable-standalone \--enable-incoreres \--disable-flatstyle \--enable-newgal \--disable-nativegal \--disable-galcommlcd \--enable-galfbcon \--enable-adsial \--disable-micemoveable \--disable-cursor \--disable-fblin1r \--enable-fblin8 \--disable-fblin16 \--disable-fblin32 \--disable-textmode \--enable-dummyial \--disable-mc68x328ial \--disable-nativeial \--disable-qvfbial \--disable-qpfsupport \--disable-ttfsupport \--disable-type1support \--disable-latin9support \--disable-gbksupport \--disable-big5support \--disable-unicodesupport \--disable-savebitmap \--disable-imegb2312 \--disable-imegb2312py \--disable-aboutdlg \--disable-savescreen \--disable-grayscreen \--enable-tinyscreen \--enable-video-fbcon \--disable-video-qvfb \--disable-nativegalqvfb \--with-osname=uclinux覆盖原来内容[root@localhost libminigui-1.3.3] make[root@localhost libminigui-1.3.3] make install[root@localhost libminigui-1.3.3] ldconfig可以进入/usr/local/arm-elf目录中,你会看到新增加了etc和lib两个文件夹,这两个文件夹就是我们刚才用arm-elf-gcc交叉编译minigui的函数库所产生的结果,以后编译在目标板中运行的应用程序时,就会对这两个文件夹里的内容进行编译,从而产生适合于在arm开发板中运行的应用程序.交叉编译minigui-res-1.3.3进入minigui-res-1.3.3文件夹内,修改,在prefix = $(TOPDIR)/usr/local/后添加我们的交叉编译安装目录arm-elf,即prefix = $(TOPDIR)/usr/local/arm-elf.[root@localhost minigui-res-1.3.3] make install交叉编译mde-1.3.0[root@localhost minigui-res-1.3.3] cd 建立文件#! /bin/shCC=arm-elf-gcc \CFLAGS="-I/home/liu/uClinux-040408/uClibc/include -I/usr/include \-I/usr/local/arm-elf/include -Dlinux -D__linux__ -D__uClinux__ -Dunix " \ LDFLAGS="-Wl,-elf2flt -static -L/home/liu/uClinux-040408/lib/uClibc/lib \-L/home/liu/uClinux-040408/ -L/usr/local/arm-elf/lib \-lpthread -L/usr/lib -lc -lm" \./configure --prefix=/usr/local/arm-elf \--target=arm-elf-linux \--host=arm-elf-linux \-exec-prefix=/usr/local/arm-elf \--enable-static \--disable-lite执行文件[root@localhost minigui-res-1.3.3] sh修改各子目录下的Makefile文件将LDFLAGS = -Wl,-elf2flt -static -L/home/liu/uClinux-040408/lib/uClibc/lib -L/home/liu/uClinux-040408/ -L/usr/local/arm-elf/lib -lpthread -L/usr/lib -lc -lm -lminiguiLIBS = -lm -lpthread –lminigui替换:LDFLAGS = -Wl,-elf2flt -static -L/home/liu/uClinux-040408/lib/uClibc/lib -L/home/liu/uClinux-040408/ -L/usr/local/arm-elf/lib -lpthread -L/usr/lib -lc -lm LIBS = -lpthread –lminigui修改各子目录下的Makefile文件将:COMMON_SUBDIRS = notebook bomb housekeeper same russia controlpanel vacs \fontdemo dlgdemo ctrldemo picview替换:COMMON_SUBDIRS = notebook tools bomb housekeeper same russia controlpanel vacs \fontdemo dlgdemo ctrldemo picview注:之所以将tools去掉,因为tools编译有错误,暂时无法解决编译[root@localhost minigui-res-1.3.3]make交叉编译mg-samples-1.3.0建立文件#! /bin/shCC=arm-elf-gcc \CFLAGS="-I/home/liu/uClinux-040408/uClibc/include -I/usr/include \-I/usr/local/arm-elf/include -Dlinux -D__linux__ -D__uClinux__ -Dunix " \ LDFLAGS="-Wl,-elf2flt -static -L/home/liu/uClinux-040408/lib/uClibc/lib \-L/home/liu/uClinux-040408/ -L/usr/local/arm-elf/lib \-lc -lm" \./configure --prefix=/usr/local/arm-elf \--host=arm-elf-linux \--target=arm-elf-linux \-exec-prefix=/usr/local/arm-elf \--enable-static \--disable-lite执行文件[root@localhost mg-samples-1.3.0] sh修改src/目录下的Makefile文件将LDFLAGS = -Wl,-elf2flt -static -L/home/liu/uClinux-040408/lib/uClibc/lib -L/home/liu/uClinux-040408/ -L/usr/local/arm-elf/lib -lc -lmLIBS = -lminigui -lm -lpthread –lc替换:LDFLAGS = -Wl,-elf2flt -static -L/home/liu/uClinux-040408/lib/uClibc/lib -L/home/liu/uClinux-040408/ -L/usr/local/arm-elf/lib -lc -lmLIBS = -lminigui -lpthread编译[root@localhost mg-samples-1.3.0]make移植结束,但还没有测试。

相关文档
最新文档