DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 189|回复: 0
打印 上一主题 下一主题

uCGUI 移植到S3C44B0X实验详细步骤

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 23:45:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、实验目的
1. 初步掌握uCGUI底层硬件驱动函数;
2. 掌握将uCGUI移植到ARM S3C44BOX上的方法和步骤。

二、实验内容
移植uCGUI到ARM处理器S3C44BOX上,并编写Hello World程序,在Micetek 44B0实验平台的LCD上显示“Hello World!”字符串,在LCD显示平面坐标(20,20)处,显示一个小于10000的整数,该整数不断循环加1,每次加1后立即更新显示,从而反应出显示输出的速度。

三、预备知识

1. uCGUI的体系结构:
uCGUI包含三个总的文件夹:Application,Config,GUI.其中:
Ⅰ Application是应用程序的文件夹,它中间包含主函数文件,其它资源文件。
Ⅱ Config是GUI的配置文件夹,它包含三个文件:
  ★ GUICONF.H是uCGUI的配置文件,负责配置GUI的对OS,window manager,DMA,触摸屏,Unicode码的支持。以及设置默认字体和各种控件的默认颜色等。
  ★ GUITouchConf.h负责配置触摸屏。
  ★ LCDConf.h负责配置LCD显示器,如分辨率,颜色位数,以及LCD控制器的其它设置。
Ⅲ  GUI是uCGUI的实现部分,它是GUI最重要的组成部分,其中包含八—九个文件夹。
  ★  ConvertColor是彩色颜色转换文件夹,它里面包含24位色—各种颜色之间的转换的函数。
  ★  ConvertMono是灰度颜色转换文件夹,它里面包含24位色—单色,四级灰度,16级灰度和用户自定义颜色之间转换的函数。
  ★  Core是GUI的核心,GUI多数的处理函数都在这个文件夹里面。
  ★  Font是GUI的字体文件夹,我们可以通过对它里面文件的增减来增删字体。
  ★  LCDDriver是GUI的底层接口部分我们所移植的部分就应该在这个文件夹。
  ★  MemDev是GUI的DMA模式的一些处理函数文件。
  ★  Widget里面含有各种窗口控件,如对话框,按钮等控件。
  ★  WM是GUI的窗口消息处理函数文件夹。
  ★  Touch是触摸屏和鼠标的底层接口部分。

2.UCGUI需要移植的部分
① uCGUI移植需要修改的文件有:修改Main.c,LCDConf.h,在LCDDrive文件夹添加LCD 44b0.h, LCD 44b0.c其中LCD 44b0.h是LCD 44b0.c的声明,LCD 44b0.c提供一系列LCD底层函数接口。
② 若要支持DMA模式还要添加一个LCDMemc.h, LCDMemc.c文件。LCDMemc.h使LCDMemc.c的声明,LCDMemc.c使DMA模式的底层接口函数。
③ 若要支持触摸屏和鼠标还需要在GUICONF.H中修改一下定义:   
#define GUI_SUPPORT_TOUCH         (1)
使GUI支持鼠标触摸屏,并配置GUITouchConf.h文件。在GUITouch下添加相应的接口驱动。
我们主要移植的使LCD的直接驱动模式,所以只需要修改就行了。
我用的是JediView(for ARM)集成调试环境,其它环境类似,硬件为S3C44b0X,LCD为256色彩色液晶,分辨率为320×240。

四、实验设备及工具(包括软件调试工具)
硬件: Micetek 44B0 实验系统
JEDI仿真器
PC机 Pentumn100以上
软件: PC机操作系统win2000
JEDIView集成开发环境

五、程序说明
新建一个文件夹uCGUI,添加以上体系的所有文件夹及文件加到uCGUI文件夹,删除LCDDrive文件夹下的LCDWin.c,它是在VC下的仿真驱动程序,在LCDDrive文件夹添加LCD 44b0.h, LCD 44b0.c。暂时不移植触摸屏驱动,可保持Touch目录为空,以后扩展时再用。
在uCGUI目录下新建一个Inc文件夹,将option.h, 44b.h, 44blib.h, def.h,cache.h,lcdlib.h,44blcd.h添加进来。
将lcdlib.c添加到Application文件夹。
新建一个工程也叫uCGUI,添加以上体系的所有文件夹及其内部文件加到uCGU工程。
修改include配置:打开 Tools->Option->Directory->Include Files添加路径
……uCGUIguiConvertColor
……uCGUIguiConvertMono
……uCGUIguiCore
……uCGUIguiFont
……uCGUIguiLCDDriver
……uCGUIguiMemDev
……uCGUIguiWidget
……uCGUIguiWM
……uCGUIguiTouch
……:ucOSConfig
……guiApplication
其中……为你所建工程所在路径,以上这些路径在有的编译器可不加,自动找到,在JediView(for ARM)集成调试环境需要添加。
由于uCGUI 用到了数学库,在Gcc编译器下需要在link设置中添加-lm参数,使编译器可以找到数学库。

六、实验现象
液晶显示屏显示的是实验结果,其中第2行的数值不断加1跳变。




                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-16 13:57 , 耗时 0.087478 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表