当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]μC/GUI在嵌入式智能监控系统中的移植研究与应用

摘要:为了使智能监控系统具有人机交互功能,以DE2开发板为验证平台,通过编写VGA IP核以及在SoPC Builder搭建硬件环境,移植嵌入式图形界面软件μC/GUI到NiosⅡ嵌入式软件开发环境。实验结果表明,μC/GUI成功移植到NiosⅡ嵌入式开发平台中,可以实现μC/GUI文字显示、绘图以及窗口管理等功能,并可以外接任何具有VGA接口的LCD显示器。
关键词:人机交互;μC/GUI;移植;NiosⅡ

0 引言
    人机交互是智能化嵌入式产品一项重要功能,在设计智能监控系统时人机交互需要界面设计软件,常用的图形界面软件有MiniGUI,QT/Embedded,OpenGUI等。Altera公司NiosⅡ已经集成了μC/OS-Ⅱ系统。μC/OS-Ⅱ是一个实时多任务内核,不具有现代操作系统的线程,上述GUI不能方便的运行。
    μC/GUI是一个优秀的嵌入式图形用户界面,具有众多的优点。如,代码开源,占用系统资源少,所有的代码均由ANSIC实现,功能强大且易于移植,可以应用于任何的LCD控制和CPU任何尺寸的物理与虚拟显示,非常适合用于资源有限的嵌入式系统中。同时,μC/GUI与μC /OS-Ⅱ都是美国Micrium公司产品,μC/GUI能轻易地在μC/OS-Ⅱ上应用,实现与μC/OS-Ⅱ的无缝结合。
    本文在设计具有人机交互功能的基于NiosⅡ的嵌入式智能监控系统时,为实现友好的人机交互和更加方便的显示,将μC/GUI移植到NiosⅡ嵌入式平台,系统采用通用液晶显示器显示,具有更加广泛的通用性。

1 硬件系统设计
   本系统设计采用的硬件平台是Altera公司生产的DE2开发板,使用软件是QuartusⅡ9.0,FPGA芯片是EP2C35F672C6,通过VGA接口连接液晶显示器显示,利用QuartusⅡ软件的SOPC Builder搭建的系统设计如图1所示。其中,PS/2 IP核是采用AItera公司大学计划中的IP核,SDR AM为系统运行时的内存。在系统中运行交互界面时,通过PIO传输系统设置的参数,控制硬件实现的视频的采集、显示与相关视频分析算法的实现。


    VGA IP核采用突发传输模式,这样可以提高从端口的数据吞吐量,在主端口一次多个数据单元的时候,可以达到极高的效率。在本设计的VGA IP核设计一次传输10个数据单元,额外的burstcount信号为4位。

2 μC/GUI移植
    本系统采用μC/GUI 3.98版本进行移植,在移植μC/GUI之前,有必要熟悉μC/GUI的软件体系结构与文件结构,μC/GUI的软件体系结构如图2所示。

[!--empirenews.page--]
    μC/GUI函数库为用户程序提供GUI接口,包含的函数有文本、数值、二维图形、输入设备以及各种窗口对象。其中,输入设备可以是鼠标、键盘或触摸屏;二维图形包括图片、直线、多边形、圆、椭圆、圆弧等;窗口对象包括按钮、编辑框、进度条、复选框等。μC/GUI由库
函数目录GUI和配置文件目录Config两个目录组成,表1是μC/GUI目录结构,带星号的都是可选项。


    其中Config目录下包括3个文件分别是LCDConf.h、GUIConf.h和GUITouchConf.h,3个文件分别用来配置LCD驱动、μC/GUI配置、触摸屏的配置。μC/GUI移植主要就是对Config文件以及LCDDriver的移植,针对不同的平台做相应的修改。
2.1 配置文件的移植
    GUIConf.h是μC/GUI的基本属性配置文件,有很多开关可以配置,配置的内容包括是否采用内存设备,是否采用窗口管理器,是否支持操作系统、触摸屏,以及配置动态内存的大小等。具体可以参考μC/GUI的用户手册,这里只需配置几个必要的参数如下:
