uCGUI 移植到S3C44B0X实验

发布时间:2023-02-02  

一、实验目的

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的直接驱动模式,所以只需要修改<1>就行了。

我用的是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跳变。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    / IP 协议栈裁剪移植实现UDP.ARP 等协议通信。详细介绍了DM9000 网卡驱动程序过程,并且实现了网口接收发送数据的功能,通过对大量数据的传输实验,证明了ARM9 和DM9000 构成......
    区别有可能来自于学生所使用的信号源的输出级电路延迟稳流方式与官方参考设计不同所造成的。 请提问同学按照上面实验中的过程,对照进行实验,来检验信号源是否正常。另外,请大家在公众号中输入 标定? 检索 “简便标定信号源电流大学”推文,进行测试信号源的电流大小。 对于实验中,同样......
    的管状结构。         将管状结构细胞从细针上取下,内部使用培养液贯穿。数天后分化成不同种类的细胞会在内壁形成细胞层,最终形成血管。今后将在猪身上进行血管移植实验。         该研......
    球范围内率先突破了RISC-V架构在高性能性能场景的复杂软件生态。据介绍,平头哥完成了数千个文件的移植实现和优化,增加、修改了超过10万行代码,玄铁910处理器目前已支持安卓系统的Linux内核、编译......
    基于STM32的嵌入式测控系统设计与实现;测控系统是水动力实验中的重要测试设备。在实验中有压力、拉力、加速度等物理量通过传感器转换成电压值,需要准确记录。虽然实验模型有很多种,但是......
    stm32mp1 Cortex M4开发篇8:扩展板LED灯控制实验;写在前面: 本文章为《ARM Cortex-M4裸机开发篇》系列中的一篇,,全系列总计14篇。笔者使用的开发平台为华清远见FS......
    一个一个解决了。可惜那时候没有想来,记录这个过程。 这次在学习到手册的第六章6.5嵌入式程序移植实例的时候出现了问题。看如下图: target-x86 里面,我一直都没得到 原来的库文件。 这篇《友善......
    方网址。 在rtthread工程中新建文件夹webserver,存放webserver相关文件。 在正点原子例程网络实验10 NETCONN_WEBserver实验中的......
    本文用到的PID等。 在传统的倒立摆实验中,常用的仿真工具组合Matlab+Adams、或者构建一个传递函数在Simulink仿真等,或者直接用单片机搭建一套实物系统,在网......
    OpenHarmony瘦设备内核移植实战(一);背景 在各行各业存在很多不同的智能设备,每个设备都使用芯片去实现不同的业务场景需求。本文将以常用的STM32F407ZG芯片为例,介绍......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>