ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:27.56KB ,
资源ID:16936545      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16936545.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Minigui移植uClinuxWord文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Minigui移植uClinuxWord文档格式.docx

1、 /把Scripts下的一个makefile 拷出打开Makefile文件,修改以下部分CC=nios2-linux-gnu-gcc /修改这里 # where make install puts libpng.a, libpng.so*, png.h and pngconf.h prefix=/opt/nios2 /修改这里 # Where the zlib library and include files are located #ZLIBLIB=/usr/local/lib #ZLIBINC=/usr/local/include ZLIBLIB=/opt/nios2/lib ZLIBI

2、NC=/opt/nios2/include 5. 安装jpeg库 首先在本机上编译一下,主要是它的 configure 文件设计得有问题,得先用 gcc 编译一个 dummy.c 的文件,然后才能后面编译,不然的话就会出现 libtool 找不到之类的错误 user# ./configure -enable-shared -enable-staticuser# make cleanuser# ./configure -prefix=/opt/nios2 CC=nios2-linux-gnu-gcc -enable-shared -enable-staticroot# mkdir p /opt/

3、nios2/man/man1root# mkdir p /opt/nios2/ bin6. 安装 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/ / 把ext

4、end目录下的文件也拷出来注意 cp 命令不要用 r 选项,因为会把一些没用的东西出拷出来的拷贝完成了,现在来自己手动编译了user# cd libttfuser# 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# mk

5、dir p /usr/local/nios2/nios2-linux/include/freetype1/freetypeRoot# cp *.h extend/*.h /usr/local/nios2/nios2-linux/include/freetype1/freetypeRoot# cp libttf.so /usr/local/nios2/nios2-linux/lib 7. 编译libminigui在 libminigui-1.6.10/ 下创建一个脚本文件 buildlib-linux-nios2,输入以下内容:#!/bin/shrm config.cache config.st

6、atus -fCC=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

7、-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-abou

8、tdlg -disable-savescreen -enable-videoshadow -enable-fixedmath user# ./buildlib-linux-nios2user# make installuser# cd /home/szh/miniGUI/nios2/targetroot# 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-linu

9、x/etc/最后,安装 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 i

10、nstall 一切很顺利,搞定了。交叉编译环境设置好了!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.s

11、o.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 libminigui.so libpopt.a libvcongui-1.3.so.3 libz.so.1.2.3 libjpeg.so.62 libmgext.la libm.so libpopt.la libvcongui-1.3.so.3.0.0 minigui libjpeg.

12、so.62.0.0 libmgext.so libm.so.6 libpopt.so libvcongui.a shared libm-2.2.3.so libminigui-1.3.so.3 libpng.a libpopt.so.0 libvcongui.la libm.a libminigui-1.3.so.3.0.0 libpng.so libpopt.so.0.0.0 libvcongui.so 其中一些 .a 的静态库是不需要拷过去的,我图方便,一起拷了,呵,懒人的做法 同时修改 /opt/rootfs/etc/ld.so.conf ,在里面最后新加入一行 /usr/local/l

13、ib 然后执行 Root ldconfig r /opt/rootfs /把 rootfs 当成根目录,执行 OK,库文件准备完毕 下面把资源文件也拷过来,还记得吗,在前面 搭建 PC 环境中讲过安装资源文件,它被装在了 /usr/local/lib 目录下,一个叫 minigui 的目录,我们要做的就是把它拷过来 Root# cp r a /usr/local/lib/minigui /opt/rootfs/usr/local/ 连目录一起拷过来,目录结构和主机一样 把配置文件也拷过来 Root# cp /usr/local/etc/MiniGUI.cfg /opt/rootfs/usr/l

14、ocal/etc/ 记住,保持目录结构的一致 修改 MiniGUI.cfg ,如下 system # GAL engine gal_engine=fbcon /这里修改 # IAL engine ial_engine=dummy / 这里修改,我不知道你会用什么触摸屏,所以就用dummy肯定不会错 mdev=/dev/touchscreen/0raw /解摸屏,如果前面是 dummy ,则这里改不改无所谓 mtype=none fbcon defaultmode=240x320-16bpp / 根据你的LCD大小自己设置,设置错误minigui 就启动不了 ial_engine 一开始建议用

15、dummy ,先让 minigui 跑起来,以后再把 触摸屏 加进去,保证尽可能减少错误的发生 保存,退出。 OK ,你的板子上的系统也搭建完毕了,现在来让真正的图形界面跑起来!:注意:你Build 你的 嵌入式 Linux 内核时,在 Console 中一定要先上 FrameBuffer ,从4位色一直到 16 位色的支持,全选上吧,同时把 VGA TextOut 选项勾掉,不要选它!内核启动时就要激活 FrameBuffer ,不然 minigui 没法启动起来,激活的方法就是给它传内核参数 vga=xxx 之类的。3.启动你的 MiniGUI 的图形界面 看看你的 Windows 操作系

