LVGL 9.5.0 嵌入式32位mcu的 ram/rom 精简

发布时间:2026/11/5 9:49:21

LVGL 9.5.0 嵌入式32位mcu的 ram/rom 精简 为了让lvgl可以在flash只有256KB的mcu上使用所以在lv_conf.h中做以下调整关于RAM运行内存只需要修改一处 LV_MEM_SIZE 默认是 (64 * 1024U) 我改成了(10* 1024U) 也就是10kb根据你自己情况调整。#if LV_USE_STDLIB_MALLOC LV_STDLIB_BUILTIN /** Size of memory available for lv_malloc() in bytes ( 2kB) */ #define LV_MEM_SIZE (10 * 1024U) /** [bytes] */ /** Size of the memory expand for lv_malloc() in bytes */ #define LV_MEM_POOL_EXPAND_SIZE 0 /** Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too. */ #define LV_MEM_ADR 0 /** 0: unused*/ /* Instead of an address give a memory allocator that will be called to get a memory pool for LVGL. E.g. my_malloc */ #if LV_MEM_ADR 0 #undef LV_MEM_POOL_INCLUDE #undef LV_MEM_POOL_ALLOC #endif #endif /*LV_USE_STDLIB_MALLOC LV_STDLIB_BUILTIN*/关于Flash内存1.颜色格式精简 比如说ST7789用的是RGB565颜色格式那么把其他颜色格式改成0。#define LV_DRAW_SW_SUPPORT_RGB565 1 #define LV_DRAW_SW_SUPPORT_RGB565_SWAPPED 1 #define LV_DRAW_SW_SUPPORT_RGB565A8 0 #define LV_DRAW_SW_SUPPORT_RGB888 0 #define LV_DRAW_SW_SUPPORT_XRGB8888 0 #define LV_DRAW_SW_SUPPORT_ARGB8888 0 #define LV_DRAW_SW_SUPPORT_ARGB8888_PREMULTIPLIED 0 #define LV_DRAW_SW_SUPPORT_L8 0 #define LV_DRAW_SW_SUPPORT_AL88 0 #define LV_DRAW_SW_SUPPORT_A8 0 #define LV_DRAW_SW_SUPPORT_I1 0 //复杂渲染 阴影圆角等要不要开看你自己选择 #define LV_DRAW_SW_COMPLEX 12. UI组件精简:#define LV_USE_ANIMIMG 1 #define LV_USE_ARC 1 #define LV_USE_ARCLABEL 1 #define LV_USE_BAR 1 #define LV_USE_BUTTON 1 #define LV_USE_BUTTONMATRIX 0 //按钮矩阵 非触摸屏应用一般也用不着。 #define LV_USE_CALENDAR 0 //日历一般用不着。 #define LV_USE_CANVAS 1 #define LV_USE_CHART 0 //图表轻应用一般也用不着也可以自己用canvas实现。 #define LV_USE_CHECKBOX 0 //复选框非触摸屏应用一般也用不着。 #define LV_USE_DROPDOWN 0 //展开选择框非触摸屏应用一般也用不着。 #define LV_USE_IMAGE 1 #define LV_USE_IMAGEBUTTON 0 #define LV_USE_KEYBOARD 0 //键盘用不着。 #define LV_USE_LABEL 1 #define LV_USE_LED 1 #define LV_USE_LINE 1 #define LV_USE_LIST 1 #define LV_USE_LOTTIE 0 //LOTTIE动画用不着 #define LV_USE_MENU 1 #define LV_USE_MSGBOX 0 //消息提示框非触摸屏应用一般也用不着。 #define LV_USE_ROLLER 0 #define LV_USE_SCALE 0 //尺子非触摸屏应用一般也用不着。 #define LV_USE_SLIDER 0 //滑条非触摸屏应用一般也用不着。 #define LV_USE_SPAN 1 #define LV_USE_SPINBOX 0 #define LV_USE_SPINNER 0 #define LV_USE_SWITCH 1 #define LV_USE_TABLE 0 #define LV_USE_TABVIEW 1 #define LV_USE_TILEVIEW 1 #define LV_USE_WIN 1最后精简的flash占用大概120KB左右精简前占用240KB。
延伸阅读

更多相关文章

2026/10/25 11:53:41

Ollama-Python本地大模型调用:从安装到流式处理的完整指南

你有没有遇到过这样的情况:本地部署了一个大模型,想在自己的 Python 项目里调用,结果发现要么是接口太复杂,要么是文档看不懂,要么是各种依赖冲突?我最近在帮团队整合本地 AI 能力时就遇到了这个痛点——直…

2026/10/28 12:40:48

STM32 PWM蓝牙无线调光实战:从原理到物联网应用

在实际嵌入式开发和硬件控制项目中,PWM(脉冲宽度调制)是一种基础且强大的信号调制技术,它通过调节脉冲的占空比来控制平均电压,从而实现对电机速度、LED亮度、舵机角度等设备的精确控制。而“bule”这个关键词&#xf…

2026/11/4 22:44:20

C++自定义容器开发指南:从设计到实现的高性能数据结构实践

1. 项目概述:为什么我们需要自定义容器?在C的日常开发中,std::vector、std::map、std::list这些标准库容器几乎是我们的左膀右臂。它们稳定、高效,经过了千锤百炼。那么,为什么我们还要费时费力地去实现一个自己的容器…

2026/11/5 9:48:36

【亲测免费】 CodiumAI PR-Agent:重塑代码审查的未来

CodiumAI PR-Agent:重塑代码审查的未来 【免费下载链接】pr-agent 🚀 PR Agent: The Original Open-Source PR Reviewer. This project is not the Qodo free tier. 项目地址: https://gitcode.com/GitHub_Trending/pr/pr-agent 随着软件开发日新…

2026/11/5 9:48:36

【亲测免费】 Distil-Whisper: distil-large-v2的安装与使用教程

Distil-Whisper: distil-large-v2的安装与使用教程 【免费下载链接】distil-large-v2 项目地址: https://ai.gitcode.com/hf_mirrors/distil-whisper/distil-large-v2 引言 随着语音识别技术在各个领域的广泛应用,高效、准确的语音识别模型成为了研究人员和…

2026/11/5 9:48:36

提升PR效率10倍:CodiumAI PR-Agent代码建议功能深度剖析

提升PR效率10倍:CodiumAI PR-Agent代码建议功能深度剖析 【免费下载链接】pr-agent 🚀 PR Agent: The Original Open-Source PR Reviewer. This project is not the Qodo free tier. 项目地址: https://gitcode.com/GitHub_Trending/pr/pr-agent …

2026/11/5 9:43:35

HVAC温度采集实战:ADS122U04+PIC18LF47K42完整方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 9:43:35

UART接口24位ADC在工业温度采集中的工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 0:02:07

多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中…

2026/11/5 0:02:07

大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#…

2026/11/5 0:02:07

鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