毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 计算机安全 >> 正文

基于zigbee的无线电子点菜系统 第7页

更新时间:2014-6-28:  来源:毕业论文

基于zigbee的无线电子点菜系统 第7页
a) 确保安装了交叉编译工具  
在交叉编译之前首先要确保linux系统中已经安装有交叉编译工具,在这里使用的是博创公司提供的arm-linux-gcc。arm-linux-gcc 安装目录是/opt/arm-linux.可以在终 端用命令vi /root/.bash_profile打开此文件,然后在PATH=$PATH=$PATH:$HOME:/bin/opt/arm-linux配置一下arm-linux-gcc的路径,保存退出,然后终端输入命令:source /root/.bash_profile,则arm-linux-gcc 会自动给搜索到。
b) 交叉编译MiniGui的的库文件
这是最重要的一步,因为这会影响到交叉编译minigui的源程序所生成的可执行文件是否正常在开发板子上运行。在网上有很多资料都介绍了各种不同交叉编译MiniGui库文件的方法,在这里总结出比较简单而有效的交叉编译mnigui库文件的方法:
进入MiniGui库文件的安装目录,在终端输入命令:CC=arm- linux-gcc(CC 用来指定所使用的编译器,这里使用的是arn-linux-gcc),接着在终端输入./configure --target=arm-linux --prefix=/opt/arm-linux --build= i686pc-linux-gnu --host=arm-linux --disable-lite  --disable-jpgsupport  --disable-pngsupoort 编译命令参数说明:
ⅰ) --target 选项用于指定目标平台。-
ⅱ) -prefix选项用于指定MiniGUI函数库的安装路径,在这里minigui的库文件和头文件都分别安装在/opt/arm-linux/目录下的lib和include下,这样用arm-linux-gcc交叉编译minigui的程序时就会自动去该目录底下去搜索库文件和头文件。
ⅲ) --host选项与--arget一样用于指定目标平台。
ⅳ) --build选项用来指明宿主机的类型,这里使用i686-pc-linux-gnu 即可;--disable-lite 用来指定生成基于线程的MiniGUIThreads版本而不生成基于进程的MiniGUI-Lite 版本。
ⅴ) --disable-jpgsupport  --disable-pngsupoort 这是在编译minigui库文件时先不用它去编译支持图片的库,因为arn-linux-gcc找不到这些库,如果不加上这两个选项在make 的时候会出错,minigui的jpeg ,png库要单队培译进arm-linux-gcc的库文件里面,后面有介绍。
在configure成功后会生成makefile文件,接下来就在终端输入make命令来编译(这是一过程需约几分钟时间),如果make 成功就可以执行make install 命令进行安装。
c) 交叉编译MiniGui的资源文件
进入minigui资源文件的安装目录,在执行make install操作之前,需要对目录中的configure.linux文件做一些修改。打开configure.linux文件,prefix选项部分的默认值为$(TOPDIR)/usr/local,需要将这里修改为prefix=$(TOPDIR)/ /opt/arm-linux-gcc,这样执行make install 操作之后,安装脚本会自动把MiniGUI资源文件安装到/opt/opt/arm-linux/lib/minigui/res/目录下.
d) 交叉编译minigui的jpeg ,png 库文件
首先编译jpeg,进入该安装目录,然后在终端运行命令:. CC=arm-linux-gcc  &&  ./configure --target=arm-linux --prefix=/opt/arm-linux --build= i686pc-linux-gnu --host=arm-linux --disable-lite  && make && make install.
e) 安装jpeg、png库
在安装完jpeg库文件后接着安装png库文件 :去到scripts 目录底下去分别复制makefile.*文件到它的上级目录(makefile).修改makefile 文件 分别是CC=arm-linux-gcc prefix=/opt/arm-linux .  在终端输入命令:make && make install
至此用arm-linux-gcc 编译minigui程序时所需要的头文件,库文件以及资源文件都安装完成,如果想测试是否安装成功可以去到找一minigui的程序例子来编译一下(这里以helloworld.c为例子)arm-linux-gcc helloworld.c –o helloworld –lminigui –ljpeg –lpng –lz –lpthread –lm –I/opt/arm-linux-lib/include –L /opt/arm-linux/lib(说明:这里一定要加上-lm,这是编译minigui要用到是数学库,否则会出错!–I/opt/arm-linux-lib/include –L /opt/arm-linux/lib 是编译时所要连接到的库文件和头文件)如果编译通过会在当前目录底下生成一个可执行的文件helloworld,这是一个arm体系结构的可执行文件,不能直接在PC上执行,而是运行在arm体系结构的开发板子上。
2 . MiniGui在PXA270运行环境配置实现
 经过交叉编译出来的MiniGui的程序是不能直接在PXA270,因为MiniGui在运行时会先寻找它的配置文件MiniGui.cfg,然后根据该配置文件进行初始化MiniGui运行时的环境。如果初始化成功则能在开发板上运行经过交叉编译后生成的MiniGui的可执行程序,否则不能运行交叉编译后生成的MiniGui的可执行程序并会提示MiniGui.cfg文件初始化失败。在编译MiniGui源程序时有两种编译方式,一种是动态编译,另一种是静态编译。如果在编译的时候使用的静态编译,那么在板子上运行可执行文件时就不需要MiniGui的库文件,否则就要把上述中经过交叉编译生成的MiniGui的库文件移植到开发板对应的位置,一般是/usr/local/lib。
 在PXA270的开发板上/usr/local/etc/MiniGui.cfg文件是这样配置的:
[system]
#GAL engine
Gal_engine=fbcon(PXA270已经移植好FrameBuffer设备,所以这里直接引用)
#IAL engine
                  Ial_engine=dummy (这是minigui的输入引擎的类型,在这里引用minigui自带的”哑”输入引擎,这是一个不需要任何输入设备的虚输入引擎,因为在这里只是让编译后的可执行文件在PXA270显示一下图像效果)
mdev=/dev/mouse
mtype=IMPS2
[fbcon]
Defaultmode=640X480-16bpp  (这是开发板PXA270像素的分辨率)
修改完Mingui.cfg的配置文件后还不能在PXA270运行 Minigui的可执行程序。因为Minigui运行时要去默认的路径(/usr/local/lib/minigui)找资源文件,所以要把在PC机上的/opt/arm-linux/lib(/opt/arm-linux是MiniGui安装路径)下的文件夹Minigui拷贝到开发板的/usr/local/lib。(注意一点是,如果把minigui放在开发板的其他位置,一定要修改Minigui.cfg配置文件中相应的路径指向,否则运行出错)。经过以上的配置后,可以再PXA270上运行一个用arm-linux-gcc编译minigui生成的可执行程序。不过这只能在PXA270的液晶屏上显示一下,鼠标和键盘暂时无法使用,因为minigui的输入选了dummy,至于minigui如何实现输入引擎,如何在PXA270开发板上通过点击触摸屏来模拟鼠标的操作,在后续PXA270触摸屏章节介绍将详细介绍。
3. 无线点菜终端界面实现
在移植完成MiniGui的工作后,接下来进行的是用minigui来编写一个PDA点菜界面,MiiniGui主界面的编写参照了MiniGui里的listbox.c以及menu.c例子,主界面如5-1图

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

基于zigbee的无线电子点菜系统 第7页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。