基于TI图形驱动库嵌入式图形界面设.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于TI图形驱动库嵌入式图形界面设

基于TI图形驱动库嵌入式图形界面设   摘 要:为了加快嵌入式图形界面的开发,TI在基于arm cortex m3内核的Stellaris平台上推出了图形驱动库(Graphics Library)。首先介绍了TI图形驱动库的特点,然后通过分析图形驱动库的运行机制,给出了一种在Stellaris平台上使用TI图形驱动库进行嵌入式图形界面设计的通用方法。??   关键词:嵌入式图形界面;图形驱动库;Stellaris;控件层??   中图分类号:TP391.41 文献标识码:A 文章编号:1672-7800(2011)04-0166-02?お?   ??   作者简介:王茜(1978-),女,四川成都人,硕士,电子科技大学成都学院助教,研究方向为嵌入式技术。      0 引言??   当前,嵌入式系统正向智能化和人性化方向发展,一个友好、简单、易用的图形用户界面已经成为很多嵌入式系统中必不可少的重要组成部分。过去,图形界面的设计往往要花费设计者大量的时间和精力,对产品尽快地推向市场造成一定的阻力,为了解决这个问题,现在很多半导体厂商在推出一款新的处理器时,会同时推出和处理器配套的软件支持。Stellaris是TI收购Luminary Micro后推出的基于arm cortex m3内核的嵌入式处理器系列产品,为缩短客户的产品开发时间,TI推出了相配套的各类驱动库,其中就包括图形驱动库(Graphics Library),该库除了少部分必须用汇编编写的地方外,其余所有代码完全用C语言编写,容易理解,方便移植,可以支持任何尺寸的图形显示器,提供了独立于硬件的图形用户接口。开发人员只需要补充底层硬件驱动程序,就可以让图形化的应用程序在Stellaris上运行起来。??   1 图形驱动库架构??   从软件的角度来看,TI提供的图形驱动库采用了分层的设计方法,从低到高分别为:显示驱动层、图形基元层和控件层。上层均是建立在下层的基础上以实现更为强大、复杂的功能,每一层在应用中均可单独调用。??      1.1 显示驱动层??   显示驱动层(Display Driver Layer)直接和硬件相关,用于驱动底层硬件,所以必须根据硬件的实际情况编写该层函数。在设计中利用TI提供的tDisplayer结构体实现相应层的编写。??   1.2 图形基元层??   图形基元层(Graphics Primitives Layer)用于实现一系列基础的绘制操作,其中包括了线、圆、文本和位图图像等的绘制,同时在这一层也提供了一种在屏外缓冲区(off-screen buffer)绘制的方法,允许先把图像数据绘制到屏外缓冲区,最后一次性地更新到LCD显示器上。??   1.3 控件层??   控件层(Widget Framework Layer)用于响应控件使用者的输入,处理控件消息。控件可以在程序运行时使用各种功能函数创建,也可以在编译时使用全局结构体来定义。在该设计中,控件层被组织成了一个树型的结构,便于对控件动态的添加或移出。??   2 嵌入式图形界面设计??   2.1 硬件电路的实现??   MCU选用LM3S6911,一款运行频率可达50MHz,带以太网控制器的Stellaris处理器。SSD1963是一个自带1215KB帧缓冲的LCD控制器,支持864×480,24bpp的图形显示内容。该设计使用SSD1963来驱动一块3.5inch的LCD显示器。MCU和LCD控制器的连接如图2所示。??      2.2 显示驱动层的实现??   TI的图形驱动库提供了tDisplay这样一个结构体,该结构体定义了屏信息、点、线、矩形、颜色格式等一系列函数指针,驱动库所有的绘制工作最终都以tDisplay结构体中的函数来实现。本文在设计显示驱动层时,根据实际硬件完成具体函数,然后将相应的函数指针传递到结构体里。??      通过对硬件SSD1963的控制,编写相应的硬件驱动函数在LCD上实现画点、画线、画填充矩形等功能。其中,画点函数是所有操作的基础,其实现代码如下:??   void LCDPixelDraw(void *pvDisplayData,long lX,long lY,unsigned long ulValue)??   {??    //设置x坐标 ??    LCD_WRITE_CMD(0x2A);??    LCD_WRITE_DATA((lX8)0xff); ??    LCD_WRITE_DATA(lX);??    LCD_WRITE_DATA(((lX)8)0xff); ??    LCD_WRITE_DATA(lX);??   //设置y坐标 ??

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档