基于ARM和Linux的MiniGUI及其应用程序的移植

合集下载

Helper2416开发板移植minigui3.0.12系列

Helper2416开发板移植minigui3.0.12系列

Helper2416开发板移植minigui3.0.12之一:让PC运行minigui笔者最近有时间学习嵌入式linux,于是熟悉了一下基本操作之后,选定了移植minigui作为一个练习。

看了看官网说明,移植过程挺简单的,但整整三天之后,开发板首次显示出minigui版的helloworld。

第一阶段:PC运行minigui这个工作是一定要做的,因为minigui同其他GUI程序开发类似,都是先在PC上编程、调试、模拟,成型之后再交叉编译灌入嵌入式设备。

Helper2416开发板随机所带的虚拟机fedora12已经安装好了交叉编译链、zlib库,png库,jpeg库等,使移植工作大为简化。

此文也不涉及到这几个库的移植,相关方法在手册4.6节有详述,网上文章也未提及移植这几个库出什么问题。

一. 搞定qvfbqvfb是QT的一个附属程序,可以单独运行,跟minigui本身没什么联系,只是minigui可以拿它当作在PC上运行时的模拟屏幕。

qvfb大致有以下几个获取方式。

1. minigui官网有一个qvfb2-2.0.tar.gz程序包,编译这个包需要Qt3的库。

Qt3的库可以从QT官网下载编译。

2.Helper2416开发板随机提供了qtopia和Qt4的源码。

按手册 4.6节编译完qtopia之后,.../qtopia-2.2.0/qt2/bin/qvfb便是qvfb的可执行文件。

将此文件拷入PATH路径,然后用$lddqvfb命令查看一下所依赖的库,在.../qtopia-2.2.0/qt2/lib目录中找到相应的库,拷入/lib目录。

此时命令行直接输入$qvfb即可看到窗口界面。

3.对于Qt4,按手册4.7节编译完之后并不会自动生成qvfb可执行文件,需要单独进行编译。

网上的参考步骤是:(1).复制…/qt-everywhere-opensource-src-4.7.2/tools/shared/deviceskin.h,deviceskin.cpp两个文件到…/qt-everywhere-opensource-src-4.7.2/tools/qvfb目录下(2). 在qvfb文件夹下手动生成qvfb工程,即$qmake-project,生成qvfb.pro(3). $qmake,生成Makefile(4). 手动修改Makefile 中LIBS 选项:末尾添加-lXtst(5). $make即可得到可执行文件qvfb按照这个步骤可以编译得到qvfb,但笔者实测发现Qt4编译出来的qvfb运行minigui程序时鼠标不正常,而qtopia的qvfb鼠标正常。

基于嵌入式ARM9的Linux系统移植的研究和实现

基于嵌入式ARM9的Linux系统移植的研究和实现

2020年第8期信息与电脑China Computer & Communication软件开发与应用基于嵌入式ARM9的Linux 系统移植的研究和实现冯宁波 周 剑(苏州长风航空电子有限公司,江苏 苏州 215151)摘 要:笔者以ARM9处理器为硬件,对嵌入式系统展开分析,并对安装到嵌入式ARM9芯片开发板上的Linux 系统移植进行研究。

Linux 系统移植步骤如下:首先初始化随机存取存储器,设置堆栈,引导加载程序移植;然后下载Linux 内核,修改Makefile 文件,设计交叉编译环境;最后依据内核启动过程,指定启动初始值,控制后台,并执行制作菜单配置命令。

关键词:嵌入式ARM9;Linux 系统;移植;内核中图分类号:TP311.54;TP316.81 文献标识码:A 文章编号:1003-9767(2020)08-078-02Research and Implementation of Linux System Migration Based on EmbeddedARM9Feng Ningbo, Zhou Jian(Suzhou Changfeng Avionics Co., Ltd., Suzhou Jiangsu 215151, China)Abstract: The author takes ARM9 processor as hardware, analyzes the embedded system, and studies the Linux systemporting installed on the embedded ARM9 chip development board. The steps of Linux system porting are as follows: first, initialize random access memory, set stack, boot loader porting; then download Linux kernel, modify makefile file, and design cross compiling environment; finally, according to the kernel startup process, specify the initial startup value, control the background, and execute thecommand of making menu configuration.Key words: embedded ARM9; Linux system; transplantation; kernel0 引言微电子技术快速发展使计算机技术支持下的嵌入式系统得到广泛应用,该系统因软硬件可裁剪、使用性能良好,受到人们青睐[1]。

基于嵌入式ARM-Linux的播放器的设计与实现

基于嵌入式ARM-Linux的播放器的设计与实现

基于嵌入式ARM-Linux的播放器的设计与实现摘要随着21世纪的到来,人类进入了PC时代。

在这一阶段,嵌入式技术得到了飞速发展和广泛应用。

由此,本文提出了一种基于嵌入式ARM-Linux的播放器设计与实现的方案。

本文首先详细分析了ARM体系结构,研究了嵌入式Linux操作系统在ARM9微处理器的移植技术,包括交叉编译环境的建立、引导装载程序应用、移植嵌入式Linux内核及建立根文件系统,并且实现了嵌入式Linux到S3C2410开发板的移植。

由于嵌入式系统本身硬件条件的限制,常用在PC机的图形用户界面GUI系统不适合在其上运行。

为此,本文选择了Minigui作为研究对象,在对其体系结构等方面进行研究基础上,实现了Minigui到S3C2410开发板的移植,完成了嵌入式图形用户界面开发,使得系统拥有良好的操作界面。

对于播放器,本文实现了Linux系统下的通用媒体播放器—Mplayer到S3C2410开发板的移植。

通过对音频数据输出的研究,解决了Mp1ayer播放声音不正常的问题,实现了一个集音乐和视频播放于一体的嵌入式多媒体播放系统。

最后,总结了论文所做的工作,指出了嵌入式播放器所需要进一步解决和完善的问题。