16、统,左下方是一个 开始 按钮,然后是 任务条 ,MiniGUI 也提供了类似的界面,这就是一个叫 mginit 的程序,它启动后就跟widnows的界面很像了,它就在 mde 包里面,还记得最初让你下载的那个程序包吗?现在我们就来安装它!user# tar zxf mde-1.3.0.tar.gz user# cd mde-1.3.0 /我们先对 mginit 程序做一点小修改,呵 cd mginit ; vi mginit.c 在 297 行处,把下面代码注释掉 /* AboutMiniGUI ();AboutMDE ();*/ 保存,退出即可。因为我们没有 触摸屏 现在,没法点它的 确认

17、按钮,所以把这些 About 信息去掉:好了,现在来编译吧,在mde-1.3.0 目录里 user# ./configure -prefix=/opt/rootfs/usr/local -host=arm-linux 如果你发现 mginit 目录下的程序没有被编译,那就说明你的 libminigui 配置不正确,记住,你必须是配置为 Lite 模式,这个程序才会被编译 user# make install 事实上证明,make install,根本没用,它什么都没做,do nothing 所以还是我们自己动手来做吧,呵 Root# mkdir p /opt/rootfs/usr/local/

18、lib/shared/miniguiapps /建立了一个我们自己的目录,好长,呵 Root# cp r a mde-1.3.0/* /opt/rootfs/usr/local/lib/shared/miniguiapps 直接全部拷过去,然后到 /opt/rootfs/usr/local/lib/shared/miniguiapps 的各个程序目录下去,比如 mginit , bomb , painter 之类的,把不用的 .c .h .o Makefile 之类的全删除掉,保留 可执行文件和相应的 res 目录下的资源 注意,保持目录的结构,mginit.rc 文件不要删了,这个对mgin

19、it 程序很重要 OK,最后一步了,修改配置文件 Root# vi /opt/rootfs/linuxrc 文件 一般你配置嵌入式系统的时候都会有这个文件,用来执行一些系统的初始化工作,如果没有,就在你相应的初始化脚本(例如 etc/inittab)中加入下面的语句 mknod /dev/ttyp5 c 3 5 mknod /dev/ptyp5 c 2 5 cd /usr/local/lib/shared/miniguiapps/mginit ./mginit 最后执行 mginit 命令的方式,先进入到它所在的目录,然后再执行,千万不要只写成 /usr/local/lib/shared/mi

20、niguiapps/mginit/mginit 因为 mginit 执行时在“当前目录”的res文件夹下搜索显示的资源,这种写法则“当前目录”为 根目录,所以会找不到 res 文件夹,于是显示错误 “ Can not create taskbar! ” 就退出了!如果运行时显示没有 mknod 命令,请检查一下你的 busybox 的配置 :切记切记!好了,一切成功了,现在放到你的板子上去试试吧:Root# cd /opt Root# mkcramfs rootfs root.cramfs 制作根文件系统镜像,把 root.cramfs 烧到你的板子里面就OK了,启动,就可以看到 minigu

21、i 的图形界面启动了 : 因为你的 minigui 是按 Lite 模式编译的,如果必须 mginit 首先运行起来,你其它的程序(比如 bomb ,或是 helloword)才能执行,如果 mginit 没有运行起来你就执行 helloword 的话,就会显示错误 “ Can not attach shared resource ! ” 4.为 minigui 开发程序 环境配好了,现在是开发自己的程序了,呵呵,写个简单的 Helloword 程序 /* * $Id: helloworld.c,v 1.7 2003/06/13 07:15:49 weiym Exp $ * * Listing

22、 2.1 * helloworld.c: Sample program for MiniGUI Programming Guide * The first MiniGUI application. * Copyright (C) 2003 Feynman Software. * License: GPL */ #include minigui/common.hminigui/minigui.hminigui/gdi.hminigui/window.hstatic int HelloWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lPa

23、ram) HDC hdc;switch (message) case MSG_PAINT:hdc = BeginPaint (hWnd);TextOut (hdc, 100, 100, Hello, world!);EndPaint (hWnd, hdc);return 0;case MSG_CLOSE:DestroyMainWindow (hWnd);PostQuitMessage (hWnd); return DefaultMainWinProc(hWnd, message, wParam, lParam);int MiniGUIMain (int argc, const char* ar

24、gv) MSG Msg;HWND hMainWnd;MAINWINCREATE CreateInfo;#ifdef _LITE_VERSION SetDesktopRect(0, 0, 1024, 768);#endif CreateInfo.dwstyle = WS_VISIBLE | WS_BORDER | WS_CAPTION;CreateInfo.dwExstyle = WS_EX_NONE;CreateInfo.spCaption = Hello, world;CreateInfo.hMenu = 0;CreateInfo.hCursor = GetSystemCursor(0);CreateInfo.hIcon = 0;CreateInfo.MainWindowProc = HelloWinProc;CreateInfo.lx = 0;CreateInfo.ty = 0;Cr

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1