s5pv210移植Minigui3.0.12

移植平台:
ubuntu:14.04 开发板:s5pv210(A8) Minigui版本:3.0.12
-----------------------------------------------------
以下软件是开发板正常运行的必须安装包,在MiniGui官网可以下载 http://www.minigui.org/zhcn/【已放在嵌入式软件组资料共享文件夹】
-----------------------------------------------------
├── freetype-2.3.9-fm20100818.tar.gz
├── jpegsrc.v7.tar.gz
├── libmgplus-1.2.4.tar.gz
├── libminigui-gpl-3.0.12.tar.gz
├── libpng-1.2.37.tar.gz
├── mg-samples-3.0.12.tar.gz
├── minigui-res-be-3.0.12.tar.gz
└── zlib-1.2.2.tar.gz
依赖关系:
libpng (zlib);
libmgplus(libminigui)
mg-samples(libminigui,libmgplus)

----------------------------------------------------------------------------------------
PS:本教程的安装目录为 /opt/minigui/arm/cross 安装包都放在 /opt/minigui/arm
在安装之前,确保ubuntu安装了gawk、automake、autoconf、m4、g++等
在其他平台移植也适用,把交叉工具链修改对应的就行。
----------------------------------------------------------------------------------------

-----------------------------------------------------
1.编译Freetype库:【指定交叉工具链,指定安装地址】
-----------------------------------------------------
(1)./configure --host=arm-linux --enable-static --prefix=/opt/minigui/arm/cross
(2)make
(3)make install
【若出错,没有internal,在对应报错的路径自行创建 internal文件夹 】

-----------------------------------------------------
2.编译jpeg库:【指定交叉工具链,指定安装地址】
-----------------------------------------------------
(1)CXX=arm-linux-g++ LD=arm-linux-ld AS=arm-linux-as AR=arm-linux-ar ./configure --prefix=/opt/minigui/arm/cross --build=i386-linux --host=arm-linux --target=arm-linux --enable-shared
(2)make
(3)make install

-----------------------------------------------------
3.编译zlib库:【先安装zlib,因为libpng依赖zlib,指定交叉工具链,指定安装地址】
-----------------------------------------------------
(1)CC=arm-linux-gcc CXX=arm-linux-g++ LD=arm-linux-ld AS=arm-linux-as AR=arm-linux-ar ./configure -prefix=/opt/minigui/arm/cross --shared
(2)make
(3)make install

-----------------------------------------------------
4.编译png库:【指定交叉工具链,指定安装地址】
-----------------------------------------------------
(1)export LDFLAGS="-L/opt/minigui/arm/cross/lib"
(2)export CPPFLAGS="-I/opt/minigui/arm/cross/include"
(3)./configure --prefix=/opt/minigui/arm/cross --build=i386-linux --host=arm-linux --target=arm-linux
(4)make
(5)make install

-----------------------------------------------------
5.编译libmgplus-1.2.4库:【指定交叉工具链,指定安装地址】
-----------------------------------------------------
(1)./configure --target=arm-unknown-linux --host=arm-unknown-linux --prefix=/opt/minigui/arm/cross CC=arm-linux-gcc CPP=arm-linux-cpp CXX=arm-linux-g++ LD=arm-linux-ld AR=arm-linux-ar RANLIB=arm-linux-ranlib STRIP=arm-none-linux-gnueabi-strip
(2)make
(3)make install
【若出错:
configure: WARNING: using cross tools not prefixed with host triplet
checking pkg-config is at least version 0.9.0... yes
checking for MINIGUI... configure: error: Package requirements (minigui >= 3.0.10) were not met:

No package ‘minigui‘ found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables MINIGUI_CFLAGS
and MINIGUI_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

【解决办法】
export PKG_CONFIG_PATH=/opt/minigui/arm/cross/lib/pkgconfig/

继续make
make install

-----------------------------------------------------
6.编译资源库minigui-res-be-3.0.12:【指定交叉工具链,指定安装地址】
-----------------------------------------------------
(1)CC=arm-linux-gcc CXX=arm-linux-g++ LD=arm-linux-ld AS=arm-linux-as AR=arm-linux-ar ./configure --prefix=/opt/minigui/arm/cross
(2)make
(3)make install