关键词:嵌入式ARM-Linux; S3C2410; Mplayer; GUI界面; MiniguiPlayer Designing and Implement Based On Embedded ARM-LinuxAbstractAlong with the 21st century arrivals, the humanity enters the post PC time. In this stage, embedded technology gets rapidly developed and widely used. So, this paper aims to design a player based on embedded ARM-Linux.First, in this paper, ARM architecture and the characteristic are analyzed in detail. The emphasis of the study is put on the porting techniques of embedded Linux operation system based on the ARM9 micro-processor, which include setting cross complier、transplanting Bootloader、transplanting embedded Linux kernel and setting root file system; Furthermore, implement the technique of transplanting Embedded Linux to S3C2410 board.GUI (Graphical User Interfaces) systems which are supported by normal PCs cannot run well on the embedded systems, just because of the restriction of the hardware of embedded devices. So, this paper selects Minigui as research object. Based on the Minigui architecture and its other aspects, the technique of transplanting Minigui to S3C2410 board is given in detail, and then an embedded GUI system is established and it also makes the handle interface friendly.About the player, this paper implements transplanting the universal player on Linux-Mplayer to S3C2410 board. By learning of audio data, it solves the problem of sound abnormality, and achieves an embedded multimedia system which could play audio and video files.Key words: Embedded ARM-Linux; S3C2410; Mplayer; GUI interface; Minigui目录摘要 (I)Abstract ........................................................... I I 目录.............................................................. I II 第一章绪论.. (1)1.1系统研究背景 (1)1.1.1 多媒体播放器与嵌入式系统 (1)1.1.2 嵌入式多媒体播放器国内外发展现状 (1)1.2 嵌入式处理器 (3)1.3 嵌入式系统 (4)1.3.1嵌入式系统的概述 (4)1.3.2 嵌入式系统的选择 (5)1.4 本文的意义和主要工作 (7)第二章系统软硬件平台的搭建 (8)2.1 硬件开发平台的介绍 (8)2.1.1 核心板 (8)2.1.2 外设板 (8)2.1.3 设计所用硬件介绍 (9)2.2 硬件平台的设计方案 (9)2.2.1 核心板设计 (9)2.2.2 外设电路设计 (14)2.3 嵌入式软件开发环境 (15)2.3.1 引导装载程序 (16)2.3.2 宿主机开发环境配置 (17)2.3.3 交叉开发环境的建立 (18)2.3.4 内核的编译 (18)2.3.5 烧制内核映像和文件系统 (20)2.4 嵌入式图形用户界面的实现 (20)2.4.1 图形用户界面minigui的简介 (20)2.4.2 MiniGUI在S3C2410开发板上的移植过程 (21)第三章 Mplayer的移植 (25)3.1 Mplayer的简介 (25)3.2 Mplayer的移植 (25)3.2.1 安装交叉编译工具及解压源代码 (25)3.2.2 编译Mplayer (25)3.3 调试 (27)第四章嵌入式播放器Mplayer的设计 (31)4.1 播放器的工作流程 (31)4.2 播放器的逻辑结构 (31)4.3 Mplayer播放器的目录文件组织结构 (32)4.4 播放器对解码器和输出设备的管理方式 (34)第五章总结与展望 (36)5.1 本文主要完成的工作及结论 (36)5.2 完善与展望 (36)致谢 (37)参考文献: (38)第一章绪论1.1系统研究背景从上世纪末开始,随着计算机和电子技术的发展走上快车道,便携式电子设备,诸如智能手机,个人电子助理(PDA)的运算存储能力和通信能力都得到了长足的进步,便携式设备的用户界面也变的越来越友好,从早期的只能显示单色文字的LED,发展到现在大尺寸6万色彩色液晶屏幕。

MiniGUI图形界面实验

MiniGUI图形界面实验

学习移植 MiniGUI-STR(for uC/OS-II)软件到 SmartARM2200 开发板的基本方法,然后 编写一个简单的 MiniGUI 应用程序,使用 MessageBox 函数创建一个消息框,消息框中显示 字符串“Hello MiniGUI!” 。 4. 实验预习要求 (1) 仔细阅读<<ARM 嵌入式系统实验教程(二)>>第 1 章的内容,了解 SmartARM2200 开发板的硬件结构,注意 TFT 液晶接口电路和键盘电路。 (2) 阅读 MiniGUI 的文档 <<MiniGUI 用户手册 >> 和 <<MiniGUI 编程指南 >> ,了解 MiniGUI 的基本特点和应用配置选项,以及应用程序的编写。 5. 实验原理 (1) MiniGUI 简介 MiniGUI 项目的最初目标是为基于 Linux 的实时嵌入式操作系统提供一个轻量级的图形 用户界面支持系统,发展到今天,MiniGUI 已进入成熟和稳定阶段,并且所支持的操作系统 已不仅仅限于 Linux,它还可以在 uClinux、uC/OS-II、eCos、VxWorks 等系统上运行。 MiniGUI 为应用程序定义了一组轻量级的窗口和图形设备接口, 利用这些接口, 每个应 用程序可以建立多个主窗口,然后在这些主窗口中创建按钮、编辑框等控制。MiniGUI 还为 用户提供了丰富的图形功能,以显示各种格式的位图并在窗口中绘制复杂图形。 MiniGUI 和嵌入式操作系统的关系如图 1.1 所示,基于 MiniGUI 的应用程序一般通过 ANSI C 库以及 MiniGUI 自身提供的 API 来实现自己的功能。
4
广州周立功单片机发展有限公司 }
Tel: (020)38730976

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 等

ARM-Linux环境下MiniGUI在S3C2410开发板上的移植

ARM-Linux环境下MiniGUI在S3C2410开发板上的移植

上模拟 显示屏 , 方便调试 M n U 应用 程序。 iG l i 解压 q t 1 ,r z v — . t . 后执行 : b 0a g
# / o fg r . n iu e c #ma e k
#ma e i sa l k n t l
在/o e下建立 目录 miiu, 网上 下载以下源码包并放 在该 目录 hm ng i从
并给 出了实验结果 , 明 了移植 的可行性。 证
关键 词 : 嵌入 式 系统 ;iu ;3 2 1 ; nGU ; 植 Ln x¥ C 4 0 Mii I移 中 图分 类 号 : P7 T 23 文献 标 识 码 : A
社n k Ia e
由于嵌入 式系统 一般 实时性要 求很高 .所 以嵌入 式系统下 的 G I U
b n / s o a/ i :u rl c ” i : dl e l n/ s/ a ? u b ol
保存 退 出 。执 行 #su(.ahe使 更 改 生效 。其 中/s ̄c l r/ orebsr  ̄ uroa/ m a 29 . bn是 以后要用到的交叉编译工具 的路径 。 .53 i /
完 成安装 , qP— . q i 在 v 1 /v o 0 b下有 q f 可 执行 程序 , 其路径添加 到 v b 将 可执行路径文件中去 :
#c d¥H0M E
#v b s r i.a h e
在 .ahc 后 面加 上 : bsr 最
e p r TH=”PATH: bn: s/o a/r 2953 xot PA Y / i / rlc am/ . ./ s u l
科技情报开发与经济
文 章 编 号 :0 5 6 3 (0 8 2 — 19 0 10 — 0 3 2 0 )8 0 3— 2

基于ARM和Linux的MiniGUI及其应用程序的移植

基于ARM和Linux的MiniGUI及其应用程序的移植

