消费级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)编译器的优化等。

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

相关推荐
Brilliantwxx1 分钟前
【STM32】 __weak 弱引用、中断标志位、异常处理与 HAL_Delay 优先级
开发语言·stm32·单片机·嵌入式硬件
离凌寒2 小时前
一、关于正点原子stm32mp157上的hdmi显示效果补充演示
stm32·单片机·嵌入式硬件
iCxhust8 小时前
51单片机电力载波应用开发(4)单片机发PC端接收
单片机·嵌入式硬件·51单片机
国科安芯11 小时前
断电也隔离、听得真:ASL3159S 单通道 SPDT 模拟开关的“断电保护 + 音频保真“账
单片机·嵌入式硬件·安全·商业航天·抗辐射
自小吃多11 小时前
【Verilog/FPGA】存储器(数组)
嵌入式硬件·fpga开发
szxinmai主板定制专家11 小时前
RK3588+FPGA异构架构|高速数据采集+边缘AI落地应用全解析
人工智能·嵌入式硬件·fpga开发·架构·zynq
jianqiang.xue11 小时前
【CStackGUI 实战】深色主题终端:app.dark 默认深色 + 顶层命名样式表 + 运行时切换
单片机·嵌入式·cstackgui·c语言gui·可视化拖拽
M78佐菲11 小时前
ARM学习笔记(11)
linux·arm开发·笔记·嵌入式硬件·学习
M78佐菲11 小时前
ARM学习笔记(10)
linux·arm开发·笔记·嵌入式硬件·学习
小程序设计12 小时前
基于STM32的智慧厨房多参数安全监测与预警系统设计
stm32·嵌入式硬件·安全