Minigui移植uClinux
Minigui移植
1. 交叉编译环境
交叉编译环境安装在 ~/nios2-linux/toolchain-mmu/x86-linux2/bin/ 在 .bash_profile 文件中添加 PATH=$PATH:/home/szh/nios2-linux/toolchain-mmu/x86-linux2/bin:$HOME/bin [user]# source . bash_profile
2. 建立源码库
创建以下文件夹
/home/szh/miniGUI/nios2/ 将以下文件解压在该文件夹下 zlib-1.2.3.tar.tar
libpng-1.0.10rc1.tar.gz
jpegsrc.v6b.tar.gz
3. 安装 zlib 库,这个是后面的库的编译基础。
[user]# cd zlib-1.2.3
[user]# CC=nios2-linux-gnu-gcc LDSHARED=〝nios2-linux-gnu-ld -shared〞 ./configure --prefix=/opt/nios2/ --shared [user]# make [user]# su
[root]# make install [root]# exit
安装完后检查一下目录 /usr/local/nios2/nios2-linux/ [include,lib] ,假如 include 中没有 zlib.h 之类的头文件,lib 中没有 libz.so.1.2.3 ,那就自己手动拷到这些目录下去,记着拷的时候把所有的 *.h 都需要拷过去,在拷库的时候用 cp –a libz.* /?./lib 就行,要用上 –a 选项
4. 安装 png 库
这个是用来显示 png 图形的,MiniGUI 里很多图都是 png 的,如果没有这个库,你的 MiniGUI 将无法正常工作,切记切记!库不要用最新的,最新的容易有问题,用这个老一点的就没问题了。
Libpng 不提供有效的 configure 脚本,所以只好自己动手改 Makefile 文件了
[user]# cp scripts/makefile.linux Makefile //把Scripts下的一个makefile 拷出
打开Makefile文件,修改以下部分
CC=nios2-linux-gnu-gcc //修改这里
# where \prefix=/opt/nios2 //修改这里
# Where the zlib library and include files are located #ZLIBLIB=/usr/local/lib #ZLIBINC=/usr/local/include
ZLIBLIB=/opt/nios2/lib //修改这里 ZLIBINC=/opt/nios2/include //修改这里 [user]# make [user]# su
[root]# make install [root]# exit
5. 安装jpeg库
首先在本机上编译一下,主要是它的 configure 文件设计得有问题,得先用 gcc 编译一个 dummy.c 的文件,然后才能后面编译,不然的话就会出现 libtool 找不到之类的错误
[user]# ./configure --enable-shared --enable-static [user]# make
[user]# make clean
[user]# ./configure --prefix=/opt/nios2 CC=nios2-linux-gnu-gcc --enable-shared --enable-static
[user]# make [user]# su
[root]# mkdir –p /opt/nios2/man/man1 [root]# mkdir –p /opt/nios2/ bin [root]# make install [root]# exit
6. 安装 libttf 库
这个是 TrueType 字体的支持库,用来显示文字的。 注意:MiniGUI 的文档说只支持 1.3.1 版本的 ttf 库,不要把版本弄错了 :)
[user]# cd freetype-1.3.1 // 进到目录里去
[user]# mkdir –p libttf/extend // 自己另外建立一个目录 [user]# cp lib/* lib/arch/ansi/* libttf/ // 把有用的东西拷出来
[user]# cp lib/extend/* libttf/extend/ // 把extend目录下的文件也拷出来
注意 cp 命令不要用 –r 选项,因为会把一些没用的东西出拷出来的
拷贝完成了,现在来自己手动编译了 [user]# cd libttf
[user]# nios2-linux-gnu-gcc -c -fPIC -O2 freetype.c // 这个.c文件包括了其它所有的.c 文件
[user]# nios2-linux-gnu-gcc -c -fPIC -O2 -I./ extend/*.c // 把 extend 下所有的 .c 文件全部编译
[user]# nios2-linux-gnu-gcc --shared -o libttf.so *.o // 生成最后的动态链接库 [Root]# mkdir –p /usr/local/nios2/nios2-linux/include/freetype1/freetype [Root]# cp *.h extend/*.h /usr/local/nios2/nios2-linux/include/freetype1/freetype [Root]# cp libttf.so /usr/local/nios2/nios2-linux/lib [root]# exit
7. 编译libminigui
在 libminigui-1.6.10/ 下创建一个脚本文件 buildlib-linux-nios2,输入以下内容:
#!/bin/sh
rm config.cache config.status -f
CC=nios2-linux-gnu-gcc \\ ./configure \\
--prefix=/home/szh/miniGUI/nios2/target \\ --build=i386-linux \\
--host=nios2-unknown-linux \\ --target=nios2-unknown-linux \\ --enable-shared \\ --enable-static \\ --with-osname=linux \\ --with-style=fashion \\ --disable-micemoveable \\ --disable-cursor \\ --enable-newgal \\ --enable-nativegal \\ --enable-galfbcon \\ --enable-fblin4l \\ --enable-textmode \\ --enable-dummyial \\ --enable-autoial \\ --enable-ads7846ial \\ --enable-nativeial \\ --disable-qvfbial \\
--disable-latin9support \\ --disable-big5support \\ --enable-ttfsupport \\ --enable-ttfcache \\ --disable-savebitmap \\ --enable-jpgsupport \\ --enable-pngsupport \\ --disable-imegb2312 \\ --disable-aboutdlg \\ --disable-savescreen \\ --enable-videoshadow \\ --enable-fixedmath \\
[user]# ./buildlib-linux-nios2 [user]# make
[user]# make install
[user]# cd /home/szh/miniGUI/nios2/target [user]# su
[root]# cp –a lib/* /usr/local/nios2/nios2-linux/lib/
[root]# cp –a include/* /usr/local/nios2/nios2-linux/include/ [root]# cp –a etc/* /usr/local/nios2/nios2-linux/etc/ [root]# exit
最后,安装 popt 库,这个库在编译 mde 程序时需要使用,不然编译没法通过 :)
http://gd.tuwien.ac.at/utils/rpm.org/dist/rpm-4.1.x/popt-1.7.tar.gz 我是从这里下载的
[user]# tar zxf popt-1.7.tar.gz [user]# cd popt-1.7 [user]# ./configure --prefix=/usr/local/arm/2.95.3/arm-linux/ --host=arm-linux --enable-shared --enable-static [user]# make
[Root]# make install
一切很顺利,搞定了。 交叉编译环境设置好了!
OK ,下面是把 minigui 移植到你的板子上去了。
我在 /opt 目录下建立了一个 rootfs 目录,即 /opt/rootfs ,用来建立我的嵌入式系统的根目录,现在我需要把 minigui 的库文件放到里面去,
建立目录
[Root]# mkdir –p /opt/rootfs/usr/local/[lib,etc]
把 /usr/local/arm/2.95.3/arm-linux/lib 中相应的库拷到 /opt/rootfs/usr/local/lib 目录下去
下面是我拷的库文件:
libjpeg.a libmgext-1.3.so.3 libminigui.a libpng.so.2 libttf.a libz.so
libjpeg.la libmgext-1.3.so.3.0.0 libminigui.la libpng.so.2.1.0.10rc1 libttf.so libz.so.1
libjpeg.so libmgext.a l …… 此处隐藏:3814字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