[!--empirenews.page--]
2.2 LCD驱动文件的移植
    由于采用VGA显示,根据LCDConf.h对LCD_CONTROLLER的配置,在LCD驱动文件目录下选择LCDDummy.c,删除其他无关的驱动文件,LCD驱动文件负责把μC/GUI的各种函数解释成LCDconf.h文件中定义的液晶接口函数,这个文件与具体的硬件连接无关,LCD驱动在SDRAM开辟帧缓冲以及往VGAIP中写入数据,在函数LCD_Controller_Init()完成,开辟显示缓冲区由framebuffer=(aIt_u32*)alt_uncached_malloc(LCD _XSIZE*LCD_YSIZE*LCD_BITSPERPIXEL/2)实现。同时编写void LCD_L0_SetPixelIndex(int x,int y,int PixelIndex)和unsigned int LCD_L0_GetPixelIndex(int x,int y)这2个函数,分别是设置一个像素和获取一个像素的颜色,后面很多操作如画点、线、圆等都需要调用这2个函数。
2.3 接口函数移植
    由于支持μC/OS-Ⅱ操作系统,所以要对GUI_X_μCOS.c文件进行修改,GUI_X_μCOs.c定义了GUI与RTOS的接口函数,使之能与μC/OS-Ⅱ操作系统实现无缝衔接,要增加系统延时函数OSTimeDly(1),void GUI_X_Execldle(void){OS_X_Dday(1);}改为:

    到此,μC/GUI移植需要修改的代码部分已经全部完成。

3 μC/GUI应用程序开发实例
    根据平台修改完配置、驱动文件和接口函数之后,在NiosⅡ9.0 IDE建立一个新的工程,选择工程操作系统为μC/OS-Ⅱ,将已经修改好的Config和GUI文件夹以及GUI_X_μCOS.c拷贝到建立的工程目录下,可以根据实际需求,删掉一些不需要的功能文件,减少编译时间以及编程生成的执行文件的大小。根据需求编写相应的应用程序,要使PS/2IP核正确使用,在应用程序中要用要alt_up_ps2_open_dev(“/  dev/ps2”),开启PS/2 IP核,同时要正确显示图形界面在显示界面代码之前要调用GUI_Init()函数,它的功能是初始化GUI,同时初始化LCD控制器与显示缓冲区。Nios II IDE编译器成功编译工程还要为移植的文件添加相应的路径,在include路径要包括Config、GUI/Core,GUI/Widget和GUI/WM,编译完成之后的工程目录如图3所示。成功编译之后将程序下载到DE2开发平台,程序运行嵌入式智能监控系统交互界面,运行画面如图4所示。


    交互界面显示了系统标志,按键、窗口以及键盘,每个按键代表一个功能,按键按下,弹出参数输入窗口,可以在键盘输入相关的参数通过PIO传输到硬件模块。

4 结语
    本文详细介绍了μC/GUI在NiosⅡ嵌入式系统中的移植过程,包括从硬件平台的搭建到μC/GUI配置文件、驱动文件和接口函数的修改,采用自己编写的VGA显示IP核,使系统可使用任何通用的液晶显示器,与其他很多专用的LCD驱动而言,本系统具有很强的通用性。结果表明,μC/GUI功能强大,易于移植,占用系统资源少,移植过程有很多可选功能,可以针对不同的需求,非常适用于资源有限的嵌入式系统中。
    同时μC/GUI还提供了仿真器以及位图转换工具,有助于我们应用程序的开发,在开发的过程中应用程序可以在仿真器中完成而不必每次都在硬件平台运行验证。μC/GUI对鼠标、键盘以及触摸屏等的支持,将使基于NiosⅡ的智能监控系统可以完全集成为监视器中的一个功能模块,具有很好应用前景与研究意义。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