发布时间:2026/7/17 5:59:57
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/7/17 5:59:57

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

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

2026/7/17 5:59:57

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

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

2026/7/17 5:59:57

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

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

2026/7/17 7:10:00

AI Specs与OpenSpec:智能规格说明驱动的开发实践

1. 为什么我们需要AI Specs?在软件开发领域,规格说明(Specs)一直是个让人又爱又恨的存在。作为从业15年的全栈工程师,我见过太多因为Spec不清晰导致的返工案例。传统Spec编写有几个痛点:耗时耗力、容易过时…

2026/7/17 7:10:00

C++奖学金评定系统:从业务规则到代码的完整实现与算法解析

1. 项目概述与核心价值最近在整理大学时期的项目代码,翻到了一个当年花了不少心思的“奖学金评定系统”。这玩意儿虽然现在看代码可能有点稚嫩,但整个设计思路和实现过程,对于理解如何用C处理一个具体的、有复杂业务规则的管理系统&#xff0…

2026/7/17 7:10:00

AI赋能:从工具到思维革命的全方位实践指南

1. AI赋能的基础认知:从工具到思维革命第一次接触AI工具时,我和大多数人一样,只是把它当作一个能自动生成文本的"高级打字机"。直到ChatGPT帮我完成了耗时三天的行业分析报告,我才真正意识到:AI不是简单的效…

2026/7/17 7:10:00

C++20与OpenCV实战:构建游戏自动化助手MAA的技术解析

1. 项目概述:从玩家痛点到一个自动化助手的诞生玩《明日方舟》的朋友,尤其是开服老咸鱼,肯定对日复一日的“清日常”深有体会。基建收菜、制造站换班、公招识别、刷1-7,这些操作机械重复,耗时耗力,但又不得…

2026/7/17 7:10:00

Codex的Chronicle功能解析:屏幕截取与上下文增强

1. Codex的Chronicle功能:屏幕截取与上下文增强解析OpenAI近期为Codex推出的Chronicle功能,本质上是通过后台持续截取用户屏幕画面,建立视觉记忆库来增强AI的上下文理解能力。这个功能的底层逻辑是解决传统对话式AI的"上下文断裂"问…

2026/7/17 7:04:59

扩散模型如何让VLA推理快100倍:具身智能实时性突破

1. 项目概述:这不是速度“宣传稿”,而是我在具身智能实验室里掐着秒表跑出来的实测结论VLA——视觉-语言-动作联合模型,最近半年在机器人、具身智能、工业自动化这些硬核场景里突然火得发烫。但很多人一聊VLA,张口就是“端到端”“…

2026/7/17 5:59:06

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/17 1:21:45

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/15 23:18:22

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/17 0:04:23

BiSheng JDK-build性能调优:构建速度提升30%的优化策略

BiSheng JDK-build性能调优:构建速度提升30%的优化策略 【免费下载链接】bishengjdk-build BiSheng JDK build and test scripts - common across all releases/versions 项目地址: https://gitcode.com/openeuler/bishengjdk-build 前往项目官网免费下载&am…

2026/7/16 13:58:36

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…