-----------------------------------------------------
7.编译核心库libminigui-gpl-3.0.12:【指定交叉工具链,指定安装地址】
-----------------------------------------------------
(1)CC=arm-linux-gcc CXX=arm-linux-g++ LD=arm-linux-ld AS=arm-linux-as AR=arm-linux-ar CFLAGS="-I/opt/minigui/arm/cross/include -I/usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/include " CPPFLAGS="-g -I/opt/minigui/arm/cross/include -I/usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/include " CXXFLAGS="-g -I/opt/minigui/arm/cross/include -I/usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/include " ./configure --prefix=/opt/minigui/arm/cross --host=arm-linux --target=arm-linux --build=i386-linux --with-osname=linux --with-targetname=fbcon --enable-autoial --disable-vbfsupport --enable-tslibial --disable-screensaver --disable-splash --enable-procs
(2)【
vim src/newgal/pcxvfb/Makefile
修改194行,将/usr/include去掉:
INCLUDES = -I$(abs_top_srcdir)/src/include -I$(abs_top_srcdir)/include \
-I$(abs_top_srcdir)/src/newgal/ -I/usr/include/
否则编译pcxvfb.c将出错

(3)make
(4)make install

-----------------------------------------------------
8.编译例程mg-samples-3.0.12:【指定链接动态库】
-----------------------------------------------------
./configure CC=arm-linux-gcc CXX=arm-linux-g++ LD=arm-linux-ld AS=arm-linux-as AR=arm-linux-ar CPPFLAGS=-I/opt/minigui/arm/cross/include prefix=/opt/minigui/arm/cross PKG_CONFIG_PATH=/opt/minigui/arm/cross/lib/pkgconfig
make
make install

线程版编译程序:
(1)arm-linux-gcc -o helloworld helloworld.c -L/opt/minigui/arm/cross/lib -lminigui_ths -ljpeg -lm -lminigui_ths -ldl -lpng -lpng12 -lts -lz -I/opt/minigui/arm/cross/include

进程版,在mg-samples-3.0.12[mginit]文件夹编译得到例程的mginit可执行文件:
(1)arm-linux-gcc mginit.c taskbar.c desktop.c -o mginit -I/opt/minigui/arm/cross/include -L/opt/minigui/arm/cross/lib -lminigui_procs -lpng -ljpeg -lz -lm -lts
(2)arm-linux-gcc -o helloworld helloworld.c -L/opt/minigui/arm/cross/lib -ljpeg -lm -lminigui_procs -ldl -lpng -lpng12 -lts -lz -I/opt/minigui/arm/cross/include

----------------------------------------------交叉编译安装部分完成,下面是移植到开发板----------------------------------------------------------------

