嵌入式绘图系统
“嵌入式绘图系统”一词有许多种含义。
首先,不同的人对“嵌入式系统”一词有不同的理解。 对某些人来说,嵌入式系统意味着十分可靠的传统8位微控制器,无操作系统,实际上也无RAM、ROM或GPIO。 对其他人来说,它可能意味着功能强大的现代智能手机。
其次,“绘图系统”一词有许多种解释。 对某些人来说,它表示在喜欢的绘画程序中绘制像素。 对其他人来说,它表示游戏机上运行的3D渲染软件。
对TouchGFX而言,嵌入式系统表示STM32微控制器上的任意系统。 绘图系统表示有用户界面的运行频率为60帧每秒的交互式应用。
四个主要组成部分
为了在此类平台上实现绘图应用,我们考虑四个直接相关的主要组件。 当然,嵌入式系统可能包含许多其他组件,但其他组件与图形显示的相关性较小。
简而言之,TouchGFX使用MCU,通过对闪存中的各个部分进行组合,创建和更新RAM中的图像。 组合图像会被传输到显示屏。 系统会视需要尽可能多地重复此过程。
MCU
在这个过程中,MCU承担了所有重要任务。 它读取闪存中的图像,并将它们写入RAM。 在将半透明红色文本融合到图像上时,它计算得到的色彩并将其存储到RAM。 它对圆的所有像素进行渲染并存储到RAM。 它将图像从RAM传输到显示屏。
STM32 MCU具有特定功能,如LTDC、Chrom-ART、Chrom-GRC等,为绘图系统的实现提供帮助。
Further reading
RAM
所得计算图像(帧缓冲)存储在RAM中。 在更新图形时,MCU对RAM执行读和写操作。 在将所得图像传输给显示屏时,再次执行读操作。
在许多情况下,所得图像被存储在MCU内部的RAM中。 如果将所得图像存储在内部RAM中的方法不可行,可以添加外部RAM。
Further reading
Flash
所有静态数据均存储在闪存中。 图像、字体和文本。 闪存由MCU读取,其内容被写入RAM或与RAM内容进行组合。
在大多数情况下,由于内部闪存很少能够容纳下所有图像资源,因此设置中会增加外部闪存。 对于十分简单的应用,有内部闪存即已足够。
理想的做法是对闪存进行存储器映射,以便从闪存直接读取像素并写入RAM。 或者,如果不对闪存进行存储器映射,可将闪存内容传输到RAM,然后再从RAM读取。
Further reading
显示
显示屏将图像实际显示给人眼。
RAM中存储的计算后的图像(帧缓冲)由MCU按固定时间间隔发送到显示屏。