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

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所示。

μ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的用户手册,这里只需配置几个必要的参数如下:


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Ⅱ的智能监控系统可以完全集成为监视器中的一个功能模块,具有很好应用前景与研究意义。

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

罗德与施瓦茨与SmartViser携手开发了一种用于测试符合欧盟销售的智能手机和平板电脑的新Energy Efficiency Index(EEI)标签法规的解决方案。该解决方案的核心是R&S CMX500,这是...

关键字: 智能手机 Android iOS

DVI,全称为Digital Visual Interface,即数字视频接口,是一种视频接口标准,旨在传输未经压缩的数字化视频。该标准由显示业界数家领导厂商所组成的论坛“数字显示工作小组”(Digital Displa...

关键字: dvi vga

智能监控系统 国际航线平台 厦门2023年9月12日 /美通社/ -- 以下报道来自环球时报: 第五届"丝路海运"国际合作论坛9月7日在福建厦门开幕。作为"丝路海运"国际合作论...

关键字: 联通 智能监控系统

(全球TMT2023年8月23日讯)全球营销衡量与体验管理平台AppsFlyer近日发布《2023电商App营销现状报告》。全球电商App显示出了较为强劲的韧性,并展现了较多的积极趋势与亮点。 报告最新的...

关键字: APP iOS 安卓 PI

报告显示:全球电商 App 获客花费接近50亿美元 北京2023年8月23日 /美通社/ -- 全球营销衡量与体验管理平台 AppsFlyer 近日发布《2023 电商 App 营销现状报告》。尽管面临全球经...

关键字: APPS BSP iOS Android

尽管安装增长放缓,全球游戏 App 获客花费仍高达 267 亿美元 经济低迷导致 2023 游戏 App 营销优先考虑收入指标,用户增长次之 北京2023年3月9日 /美通社/ -- 今天,全球营销衡量与体验管理平台...

关键字: APPS iOS Android BSP

10美元以上符合条件的交易仅需2.99美元运费 北京2023年2月2日 /美通社/ -- 全球移动跨境电商平台Wish的母公司ContextLogic Inc.今日宣布,其正分阶段推出2.99美元固定运费服务。该服务适...

关键字: APP 移动 EXPRESS iOS

苹果承认,当设备打开时,iPhone 14 ProMax用户可能会在显示屏上看到闪烁的水平线。

关键字: iOS 苹果 iPhone 14 Pro

谷歌的Android和苹果iPhone运行的iOS是市场上最受欢迎的两种智能手机操作系统。两者都有自己独特的特点和能力,对许多人来说,在两者之间做出选择可能是一个艰难的决定。

关键字: 苹果 谷歌 iOS

如果您今天要购买一部新智能手机,它运行两种操作系统之一的可能性非常大:Google 的 Android 或 Apple 的 iOS。

关键字: Android iOS 谷歌
关闭
关闭