-----------------------------------------------------
9.拷贝全部安装文件到开发板 /usr/local【自行设定】
-----------------------------------------------------
(1)cp /opt/minigui/arm/cross/* 全部复制到 /usr/local 下
(2)export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH 【设置minigui的lib的环境变量,让程序正常运行】

-----------------------------------------------------
9.修改MiniGui的配置环境
-----------------------------------------------------
(1)修改开发板上minigui配置文件vi /usr/local/etc/MiniGUI.cfg
把其中的system段修改成如下:
[system]
# GAL engine and default options
gal_engine=fbcon
defaultmode=240x320-32bpp 【32bpp 根据开发板的显示屏的分辨率设定,网上的基本是16bpp。这里卡住了差不多2天】

# IAL engine
ial_engine=tslib //使用触摸功能
mdev=/dev/event0 //这里的event0可能创建在 /dev/input/event0 自行查看
mtype=IMPS2

[fbcon]
defaultmode=240x320-32bpp 【32bpp 必须是32bpp,不然显示不正常,触摸不正常】

-----------------------------------------------------
10.配置tslib库(触摸)
-----------------------------------------------------
(1)移植Tslib到开发板,本教程是放在/usr/local/tslib
(2)配置tslib环境:
export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal_a70
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib
(3)修改/usr/local/tslib/etc/ts.conf 中的内容应该是:
module_raw input
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear

-----------------------------------------------------
11.校准触摸屏
-----------------------------------------------------
(1)运行/usr/local/tslib/bin/ts_calibrate

-----------------------------------------------------
12.最后把之前编译好的helloworld 拷贝到开发板运行
-----------------------------------------------------
(1)最后把helloworld拷贝到开发板中运行。

时间: 2024-11-13 08:06:36

s5pv210移植Minigui3.0.12的相关文章

s5pv210 移植 ubuntu(uboot + linux3.9.7 + ubuntu12.11 + xfce)

手里的s5pv210有两年了,性能也远远不如当下的应用处理器 但是跑比较简单的系统还是绰绰有余的 给s5pv210 移植 linaro ubuntu根文件系统 12.11 + xfce桌面系统,运行速度还是可以的,能上网. uboot + linux3.9.7 + ubuntu12.11 + xfce 可以作为远程tiny服务器. show下: 桌面 浏览器和设置界面 睡眠时的屏保界面

Minigui3.0 自定义遥控输入引擎

本人最近在从事minigui的开发工作,使用的gui版本为最新的3.0.12,平台环境为海思的HI3515. 在历经千辛万苦,终于将gui成功的移植到了开发板上,这里不多赘述,没有移植成功的朋友可以点击下面这个链接,按照步骤慢慢来,是可以成功的. http://blog.csdn.net/longyue0917/article/details/7882672 由于我们的设备需要通过遥控器来控制gui界面,所以需要在已有的gui库中,加入对红外遥控的支持.遥控驱动是HI3515开发组建中已经带好的

[原]零基础学习SDL开发之移植SDL2.0到Android

在[原]SDL开发教程我们知道了如何在pc下使用SDL进行开发,在android上面是否一样可以使用呢?答案是肯定的. 下面我们进行移植SDL到Android,这里都是基于SDL最新版进行移植的,在Eclipse中编译. 开发环境:Ubuntu 14.04 64位,Eclipse + CDT + ADT,NDK 一.到官网下载http://www.libsdl.org/hg.php 下载2.0的源码也可以通过hg来clone最新的源码 hg clone http://hg.libsdl.org/

CentOS6.8编译安装Nginx1.10.2+MySQL5.7.16+PHP7.0.12

1.    下载 #MySQL下载地址 http://dev.mysql.com/downloads/mysql/ #Nginx下载地址 http://nginx.org/en/download.html #PHP下载地址 http://php.net/downloads.php 使用WinSCP把下载好的压缩包上传到/usr/local/src目录 mysql-5.7.16.tar.gz nginx-1.10.2.tar.gz php-7.0.12.tar.gz 2.    安装 2.1   

Linux 0.12的编译与链接

昨天花了很长时间去编译链接linux 0.12版的kernel,发现在64位ubuntu下,这位兄台的文章写得最全最好,几乎涵盖了我遇到的所有问题,在此记录一下. 编译linux 0.12 链接linux 0.12

Windows64位安装GPU版TensorFlow 0.12,Power Shell下输入:安装Tensorflow的全教程

推荐使用powershell,只需要在cmd指令窗口输入powershell即可 下载64位Python3.5(一定要3.5!!)可以通过Python 3.5 from python.org 或 Python 3.5 from Anaconda 下载并安装Python3.5.2(注意选择正确的操作系统). 具体教程可以查看Python3.5.2百度经验安装,里面有个细节,自动设置环境变量,不能忘 安装VS2015,如果是2013的后面要加个插件,这是后话 为了使用国内镜像加速pip安装,需要如下

Oasys.Alp.v19.2.0.12 + Oasys.CADrebar.v3.2.0.1.Win64

Oasys.Alp.v19.2.0.12 1CD Oasys.CADrebar.v3.2.0.1.Win64 1CD Oasys.Compos.v8.4.3.Win64 1CD Oasys.Frew.v19.2.7 1CD Oasys.MassMotion.Flow.v7.0.5.4.Win64 1CD Oasys.MassMotion.v7.0.5.4.for.Softimage.2015.Win64 1CD Oasys.Pdisp.v19.3.0.4.Win64 1CD Oasys.Pile

Linux 0.12 内核管理存储器

其分段,用分段的机制把进程间的虚拟地址分隔开. 每一个进程都有一张段表LDT.整个系统有一张GDT表.且整个系统仅仅有一个总页表. 其地址翻译过程为: 程序中给出的32位地址(实际上被看做段内偏移地址),再依据代码段寄存器CS中的16位段选择子,可在GDT或LDT中查找对应的段描写叙述符.从段描写叙述符中提取段的基地址,与程序给出的32位地址相加.得到结果为线性地址. 依据此线性地址查找系统页文件夹表,再查二级或是多级页表,终于得到物理地址. 此方式系统仅仅有一个4G的线性地址空间由各进程共享(

《linux 内核完全剖析》编译linux 0.12 内核 Ubuntu 64bits 环境

我×...终于好了,大概3 4个小时吧...各种毛刺问题.终究还是闯过来了.... [email protected]:~/Downloads/linux-0.00-050613/linux-0.00$ make ld -s -x -M head.o  -o system > System.map dd bs=32 if=boot of=Image skip=1 16+0 records in 16+0 records out 512 bytes (512 B) copied, 0.000605