EDN China > 设计实例 > 消费电子设计 > 数字电视 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

嵌入式图形系统μc/GUI的移植和开发

来源:电子设计信息网?? 2008年03月11日 ?? 收藏0

?  (3) lcd驱动编程的实质是液晶屏上的点对应的显存编程,最底层调用函数为画点函数,用户可根据自身平台情况根据总线接口和寄存器接口或者lcd控制器寄存器进行操作。_setpixel(),_getpixel(),xorpixel()为最底层直接对显存操作函数。mc/gui提供部分控制器驱动,文件为gui/lcddriver/lcdslin.c,如sed1335,t6963等简单lcd控制器。核心函数为lcd_write(). _setpixel()调用lcd_write()写显存。

  (4) 在sample\gui_x文件夹内包括有与硬件联系紧密的文件,包括gui_x.c,gui_x_embos.c, gui_x_ucos.c等文件, gui_x.c包括大部分与硬件的关联函数,如定时器的初始化和触摸屏相关函数。mc/gui与操作系统挂接的核心是定时器的设置和挂接。μc/gui是通过延时函数gui_delay()调用gui_x_delay,再调用gui_exec()处理窗口部件中的回调函数进行重绘。在任何一款嵌入式操作系统中都需要定时器的心脏跳动作用,支持os的μc/gui可以通过定时器的设置达到嵌入式操作系统和图形系统的实时和同步操作。在gui_x_ucos.c中通过μc/os中的延时程序同μc/gui挂接实现整合。

μc/gui软件结构图

  图2 μc/gui软件结构图

  (5) 经过移植之后,gui应用程序开发通过μc/gui而变得非常容易,在调用gui_init()后,用户可以根据需要正确配制μc/gui后,可使用其强大的库函数和丰富的gui资源进行编程。在gui编程过程中,可以打开抗锯齿功能减小图形失真,得到高质量的图形和字体效果。采用内存设备能有效克服闪烁现象,获得更快的显示速度,但它和抗锯齿功能一样需要额外的内存开销。

  μc/gui和其他图形系统的比较

  (1) μc/gui优势在于其体积小,配制性强,运用领域非常之广泛。相对于众多嵌入式图形系统,如microwindows/nanox, opengui, qt/embedded, minigui等,只要满足ram100bytes,堆栈500bytes,rom10kbytes的小型系统中都可以运行μc/gui,而这个需求是其他图形系统所不及的,可以广泛运用到国内已经运用非常成熟的单片机系统内,增强系统性能。在资源丰富的大型系统中,也只需要ram2-6kb,堆栈1200bytes,rom30-60kb就可以满足mc/gui的各种功能。对比于其他图形系统最少几百k,动辄上m的系统而言是非常有优势的。其众多的配制,满足不同需求用户需要,方便灵活小巧,实用性大大增强。

  (2) 平台的广泛性,移植方便。由于μc/gui是100%c编写,适应绝大多数软硬平台,其适应性非常强,相对于众多具有软硬件针对性的图形系统而言,结构划分和模块划分非常清晰,分设专门的lcd驱动模块,移植简单方便。代码量相对较小,易操作可扩展性强,方便用户定制和自主更新完善满足个性需求。

  结语

  本文着重介绍了μc/gui和其移植方法,作为一个面向嵌入式系统的图形用户界面支持系统,μc/gui系统需求、执行效率、可定制方面非常出色,体积小,移植方便,程序适应平台广泛,在嵌入式系统研发过程中大大简化了图形系统开发的周期和难度,具有很高的实用价值。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

嵌入式? 图形系统? μc/GUI?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