摘 要 : 年 来 , 着计 算机 技 术 、 讯 技 术 的迅 速 发 展 , 别是 互联 网 的 迅 速 普 及 和 3 计 算机 、 信 、 费 电 子 ) 一 的咖 速 , 型 近 随 通 特 C( 通 消 合 微
化 和 专业 化 成 为 发展 的新 趋 势 , 入 式 系统 开 发 已经 成 为 了信 息产 业 的 热 点 。基 于 ARM 硬 件 平 台及 Ln x操 作 系统 的嵌 入 式产 品 嵌 iu
l SN 1 0 — 0 4 S 09 34
E ma : f @cc . t n — i k j cc e. t: / dn sne. c Te : 6—5 —5 09 3 5 90 4 l+8 51 69 6 6 96
C mp t K o  ̄ g n e h o g o ue n we ea d T c n l y电脑 知 识 与技术 r d o
n n dsn rtm ce r ino e t n c i ac l a o f C ( mp tr o a y es et 3 co ue mmu i t n& C nu l t c mi o t n a dse i i t nb c mete i C nc i ao o s me e r ) c ma o c l a o e o n E c i, r i n p az i h ma
i hema n fcorw hih a e t t o e sofe be de st i a t c f cs hepr c s m d d~s t m sde l pm e t yse veo n .Thsis e st oc s h e a to i GU Io i sue tH hepr e soft e rpln ft M m he n t nu ltor , oc e r m cua o ii n,tpo ta sho o r p a ot de,kene, eyse h r i lo a lyssa d heLi x p af m pr e d fo a t lc nd to i rry w t e lntBo Loa r r l  ̄ s t m on t eboad,tas na e n d srbe a t od s fn ly tr pa st e s e aeM i i ec i sp rsoft c e , al ,i e lnt h ofw r n GU Ia d hep og a v l d tt heAR M ltor . he i n t r rm de eope on i o t p af m

MiniGui安装和移植

MiniGui安装和移植

MiniGui安装和移植一MiniGui的安装首先从MiniGui官网上下载安装文件。

一共需要下载三个压缩文件:libminigui-1.6.10.tar.gz、minigui-res-1.6.10.tar.gz、mg-samples-1.6.10.tar.gz。

安装步骤如下:一:解压缩安装包。

# tar xzvf libminigui-1.6.10.tar.gz二:运行配置程序。

# cd libminigui-str-1.6.10#./configure –disable-jpgsupport –disable-pngsupport三:编译MiniGui源代码# make四:安装MiniGui函数库# su –c “make install”五:查看安装好的库文件MiniGui的动态库文件和静态库文件都被安装到了/usr/local/lib目录下:#ls –l /usr/local/lib而MiniGui相关的头文件则被安装到了/usr/local/include/minigui/目录下Ls –l /usr/local/include/minigui运行时需要配置文件在/usr/local/etc/目录下Ls –l /usr/local/etc这样便完成了MiniGui函数库libminigui-1.6.10.tar.gz的安装接下安装资源包资源包minigui-res-1.6.10.tar.gz并不需要编译,直接安装即可。

解压缩文件#tar xzvf minigui-res-1.6.10.tar.ga打开minigui-res-1.6.10文件#cd minigui-res-1.6.10安装函数库# su –c ”make install”默认情况下,这些资源文件被安装在/usr/local/lib/minigui/res目录下# la /usr/local/lib/minigui/res解压示例代码包# tar mg-samples-1.6.10.tar.gz 打开mg-samples-1.6.10文件# cd mg-samples-1.6.10#./configure编译#make成功编译完成后,就可以在mg-samples-1.6.10/src目录下看到一些被编译好的可执行程序。

嵌入式GUI方案比较

嵌入式GUI方案比较

嵌入式GUI 方案比较一.嵌入式GUI 概况概况随着嵌入式系统的广泛应用,PDA 、机顶盒、DVD/VCD 播放机及WAP 手机已经迅速普及。

图形用户界面(GUI )的广泛流行,是当今计算机技术的重大成就之一。

嵌入式GUI 为嵌入式系统提供了一种应用于特殊场合的人机交互接口。

它极大地方便了非专业用户的使用,因此实时嵌入式系统对GUI 的需求越来越明显,而这一切均要求有一个高性能、高可靠的GUI 的支持。

的支持。

综上所述,GUI 在嵌入式系统或者实时系统中的地位将越来越重要,这些系统对 GUI 的基本要求包括:的基本要求包括:1.轻型、占用资源少。

.轻型、占用资源少。

2.高性能。

.高性能。

3.高可靠性。

.高可靠性。

4.可配置。

.可配置。

二.目前,主流的嵌入式Linux 系统的GUI 解决方案有:解决方案有:1. MicroWindows MicroWindows 是一个著名的开放源码的嵌入式GUI 软件。

MicroWindows提供了现代图形窗口系统的一些特性。

MicroWindows MicroWindows APIAPI 接口支持类Win32 API ,接口试图和Win32完全兼容。

它还实现了一些Win32用户模块功能。

MicroWindows 采用分层设计方法,以便不同的层面能够在需要的时候改写,基本上用本上用 C 语言实现。

MicroWindows 能够在没有任何操作系统或其他图形系统的支持下运行,它能对裸显示设备进行直接操作。

这样,MicroWindows 就显得十分小巧,便于移植到各种硬件和软件系统上。

MicroWindows 已经支持已经支持 Intel 16位和32位CPU 、MIPS R4000 以及以及 ARM 芯片;但作为一个窗口系统,该项目提供的窗口处理功能还需要进一步完善,提供的窗口处理功能还需要进一步完善,比如控件或构件的实现还很不完备,比如控件或构件的实现还很不完备,比如控件或构件的实现还很不完备,键键盘和鼠标等的驱动还很不完善。

基于MiniGUI的工业电脑绣花机控制系统的研究与实现

基于MiniGUI的工业电脑绣花机控制系统的研究与实现

基于MiniGUI的工业电脑绣花机控制系统的研究与实现张秀亭;夏路易【摘要】MiniGUI是一个比较成熟的图形用户接口支持系统,已被广泛应用于工业控制系统中.在工业电脑绣花机控制系统中开发出一个优良的图形界面越来越重要.在对以上问题研究的基础上,讨论了基于MiniGUI工业电脑绣花机控制系统HMI 的实现,同时简单介绍了MiniGUI在基于ARM9和Linux的电脑绣花机控制系统的移植过程.【期刊名称】《现代电子技术》【年(卷),期】2008(031)011【总页数】4页(P184-186,193)【关键词】工业电脑绣花机;ARM9;MiniGUI图形系统;人机交互界面【作者】张秀亭;夏路易【作者单位】太原理工大学信息工程学院,山西,太原,030024;太原理工大学信息工程学院,山西,太原,030024【正文语种】中文【中图分类】TP2731 引言电脑绣花机是随着电子、计算机控制技术、精密机械的发展和应用而逐渐发展起来的一种高自动化、高效率的刺绣设备。

随着电脑刺绣机行业的迅速发展,配备一个优良的图形用户界面,使产品和用户能进行友好可靠的信息交互,已成为开发工作中非常紧迫的要求。

特别是随着硬件条件的提高,控制系统对高性能、高可靠、轻量级GUI的需求越来越迫切。

MiniGUI就是一个为基于Linux的实时嵌入式系统提供一个高性能、高可靠、轻量级的图形用户界面支持系统。

本文正是针对电脑绣花机这一市场需求,将MiniGUI用于工业电脑绣花机控制系统中实现人机交互界面。

在不明显增加成本的基础上,改进了工业电脑绣花机控制系统的性能比,并缩短了开发周期,为用户提供了一个方便、简洁、美观的可视化操作界面。

2 工业电脑绣花机工作原理电脑绣花机首先通过磁盘或U 盘接口电路读出编程打版好的花样文件,然后通过操作面板上的按键或者触摸屏设置好主轴电机转速一系列参数,再发出主轴电机运动的控制命令。

电脑绣花机工作时,主轴电机通过传动轮带动针杆,再由针杆带着线上下运动做刺绣动作。

MiniGUI的移植

MiniGUI的移植

在AT91SAM9261EK上移植MiniGUI当前流行的图形用户界面有MiniGUI、ucGUI、QT/Embedded等,ucGUI需要付费才能使用,QT/Embedded占用资源多,内存消耗大。

MiniGUI是遵循GPL条款发布的自由软件,目标是为基于Linux的实时嵌入式系统提供一个轻量级的图形用户界面支持系统,与其他GUI比,MiniGUI的特点是轻型、占用资源少。

交叉编译工具:arm-linux-gcc-4.3.2宿主机:fedora7 ——linuxLinux kernel: 2.6.21开发平台:A T91SAM9261EK一、准备相关资源Libminigui-1.6.10.tar.gz MiniGUI函数库源代码Miniguires-1.6.10.tar.gz MiniGUI所使用的资源,包括基本字体、图标、位图等。

Mg-samples-str-1.6.10.tar.gz MiniGUI的演示程序。

Mde-1.6.10.tar.gz MiniGUI 图像界面应用程序二、建立相关目录、解压缩文件⑴mkdir /mtemp/minigui 存放源文件⑵展开各个文件:tar –xvzf libminigui-1.6.10.tar.gztar –xvzf miniguires-1.6.10.tar.gztar –xvzf mg-samples-str-1.6.10.tar.gztar –xvzf mde-1.6.10.tar.gz在/mtemp/minigui/下面会生成四个对应的文件。

三、交叉编译MiniGUi在宿主机上建立/usr/local/minigui用于存放编译安装生成的库文件⑴libminigui的编译安装cd libminigui-1.6.10运行配置脚本文件:./configure –prefix=/usr/local/minigui –build=i386-linux –target=arm-linux –host=arm-linux执行完后生成Makefile文件,然后依次执行make make install命令,如果没有错误出现,那么成功,MiniGUI的函数库和头文件以及配置文件等资源被安装在/usr/local/minigui下面。

MiniGUI_for_uCOS实验

MiniGUI_for_uCOS实验

4. 实验预习要求
(1) 仔细阅读<<ARM 嵌入式系统实验教程(三)>>第 1 章的内容,了解 MagicARM2200 实验箱的硬件结构,注意彩色液晶屏驱动电路和键盘电路。
(2) 阅读 MiniGUI 的文档<<MiniGUI 用户手册>>和<<MiniGUI 编程指南>>,了解 MiniGUI 的基本特点和应用配置选项,以及应用程序的编写。
static void update_rect(PSD psd, int l, int t, int r, int b) {
int bak;
if(l > r) {
bak = l; l = r; r = bak; } if(t > b) { bak = t; t = b; b = bak; }
LCM_UpdateRects(l, t, r +1 - l, b +1 - t, psd->addr); }
(3) MiniGUI-STR 软件包 用于 MagicARM2200 教学实验开发平台的 MiniGUI-STR for uC/OS-II 共有 2 个目录, 说明如下:
MiniGUI_Lib,MiniGUI-STR 函数库源代码,即 libminigui。
2
广州周立功单片机发展有限公司 Tel:(020)38730977 38730977 Fax:38730925
static void fb_setpalette (PSD psd, int first, int count, GAL_Color *palette) { }
static void fb_getpalette (PSD psd, int first, int count, GAL_Color *palette) { }

基于ARM-Linux的MiniGUI的应用研究

基于ARM-Linux的MiniGUI的应用研究

需要 指定 一些选项 , C= r11 u—c C al.i xgc(指定 编译 3 n
器 ),t g t r —n x 指定 目标 平 台 ),pe x= a e =al l u ( r ni rf i
( nG I函 数库 的 安装 路 径 ) ,h s =i 6p — MiiU ot 6 一c 8 l u — n (宿 主 机 类 型 ,本 文 的 宿 主 机 的版 本 是 i x gu n

R d e90 eH t. ),然 后 使 用 m k ae编 译 库 , aeisl m k ntl a 安装 库 、 文 件 、 置 文 件 到 pex选 项 指定 的地 头 配 rf i 方。
维普资讯
第2 7卷第 3期
Vo. 7, . 1 2 No 3
西 华 大 学 学 报 ( 自 然 科 学 版 )
J u n lo h a Unv ri ・ Nau a ce c o r a fXiu ie st y t rlS in e
20 08年 5月
Ma .0 8 v20
文 章 编号 :6 319 (0 8 0 - 6 -5 17 — x 2 0 )30 40 5 0
基 于 A M—iu R Ln x的 Mii U 的 应 用 研 究 nG I
李旭升 , 李 兵 , 曲尚勇 , 松 渊 , 玲 , 李 陈 兴佰 明
交 叉编译 环境 的建立 主 要 是 安装 交 叉编 译 器 ,
并 交叉 编译 MiiU 库 的源代码 ,生成 应 用程 序 需 nG I
要链 接 的动态 和静 态的库 文件 。 首先 , 安装 和板 载 Ln x相 同 版本 的 al l u — iu r —n x ni gc编译 器到 采用 Ln x操 作 系 统 的 宿 主机 的某 个 c i u 路径 下 , : urlcla / i, 编 译 器有 特 殊要 如 / s oa r bn 若 / /m 求 , 一定要 安装 到它 指 定 的 路径 下 , 将 该 路径 则 并 添加 到宿 主机 的 P T A H环 境变 量 中 , 果 此时 在字 如 符终 端 中命 令行 下输人 al—n xgc有使用 格式提 r l u .c ni 示, 则说 明 P T A H变量 添加成 功 。 其次, 解压 l mii i 1 3 3 t . z 件包 , i ng 一 . . .a g 软 b u r 进 人该 目录 , 运行 . cn g r( / o f ue 产生 M k l i a fe文件 ) 但 i ,

arm-linux学习笔记之minigui移植

arm-linux学习笔记之minigui移植

arm-linux学习笔记之minigui移植/u3/90065/showart_1793732.htmlminigui-1.6.10在s3c2410平台的移植开发板:SBC2410CPU:S3C2410linux-2.6.25.5fs:jffs2LCD:TFT320 X 240PC:fc8 linux-2.6.25.5(一)准备工作下载软件包libminigui-1.6.10.tar.gzmg-samples-1.6.10.tar.gzminigui-res-1.6.10.tar.gzmg-samples-str-1.6.2.tar.gz在/home/arm/创建一个minigui的目录,然后把这些载在的软件包放在该目录下,在分别解压缩。

再在/home/arm/minigui下创建一个miniguitmp的目录,用于安装编译以后的库文件。

(二)编译libminigui首先修改configure文件,在文件的开头加入交叉编译的路径CC=arm-9tdmi-linux-gnu-gccCPP=arm-9tdmi-linux-gnu-cppLD=arm-9tdmi-linux-gnu-ldAR=arm-9tdmi-linux-gnu-arRANLIB=arm-9tdmi-linux-gnu-ranlibSTRIP=arm-9tdmi-linux-gnu-strip然后执行[root@localhost libminigui-1.6.10]# ./configure --prefix=/home/arm/minigui/miniguitmp/ \--build=x86_64-linux \--host=arm-unknown-linux \--target=arm-unknown-linux[root@localhost libminigui-1.6.10]# make[root@localhost libminigui-1.6.10]# make install这个过程基本上不会有什么错误的执行make install的时候会把编译以后的资源安装到/home/arm/minigui/miniguitmp中,在这之下会有etc include lib usr几个目录产生。

miniGUI在linux环境下安装

miniGUI在linux环境下安装

minigui linux 安装与运行1.首先,从飞漫的网站上下载相关的压缩包:/res.shtml虚拟frambuffer的应用程序,用来调试运行程序qvfb-1.1.tar.gz资源文件:minigui-res-1.6.10.tar.gz示例程序:mg-samples-1.6.10.tar.gz开发库:libminigui-1.6.10.tar.gz在home目录下创建一个minigui的目录# cd /home# mkdir minigui将这些压缩包拷贝到/home/minigui目录下2.安装下载的文件首先安装minigui的资源文件:[root@root minigui]# tar -xvzf minigui-res-1.6.10.tar.gz[root@root minigui]#cd minigui-res-1.6.10[root@root minigui-res-1.6.10]# make install安装minigui的库文件[root@root minigui]#tar -xvzf libminigui-1.6.10.tar.gz[root@root minigui]# cd libminigui-1.6.10[root@root libminigui-1.6.10]# ./configure[root@root libminigui-1.6.10]# make[root@root libminigui-1.6.10]#make install安装minigui的例子库[root@root minigui]# tar -xzvf mg-samples-1.6.10.tar.gz[root@root minigui]#cd mg-samples-1.6.10[root@root mg-samples-1.6.10]# ./configure[root@root mg-samples-1.6.10]# make[root@root mg-samples-1.6.10]# make install安装qvfb[root@root minigui]# tar -xzvf qvfb-1.1.tar.gz[root@root minigui]# cd qvfb-1.1[root@root qvfb-1.1]# ./configure[root@root qvfb-1.1]# make[root@root qvfb-1.1]# make install3.设置参数1.这步要进入#cd /etc/目录下, 修改#vi ld.so.conf文件,再最后一行加入/usr/local/lib 即在系统共享函数库中加入MiniGUI的函数库路径[root@root etc]# gedit /etc/ld.so.conf //注意:不是ld.so.c(至少fedora10下不是)/usr/kerberos/lib/usr/X11R6/lib/usr/lib/sane/usr/lib/qt-3.1/lib/usr/local/lib4、在修改并保存后,执行ldconfig命令,更新系统函数库缓存[root@root etc]#ldconfig5.然后就可以使用qvfb体验miniGUI了,进入qvfb1.1根目录下的qvfb文件夹:输入下面命令:[root@fedora7]# qvfb &//加上&符号使qvfb进程开启后shell立即返回,否则会阻塞shell进程,需要再开一个shell才可以运行minigui程序。

OpenCV1.0.0移植到ARM (utu2440)

OpenCV1.0.0移植到ARM (utu2440)

交叉编译zlib交叉编译png交叉编译libjpeg以上三个在minigui移植中已经试过了,具体参考该文件。

在opencv目录下运行:./configure --host=arm-linux --without-gtk --without-carbon --without-v4l --without-v4l2 --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig --enable-static --enable-shared--disable-apps CXX=arm-linux-g++ --prefix=/home/wudean/opencv-1.0.0/_install注:∙--host=arm-linux :指出交叉编译arm平台∙--without-gtk:忽略gtk+2.0 windows∙--without-carbon: 不使用Mac OS上的X库∙--without-quicktime∙--without-1394libs∙--without-ffmpeg∙--without-python∙--without-swig∙--without-v4l --without-v4l2:不需要v4l和v4l2∙--enable-static :生成静态库∙--enable-shared:生成动态库,这一项必须要有,不要以后可能会出现加载动态库失败∙CXX=arm-linux-g++ :指定编译工具(我用的是4.3.3)∙--prefix=/home/wudean/opencv-1.0.0/_install:这个是安装目录,最好是这样做,以免污染系统OpenCV会用到一些dev的包,如png.h,jpeglib.h,所以需要预先交叉编译好zlib/png/jpeg 库,把他们生成的*.h放到相应的交叉编译器的include里,*.so.*放到lib,还要拷贝到目标板的根目录的lib中。

MiniGUI3.0在mini6410上的移植

MiniGUI3.0在mini6410上的移植

MiniGUI3.0在mini6410上的移植简介MiniGUI 是一款面向嵌入式系统的高级窗口系统(Windowing System)和图形用户界面(Graphical User Interface,GUI)支持系统,由魏永明先生于1998 年底开始开发。

2002 年,魏永明先生创建北京飞漫软件技术有限公司,为MiniGUI 提供商业技术支持,同时也继续提供开源版本,飞漫软件是中国地区为开源社区贡献代码最多的软件企业。

最后一个采用GPL 授权的MiniGUI 版本是 1.6.10,从MiniGUI 2.0.4 开始MiniGUI 被重写并使用商业授权,从3.0.12开始,部分版本使用GPL授权。

历经十余年时间,MiniGUI 已经成为性能优良、功能丰富的跨操作系统嵌入式图形用户界面支持系统,支持Linux/uClinux、eCos、uC/OS-II、VxWorks、ThreadX、Nucleus 、pSOS、OSE 等操作系统和数十种SoC芯片,已验证的硬件平台包括ARM-based SoCs、MIPS based SoCs、IA-based SoCs、PowerPC、M68K(DragonBall /ColdFire)、Intel x86 等等。

准备工作交叉编译器友善提供,具体安装参考mini6410的使用手册;源码的下载从miniGUI官网上下载,需要有新浪账号或者twitter账号。

下面是我下载的版本。

[root@localhost minigui]# ls -l *.tar.gz-rwxrw-rw-. 1 root root 1427072 Jan 16 17:30 freetype-1_3_1.tar.gz-rw-rw-r--. 1 root root 63582 Jan 16 17:31 gvfb-1_0_0.tar.gz-rw-rw-r--. 1 root root 602762 Jan 16 17:32 qvfb2-2_0.tar.gz-rwxrw-rw-. 1 root root 557220 Feb 11 00:56 zlib-1.2.6.tar.gz-rwxrw-rw-. 1 root root 1059513 Feb 11 00:55 libpng-1.5.8.tar.gz-rwxrw-rw-. 1 root root 986681 Feb 10 23:42 jpegsrc.v8c.tar.gz-rw-rw-r--. 1 root root 340656 Jan 16 17:33 libmg3d-1_0_2.tar.gz-rw-rw-r--. 1 root root 1545209 Jan 16 17:34 libmgi-2_0_4.tar.gz-rw-rw-r--. 1 root root 1116885 Jan 16 17:33 libmgp-1_2_2.tar.gz-rw-rw-r--. 1 root root 648207 Jan 16 17:34 libmgplus-1_2_4.tar.gz-rw-rw-r--. 1 root root 659702 Jan 16 17:33 libmgutils-1_0_4.tar.gz-rw-rw-r--. 1 root root 3202804 Jan 17 00:29 libminigui-gpl-3_0_12.tar.gz-rw-rw-r--. 1 root root 2608473 Jan 16 17:29 mg-samples-3_0_12.tar.gz-rw-rw-r--. 1 root root 3449215 Jan 16 17:29 minigui-res-be-3_0_12.tar.gz官网上有几个库的版本太低,所以需要自己去网上下载,其中jpegsrc.v8c.tar.gz、libpng-1.5.8.tar.gz和zlib-1.2.6.tar.gz都是从网上找的最近版本(png和zlib这两个soucefoge上都有,前面一个是网上搜的,所以不能保证链接长期有效,但是网上搜一下还是比较容易找到的)。

Ubuntu下MiniGUI3.0.12安装与移植

Ubuntu下MiniGUI3.0.12安装与移植

MiniGUI3.0.12及组件下载地址/downloads/index.html libmgplus-1.2.4下载地址/download/yong_f/40628071. 需要下载的组件libminigui-gpl-3_0_12.tar.gzmg-samples-3_0_12.tar.gzfreetype-1_3_1.tar.gzjpegsrc_v7.tar.gzlibpng-1_2_37.tar.gzminigui-res-be-3_0_12.tar.gzzlib-1_2_2.tar.gzqvfb2-2.0libmgplus-1.2.4(可以在csdn上下载到)(qvfb所需要的包)libqt3-mtlibqt3-mt-devalienqt-devel-3.3.8-4.fc7.i386.rpm2.安装各组件<1>libminigui-gpl-3_0_12.tar.gz(库)./configure --prefix=/usr/local --enable-qvfbial --disable-splash --disable-screensaver sudo makesudo make install<2>minigui-res-be-3_0_12.tar.gz(资源包)./configure --prefix=/usr/localsudo makesudo make install<3>freetype-1_3_1.tar.gz./configure --prefix=/usr/localsudo makesudo make install(在安装时会有ftdump.c的预处理标识符错误,修改./test/ftdump.c里的Print_Mem( memory_footprint.##field, string )改为: Print_Mem( memory_footprint.field, string )#define FOOTPRINT( field ) Save_Memory( &memory_footprint.##field )修改为:#define FOOTPRINT( field ) Save_Memory( &memory_footprint.field ))<4>安装PNG库./configure --prefix=/usr/localsudo makesudo make install<5>安装JPEG库./configure --prefix=/usr/local --enable-sharedsudo makesudo make install<6>安装zlib库./configure --prefix=/usr/localsudo makesudo make install<7>libmgplus-1.2.4./configure --prefix=/usr/localsudo makesudo make install将/usr/local/lib加入到.bashrc中<8>安装qvfb2(因为需要qt-3.3作支持,所以需要先安libqt3-mt,libqt3-mt-dev,下载qt-devel-3.3.8-4.fc7.i386.rpm,然后用alien转为deb,再用dpkg -i --force-overwrite 来安装此包)sudo apt-get install libqt3-mtsudo apt-get install libqt3-mt-devsudo apt-get install aliensudo alien qt-devel-3.3.8-4.fc7.i386.rpmdpkg -i --force-overwrite qt-devel-3.3.8-4.fc7.i386.deb(开始安qvfb)cd qvfb2-2.0./configure --with-qt-includes=/usr/lib/qt-3.3/include --with-qt-libraries=/usr/lib/qt-3.3/lib --with-qt-dir=/usr/lib/qt-3.3sudo makesudo make install(qvfb2与1不同,没有文件输入是不会显示出框图的)<9>修改MiniGUI.cfg[system]# GAL engine and default optionsgal_engine=pc_xvfb(修改此处)defaultmode=640x480-16bpp(修改此处)# IAL engineial_engine=qvfbmdev=/dev/input/micemtype=IMPS2[fbcon]defaultmode=1024x768-16bpp[qvfb]defaultmode=640x480-16bppwindow_caption=QVFB-for-MiniGUI-3.0exec_file=/usr/local/bin/qvfbdisplay=0#{{ifdef _MGGAL_PCXVFB[pc_xvfb]defaultmode=640x480-16bppwindow_caption=XVFB-for-MiniGUI-3.0-(Gtk-Version) exec_file=/usr/local/bin/qvfb2(修改此处)display=0#}}<10>mg-samples-3.0.12 并运行./configure --prefix=/usr/localsudo makesudo make install./same/same问题1:执行示例出现Wrong JPEG library version: library is 70, caller expects 62原因:在编译libminigui的时候用的库是62,而在编示例时用的是70,导致版本不对解决办法:将/usr/lib/libjpeg.so /usr/local/libjpeg.so.62 全指向libjpeg.so.7.0.0 然后修改/usr/include/jpeglib.h 中的版本号为70,然后重新编译libminigui(若是坚持用libjpeg7的话用此办法)(关于miniGUI在2440上的移植会在下篇更新)以下是关于minigui的移植,认为是最详细的一篇,经本人实验也已经成功,转自/forum/showtopic-3899.aspx采用交叉编译方式【软件环境】PC:ubuntu 10.04开发板:Linux 2.6.32.2@2440Target: arm-none-linux-gnueabigcc version 4.4.3编译minigui3.0并移植需要的文件有(基本上都是比较新的版本,有些库文件在我尝试后还是选择了比较旧的版本):FreeType库:minigui字体引擎freetype-1_3_1.tar.gzJPEG库:minigui显示jpeg图片jpegsrc.v8c.tar.gzpng库:minigui显示png图片libpng-1.0.59.tar.gzzlib库:minigui数据压缩函数库zlib-1.2.6.tar.gzminigui所用到的资源minigui-res-be-3_0_12.tar.gzminigui核心库libminigui-gpl-3_0_12.tar.gzminigui样例mg-samples-3_0_12.tar.gzStep1:建立工作目录,如/home/profiles/minigui,将上述*.tar.gz放入该目录,并解压tar xzf freetype-1_3_1.tar.gztar xzf jpegsrc.v8c.tar.gztar xzf libpng-1.0.59.tar.gztar xzf zlib-1.2.6.tar.gztar xzf minigui-res-be-3_0_12.tar.gztar xzf libminigui-gpl-3_0_12.tar.gztar xzf mg-samples-3_0_12.tar.gzStep2:[编译Freetype库]cd freetype-1.3.1/(A)./configure --host=arm-linux --enable-static --prefix=/usr/local/minig ui修改Makefile第12行 all: ttlib ttest ttpo为all: ttlib ttpo第34行注释(或删)掉,即#cd $(FTTESTDIR); $(MAKE) -f $(MAKEFILE) install 否则make就会出现下面的错误ftdump.c:172:1: error: pasting "." and "glyph_object" does not givea valid preprocessing tokenftdump.c:182:1: error: pasting "." and "first_instance" does not giv e a valid preprocessing tokenftdump.c:191:1: error: pasting "." and "second_instance" does not gi ve a valid preprocessing tokenftdump.c:201:1: error: pasting "." and "face_object" does not give a valid preprocessing tokenftdump.c:202:1: error: pasting "." and "glyph_object" does not give a valid preprocessing tokenftdump.c:203:1: error: pasting "." and "second_instance" does not gi ve a valid preprocessing token(B)make(C)make install[编译JPEG库]cd jpeg-8c/(A)修改configure(vi configure)在文件开始的位置加上CC=arm-linux-gccCXX=arm-linux-g++LD=arm-linux-ldAS=arm-linux-asAR=arm-linux-ar如(后面的库的编译修改configure亦如此):## M4sh Initialization. #### -------------------- ### Be more Bourne compatibleC=arm-linux-gccCXX=arm-linux-g++LD=arm-linux-ldAS=arm-linux-asAR=arm-linux-arDUALCASE=1; export DUALCASE #for MKS shif test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; th en :(B)./configure --prefix=/usr/local/minigui --build=i386-linux \ --host=arm-linux --target=arm-linux --enable-shared(C)make(D)make install[编译PNG库]cd libpng-1.0.59/(A)修改configure(vi configure)在文件开始的位置加上CC=arm-linux-gccCXX=arm-linux-g++LD=arm-linux-ldAS=arm-linux-asAR=arm-linux-ar(B)./configure --prefix=/usr/local/minigui --build=i386-linux \ --host=arm-linux --target=arm-linux(C)make(D)make install[编译zlib库]cd zlib-1.2.6/(A)修改configure(vi configure)在文件开始的位置加上CC=arm-linux-gccCXX=arm-linux-g++LD=arm-linux-ldAS=arm-linux-asAR=arm-linux-ar(B)./configure --prefix=/usr/local/minigui --shared(C)make(D)make install[编译资源库]cd minigui-res-be-3.0.12/(A)修改configure(vi configure)在文件开始的位置加上CC=arm-linux-gccLD=arm-linux-ldAS=arm-linux-asAR=arm-linux-ar(B)./configure --prefix=/usr/local/minigui(C)make(D)make install[编译核心库]cd libminigui-gpl-3.0.12/(A)修改configure(vi configure)在文件开始的位置加上CC=arm-linux-gccCXX=arm-linux-g++LD=arm-linux-ldAS=arm-linux-asAR=arm-linux-arCFLAGS="-I/usr/local/minigui/include-I/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/include " CPPFLAGS="-g -I/usr/local/minigui/include-I/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/include " CXXFLAGS="-g -I/usr/local/minigui/include-I/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/include "(此处要特别注意,我用的编译器所在目录为/opt/FriendlyARM/toolschain/4.4.3,注意跟自己环境的差异,下面的示例库编译亦然)(B)./configure --prefix=/usr/local/minigui --host=arm-linux \--target=arm-linux --build=i386-linux --with-osname=linux \--with-style=classic --with-targetname=fbcon --enable-autoial \--enable-rbf16 --disable-vbfsupport --enable-tslibial(上面的--enable-tslibial选项是minigui支持触摸屏必选的选项,后面会讲到)(C)make(D)make install[编译示例库]cd mg-samples-3.0.12/(A)修改configure(vi configure)在文件开始的位置加上CXX=arm-linux-g++LD=arm-linux-ldAS=arm-linux-asAR=arm-linux-arCFLAGS="-I/usr/local/minigui/include-I/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/include " CPPFLAGS="-g -I/usr/local/minigui/include-I/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/include " CXXFLAGS="-g -I/usr/local/minigui/include-I/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/include "(B)./configure --prefix=/usr/local/minigui --build=i386-linux \--host=arm-linux --target=arm-linux(C)make这里应该会出错,是因为Makefile里的参数不对,程序找不到链接库,这么多Makefile,需要修改哪一些呢?查看根目录下的Makefile(vi Makefile),(line 204)会发现:COMMON_SUBDIRS = same graphics housekeeper minesweeper ctrl_dlg \lf_skin font_text look_feel dbuff note booksame graphics ... notebook这几个目录会按顺序依次被make,查看刚才出错的信息,肯定是same首先没被编译通过。

基于ARM嵌入式图像处理系统的研究

基于ARM嵌入式图像处理系统的研究

数字信号处理课程小论文题目:基于ARM嵌入式图像处理系统的研究学生姓名:学号:院(系):专业:入学时间:年月导师姓名:职称/学位:导师所在单位:完成时间:年月基于ARM嵌入式图像处理系统的研究摘要传统的基于PC 机的图像处理系统,体积庞大,不具有便携性,而限制了其在移动通信、便携设备等领域的应用。

开发低功耗、小型化、便携性的嵌入式图像处理系统具有现实的意义和广泛的应用前景。

本文对系统进行功能分析和总体设计,介绍了ARM 的嵌入式硬件平台的设计与实现,包括系统基本模块的硬件设计和开发过程,具体有电源电路和时钟电路、存储电路、USB摄像头接口电路和LCD 电路等,完成了Linux 操作系统内核的定制和交叉编译、BootLoader、驱动程序的开发,对图像进行灰度化和均衡化等预处理,得到比较清晰的图像。

最后总结了本课题研究所取得的成果及其不足之处,对研究进行了总结和展望。

关键词:图像处理;嵌入式平台;ARM;LinuxStudy on Image Processing System Based on ARM Embedded SystemAbstractTraditional image processing system based on PC is large and non-portable which restrict the application in the field such as mobile communications, portable devices and so on. Developing a low power, small size, portability of embedded image processing system has practical significance and wide range of application prospects. This article analysis the function and designs the system, it introduces the design and realization of hardware platform, including hardware design and development process. It has a power circuit and the clock circuit, the storage circuit, interface circuit of USB cameras and LCD circuits. It customized Linux kernel and completed the development of cross-compiler, BootLoader, and driver. It implied the image pretreatment such as gray and equalization and got a clearer picture. In the end, the paper summarized the results and the inadequacies of the subject and showed the prospects the research.Keywords: mage processing;embedded platform;ARM;Linux目录1 绪论 (1)1.1选题背景 (1)1.2本文研究目的 (1)2 系统设计原理 (1)2.1图像处理技术原理和成像原理 (1)2.2图像显示原理 (2)3 系统的软硬件平台 (2)3.1基础硬件平台 (2)3.2系统软件平台构建 (3)3.3LCD显示模块 (3)3.4USB摄像头模块 (3)4 图像的采集与处理 (6)4.1图像采集的实现 (6)4.1.1 打开设备: (7)4.1.2 读取设备信息 (7)4.1.3 进行视频采集 (8)4.1.4 图像的显示 (8)4.1.5 关闭视频设备。

MiniGUI的安装与移植

MiniGUI的安装与移植

国脉信息学院Guomai Information College《MiniG MiniGUI UI UI1.61.6的安装的安装与与移植》课程设计报告2008级电子信息与通信工程系电子信息工程专业电子0801班学号08300101XX 姓名X X X2010——2011学年第二学期2011年5月一、《嵌入式系统》课程设计任务书---------(2011年05月)时间:2011.5.10----5.25地点:嵌入式实验室班级:电子0801指导教师:张平均1、设计课题:MiniGUI1.6的安装与移植2、设计目的:①.进一步巩固嵌入式系统的基本知识;②.了解MiniGUI的基本结构;③.练习MiniGUI的系统配置和编译安装;④.学习MiniGUI的交叉编译;⑤.掌握MiniGUI界面编程;⑥.学会查阅有关专业资料及设计手册。

3、设计任务及要求:①.掌握嵌入式系统开发环境建立和使用;②.掌握嵌入式系统基本驱动、应用程序的设计调试和编译移植方法;③.MiniGUI在PC上的安装、移植④.Linux基本输入输出驱动程序设计编译与移植⑤.基于MiniGUI的基本输入输出应用编程编译与移植⑥.编写设计说明书(方案的确定、设计环节的考虑及必要说明等)及设备的使用说明;4、设计参考书《MiniGUI编程手册》、《嵌入式教学实验指导书》《ARM嵌入式Linux应用开发入门》汪明虎欧文盛编《嵌入式Linux设备驱动开发详解》华清远见培训中心二、前期资源准备:二、前期资源准备:1、准备源码包:①ubuntu.9.04安装包。

②交叉编译器源码包arm-linux-gcc-3.4.1.Tgz③已经能够在开发板上运行的文件系统包。

Qte_yaffs.gz.④minigui安装包,主要包括libminigui-1.6.10.tar,minigui-res-1.6.10.tar,samples-1.6.10.tar,qvfb-1.1.tar等资源文件以及相应的库文件:libminigui-1.6.10.tar.Gzmg-samples-1.6.10.tar.Gzminigui-res-1.6.10.tar.Gzsamples-1.6.10.tar.Gzmde-1.6.10.tar.gzlibpng_src.gzjpegsrc.v6b.tar.gzqvfb-1.1.tar.gzlibcorss.shrescorss.Shsimplecorss.Shmdecorss.shlibreduce.Sh2、目录安排:①新建/tmp/linux目录,把所有的源码包都放在此目录下②新建工作目录/opt/FriendlyARM/mini2440存放内核源码③新建/work/minigui目录,存放minigui④新建/minigui-free/nfsroot目录,存放交叉编译的minigui3、PC环境及软件①windows xp系统②vmware-6.5虚拟机+Ubuntu-9.0.4minigui在PC环境下的安装以及开发板上的移植三、minigui三、1、MiniGUI在PC上的安装①安装miniGUI的资源文件,minigui-res-1.6.10.tar.gz,miniGUI所使用的资源,包括基本字体、图标、位图和鼠标、光标。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Computer Knowledge and Technology 电脑知识与技术
Uboot > protecdt off all Uboot > cp.b 20000000 10000000 0x2908 4)烧 写 文 件 “u-boot.bin.gz” Uboot >loadb 20000000 ##Ready for binary(kermit) download to 0x20000000 at 115200 bps… Uboot > cp.b 20000000 10000000 此时,U-boot 已经启动。
图 1 串口连接
收 稿 日 期 :2010-09-27 作者简介:赵强(1984-),男,山西晋中人,硕士在读,研究方向为嵌入式系统;李敬文(1965-),男,辽宁沈阳人,教授,主要 研 究 方 向
为图染色,数据库。
9914
计算机工程应用技术
本栏目责任编辑:梁 书
第 6 卷第 34 期 (2010 年 12 月)
3)运行 tftp,将 Linux 内核和文件系统下载到平台中。
2 Linxu 内核和文件系统
内核是操作系统的灵魂,是抽象的资源操作到具体硬件操作细节之间的接口,它负责进程管理、内存管理、文件系统管理以及 设备驱动程序管理,以及网络上数据包的发送与接收等等[8]。 当 PC 机启动时,CPU 首先进入实模式,并开始执行相 应 地 址 处 的 代 码。 开始运行时, 它将自己装入到绝对地址 0x90000 处, 再将其后的 2K 字节装入到 0x90200 处, 最后将核心的其余部分装入到 0x10000 处。 执行完检查硬件的代码部分后,系统开始设置 32 位寄存器,处理器初始化完毕,设置好内存页面,然后就开始调用内核 入 口 函 数 ,开 始 执 行 内 核 [4]。
2.1 内核配置
在文件/include/asm-arm/mach/arch.h 中,定义如下[5]:
#define MACHINE_START(_type,_name) \
const struct machin_desc _mach_desc_##_type \
_attribute_((_section_(“”))) = {
1.2 修改环境变量
1)修改网卡环境:
Uboot>setenv ethaddr 00-1B-77-02-22-45 Uboot>setenv ipaddr 192.168.0.10 Uboot>setenv serverip 192.168.0.20 Uboot>saveenv
2)修改启动过程:
Uboot>setenv bootargs root=/dev/ram rw initrd=0x20000000,8000000 ramdisk_size=21000 console=ttyS0,115200,mem=64M Uboot>setenv kernel tftp 21000000 uImage Uboot>setenv ramdisk tftp 21100000 ramdisk Uboot>setenv boot bootm 21000000 Uboot>setenv bootcmd run kernel run ramdisk run boot Uboot>saveenv
1 U-Boot 的板级移植
在一个基于 ARM 的嵌入式系统中,系统在上电或复位后,CPU 通常从地址 0x00000000 处读取第一条指令开始执行,这个地址处 放置的通常就是系统的 Boot Loader,Boot Loader 在系统启动期间执行的时间非常短,不过所执行的任务却是非常重要的:初始化硬 件 设 备 ,建 立 内 存 空 间 的 映 射 图 ,从 而 将 系 统 的 软 件 、硬 件 环 境 带 到 一 个 合 适 的 状 态 ,以 便 为 最 终 调 用 操 作 系 统 内 核 做 好 准 备 [4]。
ISSN 1009-3044
CCoommppuutteerr KKnnoowwlleeddggee aanndd TTeecchhnnoollooggyy 电电脑脑知知识识与与技技术术
Vol.6,No.34, December 2010, pp.9914-9916
E-mail: kfyj@ 第 6 卷第 34h期ttp://(w2w0w10.dn年zs1.n2et月.cn)
Tel:+86-551-5690963 5690964
基于 ARM 和 Linux 的 MiniGUI 及其应用程序的移植
赵强,李敬文
(兰州交通大学 电子与信息工程学院,甘肃 兰州 730070)
摘要:近年来,随着计算机技术、通讯技术的迅速发展,特别是互联网的 迅 速 普 及 和 3C(计 算 机 、通 信 、消 费 电 子 )合 一 的 加 速 ,微 型 化和专业化成为发展的新趋势,嵌入式系统开发已经成为了信息产业的热点。 基于 ARM 硬件平台及 Linux 操作系统的嵌入式产品 应用开发已经成为主流。 而在嵌入式的开发过程中,针对目标平台的操作系统及应用软件移植成为影响嵌入式产品开发进度的一 个关键因素。 该文介绍了 MiniGUI 在嵌入式 Linux 平台上的移植过程,从实际出发,详细阐述如何在开发板上移植 BootLoader,内 核,文件系统,并且对 linux 部分源码进行了简要的分析和说明,最后将 MiniGUI 与在其环境下编辑的应用程序移 植 到 ARM 目 标 平台上。
关 键 词 :Linux;MiniGUI;交 叉 编 译 ;移 植
中图分类号:TP316 文献标识码:A 文章编号:1009-3044(2010)34-9914-03
Replant of MiniGUI and Application Program Based on ARM and Linux
ZHAO Qiang, LI Jing-wen
Key words: Linux; MiniGUI; cross-compile; replant
MiniGUI 是一个面向嵌入式系统的轻量级图形用户界面支持系统,可以应用在电视机顶盒、PDA、实时控制系统等诸多场合。 到 现 在 ,MiniGUI 已 经 十 分 成 熟 稳 定 , 而 且 对 于 中 文 的 支 持 最 好 。 它 支 持 GB2312 与 BIG5 字 符 集 , 其 他 字 符 集 也 可 以 轻 松 加 入 。 MiniGUI 发展到现在,获得了巨大的成功,尤其在实时嵌入式领域或资源极端有限的场合更具有显著的优势 ,其占用资源少,稳定可 靠,可伸缩性强,多操作系统支持,丰富的控件资源等优点使其具有更大的市场优势。 由于 MiniGUI 的分层结构特点,因而移植十分 方便。 在 MiniGUI 中,硬件层很好地被抽象为 GAL 层与 IAL 层,移植时只需要针对实际的硬件特点按照 GAL 层调用接口与 IAL 层 调 用 接 口 来 做 内 部 实 现 即 可 [2]。
(Institute of Electronic and Information Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China)
Abstract: Recently, along with the fast development of computer and communications technology, especially rapid popularization of Internent and syncretism acceleration of 3C (Computer Communication & Consume Electric), micromation and specialization become the main developing trend, at the same time, embedded products turn into the mainstream of information industry. System porting to the target plantfor is the main factor which affects the process of embedded-systems development. This issue tells the process of the replant of the MiniGUI on the Linux platform, proceed from actual condition, it portrays how to replant BootLoader, kernel, filesystem on the board, it also analyses and describes parts of the codes, finally, it replants the sofeware MiniGUI and the program developed on it to the ARM platform.
……
#define ARM_CS6 (0x30000000)
……
#define ARM_SDRAM_PAI /* UARTs */
#define ARM_VA_UART ARM_ADDR(0x00800000)
……
#define ARM_PA_UART (0x50000000)
……
需要指出的是,各种类型和名称都已预先在 arch/arm/tools/mach-type 中定义。 如果要为平台自定义名称和类型,须在 arch/arm/
1.1 操作过程
1) 连接计算机,使用 RS232 将 ARM 板与 PC 机连接,启动超级终端,并连接成功。 2) 烧写 FLASH, 通过 XMODEM 协议将 loader.bin 下载到 SDRAM 中 [5],加载后显示,如图 1。 3)加 载 文 件 “boot.bin” Uboot >loadb 20000000 ##Ready for binary(kermit) download to 0x20000000 at 115200 bps… 选择 kermit 协议,在超级终端中发送文件 boot.bin。 加载完成后显示: ##Total Size = 0x00002908 = 10504 Bytes ##Start Addr = 0x20000000 然后,将内存中的文件写到 FLASH 中
相关文档
最新文档