消费级MCU如何管理内存

1、问题

(1)消费级MCU的RAM 都只有几 kB 甚至几百字节,所以需要精打细算。

(2)明确问题是如何管理堆内存,还是如何对内存精打细算的使用,

2、51内核单片机

3、Cortex-M0单品机

(1)内存包括栈内存、堆内存、全局的变量等数据段所占的内存。

(2)栈空间的节省:看实际 SP 走到哪里,再把 stack 压到最小。

(3)能用局部变量的就不用全局变量,局部变量用完就出栈。

(4)变量能用8位的就不用32位的;结构体按1字节对齐,不用为了提高效率而使用内存4字节对齐。

(5)常量使用const或宏定义,让这些东西存在flash中。

(6)通信缓冲区"分时复用"------UART、SPI、I²C 不要各开各的,只留一个最大帧长。

(7)编译器的优化等。

注:需要留有一定冗余,往后需要更新升级。

相关推荐
Wave8451 小时前
从单片机开发看透网络底层:Wi-Fi、TCP/IP 与 HTTP 的通俗解析
网络·单片机·tcp/ip
玩转单片机与嵌入式3 小时前
不会 Python、不会深度学习,也能在STM32上跑AI模型吗?
人工智能·单片机·嵌入式硬件·嵌入式ai
jghhh014 小时前
基于STM32的桌面Mini时钟设计
stm32·单片机·嵌入式硬件
电化学仪器白超4 小时前
小乌龟Git全程图形化操作指南:嵌入式本地版本管理与Gitee私有云备份实战
git·python·单片机·嵌入式硬件·物联网·gitee·自动化
yong99906 小时前
基于STM32 Nucleo板的彩色LED照明灯设计(纯CubeMX开发)
stm32·单片机·嵌入式硬件
独小乐6 小时前
019.ADC转换和子中断|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·驱动开发·笔记·嵌入式硬件·mcu·arm
lingzhilab7 小时前
零知派——STM32驱动INA219电流功率监测计实现高精度电源管理
stm32·单片机·嵌入式硬件
QH139292318809 小时前
KEYSIGHT N9030B PXA信号/频谱分析仪
科技·嵌入式硬件·集成测试
Shang1809893572610 小时前
T31ZX 君正/INGENIC智能视频处理器T31ZX可提供软硬件资料T31Z采用先进的低功耗设计
嵌入式硬件·fpga开发·音视频·t31zx智能视频处理器
ahccqw10 小时前
CAN总线通信入门及实例代码(stm32f4系列)
stm32·单片机·嵌入式硬件