移植emWin到STM32—8080并口

本文详细介绍了如何将emWin图形库移植到STM32开发板上,特别是针对8080并口液晶显示的配置步骤,包括内存管理、操作系统接口、内存分配、显示驱动接口的配置,以及相关配置文件和宏的设定,旨在帮助开发者理解emWin移植过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要使emWin在特定的硬件平台上运行,需要为emWin提供与底层硬件操作相关的函数接口,主要为内存管理接口、液晶驱动接口和触摸屏接口。

本章以配套例程“FreeRTOS_STemWIN544_移植模版”为例,对emWin的执行过程和移植步骤进行解构,阅读时请打开该工程配套学习。

本章第1、2、3小节适用于野火STM32全系列开发板,第4、5、6小节适用于显示接口为8080并口(mini、指南者、霸道、霸天虎)的开发板, 适用于RGB接口开发板(F4F7H7挑战者、H743H750 Pro)的移植过程单独放到下一章。

emWin的初始化
在移植emWin之前,我们需要了解它的初始化过程以及它依赖的硬件接口。

相信读者已经通过上一章的emWin仿真教程章节知道,在使用emWin前,都要先调用GUI_Init函数初始化emWin运行所需要的环境, 在这个GUI_Init函数里,调用了emWin底层的配置函数,见图 emWin初始化流程 。 它按顺序分别调用了GUI_X_Config、LCD_X_Config及LCD_X_DisplayDriver函数,完成了存储器分配、屏幕类型配置及初始化液晶驱动的工作。 这些函数在前面的emWin仿真章节已经简要介绍过,在Win32仿真环境下的这些函数,已由Segger官方配置过,我们无需修改也能正常运行, 而在嵌入式平台上,就必须修改这几个函数,以适应特定平台的需求。
在这里插入图片描述
除了上述函数的修改,还有一些emWin配置文件和操作系统接口相关文件的修改,综合各文件和配置的修改情况,可整理出移植emWin所需要的配置:

配置系统功能
在emWin启动前需要对其功能进行适当的配置,它们的代码位于GUIConf.h文件中,见 代码清单:8080并口-1 。

#ifndef GUICONF_H
#define GUICONF_H

/*********************************************************************
*
*       Multi layer/display support
*/
#define GUI_NUM_LAYERS            2    // Maximum number of available (1)
layers

/*********************************************************************
*
*       Multi tasking support
*/
#ifdef OS_SUPPORT
#define GUI_OS                    (1)  // Compile with multitasking   (2)
                                support
#else
#define GUI_OS                    (0)
#endif

/*********************************************************************
*
*       Configuration of touch support
*/
#ifndef   GUI_SUPPORT_TOUCH
#define GUI_SUPPORT_TOUCH       (1)  // Support touchscreen           (3)
#endif

/*********************************************************************
*
*       Default font
*/
#define GUI_DEFAULT_FONT          &GUI_Font6x8                        (4)

/*********************************************************************
*
*         Configuration of available packages
*/
#define GUI_SUPPORT_MOUSE             (1)    /* Support a mouse */    (5)
#define GUI_WINSUPPORT                (1)    /* Use window manager */ (6)
#define GUI_SUPPORT_MEMDEV            (1)    /* Memory device package (7)
                                    available */
#define GUI_SUPPORT_DEVICES           (1)    /* Enable use of device  (8)
                                    pointers */

/*********************************************************************
*
*       External memory 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值