客户在使用 TouchGFX开发 GUI应用的时候, 需要很多的图片资源来呈现友好的人机交互功能, 因此外扩了一个 FLASH来存储图片资源. 在软件研发后期发现现有的 FLASH存储空间不够, 因此提出是否可以使用 TouchGFX来减少图片资源的存储空间且实现同样的 UI效果.9 Z4 x: I+ n2 x9 d2 D, M, e
01调研+ }6 V3 ^' f! V- W6 M8 K # 在硬件方面 0 G5 P, }- n `/ ` 3 {4 K. p, x' n MCU 的图像处理加速器DMA2D 中的调色板的颜色格式 , 支持 L8 格式的图层之间的渲染:
# 从软件方面" B; L" k# V/ P 最新的 TouchGFX4.12.3 开始, 可以利用了 DMA2D 的调色板功能对图片的资源进行优化 .! f1 g& q$ B! L* g) k y0 w) s; e # 比如下图(宽 x 高=200x200) 5 s! s) G/ u7 E' m' } 4 Q0 ?& a2 O/ E! c3 d% y 1. 这幅图是由 256 种颜色组成的. 2. 且每种颜色都针对图像进行了优化.! J8 ^" T% I9 f 3. 256 种索引颜色中的每一种都是 24 位颜色.7 R9 E1 @5 v( e, Z% S) `9 h8 \
! s- X0 l$ m* L0 a0 D 1. L8_ARGB8888 :4 O* Q: q- c5 H0 j! m4 K3 U( y 200x200x1byte+256x4byte=41024bytes =>200x200 个 8bit 的颜色索引+256 个 32bit& b x! [8 a/ L/ E$ q5 b
* s8 ?: j0 m* N9 r0 x7 { 2. ARGB8888 :0 Y' J" G) G4 z* g& G1 W' P" U) E! i 200x200x4byte=160000bytes.& E- b3 R$ C) f* X6 K, B =>200x200 个 32bit 的颜色9 D* b# o3 [3 r" Y & |3 G A7 P9 g6 y2 X: i4 ? 在 TouchGFX 中使用 L8 Image ,只需要将 L8 的图片拖入到 TouchGFX Designer 中,然后在Image 页面中选择正确的格式 :
注意 :如果图片超过 256 颜色,转换工具就会报错,因此可以使用图片工具(如 . H/ z/ O! g" M" v# J1 B7 _5 s0 q# W paint.net/imagemagick)将颜色数减少至少于 256 色 :! j: L. D! m8 u7 a, D* H0 Z& G " U) Z8 F* V: E ; i5 g& f5 b+ s8 j( K: U Paint.net:# h* I& H: Y" m" Z7 J& b
02结论 / J1 k6 T* z) `5 R1 x 图像使用 L8 格式时占用的 flash 大小显著低于标准 24 位格式(RGB888)的原始图像。下表列出了这三种不同调色板格式的具体图像的 flash 使用情况(图片分辨率 200x200):
综上可以看出,采用 TouchGFX4.12.3+L8 格式 :# ]* _. F: l! L( h/ w; E. q- l6 y . J- j6 ?+ a* \3 g1 S9 C8 c8 c 1. 相比较 ARGB8888 像素格式, L8 大幅降低了资源文件的大小, 从而降低对存储芯片的需求 . 2. 同时由于图片像素信息大幅减少,读写一张图片的速度也大大提高, 也提高了系统实时性能.9 k2 G) @; |9 K' C1 ` 03处理* {- [- @3 O7 i2 U3 d7 m: f ( A6 }/ z: O7 `: q2 h% T 因此我们建议客户选择使用 TouchGFX4.12.3+L8 的功能,通过重新优化部分资源文件,减少图片资源的存储空间来实现客户的 UI 效果,并且改善了系统的实时性能. + D4 Q c: I7 D3 ]: t |
学习![]() |
架构革新篇:单芯片 GUI 方案原理与核心优化技术
STM32 GUI 图形方案,带你解锁嵌入式界面开发新思路
4-开发生态篇:TouchGFX+STM32Cube 一站式 GUI 落地流程
3-产品选型篇:全系列 STM32 GUI 专用 MCU 分级选型表
2-架构革新篇:STM32单芯片嵌入式GUI核心技术原理与性能优势
【福利三:逢7发帖赢大礼】使用MPU6050模块、img_dsc、img_btn机制实现一些简单有趣的动画效果
【福利三:逢7发帖赢大礼】使用arc弧形拉条控件控制PWM舵机及使用SPI3接口操作NRF24L01模块进行无线通信
1-趋势痛点篇:嵌入式 GUI 爆发,传统外挂存储架构的多重工程瓶颈
告别外置存储!大容量内存单芯片MCU,重塑新一代嵌入式GUI
【福利三:逢7发帖赢大礼】调试nucleo-WBA65RI工程测试样板的一些心得
微信公众号
手机版