首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   嵌入式Linux下基于MiniGUI的信息终端软件开发      ★★★ 【字体: 】  
嵌入式Linux下基于MiniGUI的信息终端软件开发
收集整理:佚名    来源:本站整理  时间:2009-01-10 23:47:26   点击数:[]    

at/devkit/ppc/8xx/target,此处的路径对应的就是前面设置的NFS输出目录。运行安装命令make install即可。

编译库文件压缩包libminigui-1.2.6.tar.gz时,解压步骤如上。不同的是须在当前目录下运行configure命令对库文件进行移植的配置。命令行如下:

CC=ppc_8xx-gcc./configure

--build=i386-linux

--target=ppc-unknown-linux

--prefix=/opt/hardhat/devkit/ppc/8xx/target

--libdir=/opt/hardhat/devkit/ppc/8xx/target/usr/lib

--includedir=/opt/hardhat/devkit/ppc/8xx/target/usr/include

--enable-debug

其中,ppc_8xx-gcc是针对PowerPC体系结构目标的编译器,是MontaVista Linux提供的;build是指执行编译的机器,这里是x86的开发主机;target是运行该编译器所产生目标文件的机器;prefix是所有安装路径的前缀;libdir是库文件安装路径;includedir是头文件安装路径;enable-debub指编译时需包含调试信息。

配置完,运行编译安装命令。

综合示范程序mde-1.2.6.tar.gz的安装方法和库文件类似的。

此时,启动目标板,在MontaVisa Linux的控制程序下,进入/mde-1.2.6/mginit目录,输入命令行./③mginit运行MiniGUI的这个后台服务器程序,出现一个有小企图片的窗口管理器,并在左上角弱出一个控制台程序的子窗口。在该控制台下,可以运行mde中其它的示范例子。至此,MiniGUI图形包在目标板上移植安装完成。

5 信息终端软件开发

本系统中采用了MiniGUI专为嵌入式系统开发的Lite版本。它基于客户/服务器(C/S)体系,在服务器和客户之间传递输入设备数据,以及客户和服务器之间的某些语法 和响应数据。

在该信息终端软件中,就根据这种结构特点,设计了一个服务器程序和两个客户进程。服务器始终运行后台,记录有关系统信息,如系统计时、用户刷卡余额等,通过MiniGUI提供的Socket机制通信将数据传给下面的客户程序。主界面客户进程给用户提供了完整的操作体验,用户可以通过菜单选择打电话、浏览信息等功能。另一客户进程则是广告屏保,在无人使用的间隙时间里,可以动态显示一些精彩的画面,实现商业价值或公益宣传。下面分别进行介绍。

(1)信息终端客户程序

该信息终端主体界面客户程序在MiniGUI服务器的控制台程序下打开,弹出的是信息终端的主菜单,显示了电话、信息查询、城市交通、新闻专栏等板块。

程序实现时,开始是包含的头文件。

MiniGUI图形包的头文件有:common.h(MiniGUI常用的宏及数据类型的定义)、minigui.h(全局的和通用的接口函数及杂项函数的定义)、window.h(定义了和窗口有关的宏、数据类型、数据结构和窗口函数)。使用GDI函数和控件还需包括gdi.h、control.h两个头文件。

编程实现时,MiniGUI的程序入口点是MiniGUIMain函数,系统初始化后就会自动找到该函数。在该函数中先设置主窗口一些基本属性,建立每个客户程序唯一的一个消息队列。当程序结束时,调用MainWindow ThreadCleanup函数,清除主窗口所使用的消息队列系统资源,退回服务器程序中。

其,各个功能子函数是在MiniGUI程序的另一主体部分——主界面窗口的过程函数中调用打开的。在主窗口建立时,其中有一项属性MainWindowProc,即是注明了对应该窗口的过程函数。各个功能模块的消息也都是通过主窗口中的消息循环进行触发的。

窗口过程函数主体上都是switch和case结构的选择语句,针对不同的消息产生不同的响应。一般MSG_CREATE消息在窗口生成时被发送,因而控件往往在这里调用CreateWindow函数生成。MSG_PAINT则是在移动窗口或调用UpdateWindow重绘时发生,可根据需要定义相应的操作。MSG_CLOSE即是关闭窗口时的动作,一般调用DestroyMainWindow销毁主窗口,调用PostQuitMessage退出消息循环。

此外,在窗口过程函数MiniGUI提供的GDI,即图形设备接口(graphics device interface),可以方便地将BMP、GIF、JPEG等图片用LoadBitmap函数输出到界面,并通过设备上下文(DC)的逻辑字体(logfont)实现多字体和多字符集支持。

广告进程的制作也类似,不再说明。

(2)信息终端软件服务器程序

因为服务器和客户程序需要交换数据,所以我们使用了经MiniGUI包装过的Socket通信机制。

在服务器中,建立一个监听套接字:

#define LISTEN_SOCKET "/var/tmp/socket1"

static int listen_fd;

BOOL listen_socket(HWND hwnd)

{ if((listen_fd=serv_listen(LISTEN_SOCKET))<0)

return FALSH;

return RegisterListenFD(listen_fd,POLLIN,hwnd,NULL);

}

服务器监听该套接字listen_fd。当客户有连接请求时,服务器的过程函数中就会收到MSG_FDEVENT消息,服务器就可以接受该请求以进行相应处理:

static int MainFunProc(HWND hWnd,

{ switch(message)

{case MSG_FDEVENT:

if(LOWORD(wParam)= =listen_fd){

……

conn_fd=serv_accept(listen_fd,&uid);

if(conn_fd>0){

sock_read(conn_fd,buff[20],40);

……

sock_write(conn_fd,buff[20],40);

}}

break;

}}

在主界面进程中,需要连接到服务器时,可以通过c

上一页  [1] [2] [3]  下一页


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:嵌入式Linux系统及其应用前景

  • 下一篇文章:基于SX52的嵌入式Web服务器的快速实现
  • 返回上一页】【打 印】【关闭窗口
    中查找“嵌入式Linux下基于MiniGUI的信息终端软件开发”更多相关内容 5VAR论文频道
    中查找“嵌入式Linux下基于MiniGUI的信息终端软件开发”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››嵌入式Linux的MiniGUI研究和移植
  • ››嵌入式Linux系统下Microwindows的应...
  • ››嵌入式Linux下基于MiniGUI的信息终...
  • ››嵌入式Linux系统及其应用前景
  • ››嵌入式Linux系统中的GUI系统的研究...
  • ››嵌入式Linux系统CGI程序设计技术
  • ››嵌入式linux在工业控制领域中的应用...
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .