打印

【连载】【液晶驱动与GUI 基础教程】 第一章 从这里开始

[复制链接]
3083|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
王紫豪|  楼主 | 2010-9-20 12:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
_____________________________________________

广告:GUI 液晶 VGA 学习 QQ 群:115288085

_____________________________________________


evbase 点击下载。

第一章       从这里开始
一    总则
  本教程使用GuiDriver驱动器、EVTFT 系列模块作为载体。EVTFT模块包含EVTFT36、EVTFT43以及EVGA86三种模块,本章将简单介绍以上模块的硬件构架以及软件开发平台。最后会有个简单的演示范例。
二    GuiDriver简介
  GuiDriver是专门为EVTFT 系列模块制作的驱动器。模块采用高速的32位处理器STM32F103VCT6,通过 FSMC 总线与EVTFT 接口连接。驱动器资源如下:
  • 72MHz 高速32位 Cortex-M3 内核;
  • 通过 FSMC 接口连接EVTFT 接口;
  • 板载2M字节串行Flash,可以存字库、图片等;
  • 板载5.0V转3.3V输出LDO,可以为EVTFT模块供电;
  • 板载六只按键;
  • 板载LED,可以作为指示用;
  • 板载USB 接口,可以高速传输数据,并可以作为供电输入;
  • UART 接口引出(TTL 接口);
  • SW 调试接口,可以与J-Link、U-Link2等仿真器连接下载与调试。
  各个功能模块的接口电路如图1-1所示。

   图1-2为USB接口电路,USB协议规定,在USB D+或者D-上加上一个1.5k的上拉电阻,用于区别高速、低速设备。图1-3为常用的AMS1117 LDO电路,具有800mA峰值输出能力。


   图1-4为EVTFT / EVGA 接口电路,此接口为2.54mm间距双排插针,共24针。接口包括模块供电(3.3V)、模块地(DCOM)、16位数据线(DB[15:0])、2位地址线(A16、A17)、写使能(WR)、读使能(RD)、片选(CS)以及液晶背光控制引脚(PWM)。


  图1-5为SPI Flash接口电路,使用ST公司的M25P16,总共包含片选(FCS)、主入从出(FMISO)、主出从入(FMOSI)、时钟(FSCK)四根线。图1-6为按键电路,包含6个独立按键。连接于处理器的PC0~PC5端口上。

三    EVTFT36 / EVTFT43液晶模块
  EVTFT36 / EVTFT43是两款优秀的高分辨率显示模块。广泛用于嵌入式仪器仪表、工业现场智能家居等领域。有使用简单,速度快,显示效果好等诸多优点。模块特征如下:
  • 16:9宽屏, 480×272分辨率;
  • 65536 颜色显示,色彩逼真;
  • 内建驱动器,16位8080高速接口;
  • 高亮白光 LED 背光,亮度PWM 可调;
  • X、Y光标自增,方便高速读写;
  • 可方便与51/DSP/ARM/FPGA连接;
  • 双页帧缓冲,适合较慢的cpu或者视频显示;
  • 多种连接接口(插针或者PFC软线);
  • μcGUI / ZLGGUI等诸多软件库支持。

四   EVGA86模块
  EVGA86 是一款通用VGA显示驱动器。模块具有速度高、功耗低、易使用等优点,能连接市面上带VGA 接口的显示器。可广泛用于工业终端、医疗电子、仪器仪表等领域。是廉价、高性能的VGA 驱动方案。模块特征如下:
  • 高达 800x600的分辨率;
  • 65536 颜色显示,色彩逼真;
  • X、Y光标自增,方便高速写入;
  • 可方便与51/DSP/ARM/FPGA连接;
  • 多种连接接口(插针或者PFC软线);
  • μcGUI / ZLGGUI等诸多软件库支持。

五    KEIL MDK-ARM 开发平台
  Keil (An ARM Company) 公司开发的ARM开发工具MDK(Microcontroller Development Kit),是用来开发基于ARM核的系列微控制器的嵌入式应用程序。它适合不同层次的开发者使用,包括专业的应用程序开发工程师和嵌入式软件开发的入门者。MDK包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件,支持所有基于ARM的设备,能帮助工程师按照计划完成项目。
  本教程的软件是基于KEIL MDK-ARM 4.12版本,调试器使用J-Link V8。
  首先,从网上下载 EVTFT 驱动包;名字叫做 EVBASE.7z,是个压缩包 。利用开源的 7-ZIP 软件,把它解压到硬盘上(注意,不能有汉字路径,这些软件都歧视中文,切忌)。例如我们把它解压到E盘 EVSOFT 目录里。从网上下载 KEIL MDK 4.12或者更高版本,安装后,打开集成开发环境 Keil uVision4。通过点击Project菜单下的 New uVisiton Project开始建立新工程。如图 1-9所示。

  之后会出现 Create New Project窗口,我们选择路径为刚才解压的路径,即 E 盘EVSOFT 目录里的 EVBASE,在文件名内我们写上我们即将建立的工程名,这里取名字 Minimal,即最小系统的意思。如图1-10所示。

  点击保存,把项目名称保存到硬盘上,然后IDE会弹出CPU 选择窗口,这里我们选择 STMicroelectronics 公司的 STM32F103VC。右侧的窗口中,会有这个cpu的简单资源介绍。如图 1-11 所示。


  按下 OK 后,会弹出一个对话框,如图 1-12所示。

  这个对话框的含义为询问是否拷贝启动代码到当前文件夹,我们选择“是”。
  然后会有一个空工程(只包含启动代码)摆在我们面前;下一步就是建立工程文件夹,用于添加我们的代码,我们在 Project 文件管理栏里,右键点击Target 1,然后选择 Add Group ,如图1-13所示。

  然后键入 main,表示添加 main 代码群。我喜欢这个分类跟硬盘上的代码文件夹一一对应,并且按功能分类,当然您如果不习惯这样,也是可以的。我们一次用同样的方法,添加 Driver,Config等,添加后,如图1-14所示。

  然后我们就把硬盘上的源代码,逐个添加到对应的程序群组中区,方法为鼠标点击到每个群组上,然后按右键,选择 Add File to Group…,添加后的效果如图 1-15所示。这里值得注意的是,Include目录为头文件,可以添加也可以不添加。这个编译的时候会调用的,不需要自己添加,但是有时候为了寻找、修改方便,也可以加进去。不影响使用。

  编译器编译原文件后,会产生很多编译垃圾,如 *.o什么的,我习惯把他们统一放到一个文件夹,这样便于管理,我一般是在项目文件夹内建立 OBJ 文件夹,然后把编译垃圾放进去。

  我们选择 Project,然后选择 Options for Target ‘Target1‘,来进行项目属性管理,这个属性很有用,很多方面都用它,大家要记牢。我们把 output 和 listing 选项里的 Selects Folder …. 都指向项目里的 OBJ 文件夹,这样编译垃圾,都进这里去了。
  我们的程序里面,有一些需要 c99语法的支持,说简单点也就是 1999年发表的一个 c语言标准;感兴趣的同学可以研究研究,这里就不多说了。我们可以再工程属性上面,添加对 C99 的支持,方法如下:打开工程属性,进入 C/C++ 选项,在 misc controls 里添加 --c99 关键字,即可。如图 1-17所示。


  点击“ok“,让设置生效;这样我们的工程就建立完毕了,可以通过编译菜单,来编译一下程序,如果以上步骤没有错误,会有成功提示。

  编译成功后,我们会在下面的 build output 窗口,得到编译的信息,如图1-19所示。



  Build Output窗口会显示目标代码的一些信息,例如代码大小,占用ram空间大小等。图1-19说明的目标文件为 minimal.axf,在obj文件夹内。
编译好了后,我们怎么才能把程序下载到处理器中呢,这里需要用到J-LINK 调试器。我们从 http://www.segger.com/cms/jlink-software.html 这个网址下载J-LINK 是软件,并安装后,简单设置一下,就可以用 JLINK 下载、调试了。进入工程选项窗口,我们进入 Debug 然后点击 Settings ,进入到Jlink画面,这时如果您的Jlink连接电脑和板子上,Jlink就可以轻而易举的探测到处理器。
Build Output窗口会显示目标代码的一些信息,例如代码大小,占用ram空间大小等。图1-19说明的目标文件为 minimal.axf,在obj文件夹内。
编译好了后,我们怎么才能把程序下载到处理器中呢,这里需要用到J-LINK 调试器。我们从 http://www.segger.com/cms/jlink-software.html 这个网址下载J-LINK 是软件,并安装后,简单设置一下,就可以用 JLINK 下载、调试了。进入工程选项窗口,我们进入 Debug选项,选择成 Cortex-M/R J-LINK / J-Trace,如图 1-20所示。



  然后点击 Settings ,进入到Jlink画面,这时如果您的Jlink连接电脑和板子上,Jlink就可以轻而易举的探测到处理器。




  GuiDriver 为了方便,选择了 sw 端口调试;方便快捷,速度一点不差;不过这里我们要手动设置 Port 为 SW,其它不用动,点击 OK 即可。然后选到 Utilities选项,这里设置下载项,我们同样选择 J-link,如图1-22所示,选择后,点击 Settings,进入更具体的设置。



  进入后,我们选择 Add,添加Flash选项,选择如图 1-23所示的选项。然后点击 Add 按钮。然后我们需要把 Reset and run选项勾上,意思是烧完程序后,让它自动运行。如图 1-24。然后就一路 OK,选择后,我们就可以通过菜单或者下载图标,完成程序的下载。




  本例程如果正常下载,会在屏幕上现则彩条(如果 EVGA86,需要修改相应的分辨率)。如图 1-25所示。具体的代码,大家可以参看 main程序。


相关帖子

沙发
王紫豪|  楼主 | 2010-9-20 12:26 | 只看该作者
对了,这个教程适合这几个模块:

他们的 PDF 为:


EVGA86:      http://files.cnblogs.com/xiaomagee/EVGA86_datasheet_01.pdf
EVTFT43:     http://files.cnblogs.com/xiaomagee/EVTFT43_datasheet_0.pdf
EVTFT36:     http://files.cnblogs.com/xiaomagee/EVTFT36_datasheet_0.pdf
















使用特权

评论回复
板凳
我是土匪| | 2010-9-20 15:34 | 只看该作者
再接再厉!

使用特权

评论回复
地板
王紫豪|  楼主 | 2010-9-20 17:32 | 只看该作者
招来土匪了,快跑。。。

使用特权

评论回复
5
happya1| | 2010-9-21 08:47 | 只看该作者
学习学习

使用特权

评论回复
6
我是土匪| | 2010-9-21 09:50 | 只看该作者
招来土匪了,快跑。。。
王紫豪 发表于 2010-9-20 17:32


土匪在此占山为王,劫富济贫,普通百姓不必惊慌.

使用特权

评论回复
7
aihe| | 2010-10-13 21:59 | 只看该作者
逃的是富豪

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:

144

主题

4944

帖子

314

粉丝