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

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

相关推荐
余生皆假期-12 分钟前
SVPWM 扇区判断法和七段式实现
单片机·嵌入式硬件
v先v关v住v获v取16 分钟前
番茄打浆机结构设计cad13+三维图+设计说明说
科技·单片机·51单片机
CQ_YM29 分钟前
网络编程之UDP
linux·c语言·网络·单片机·udp
小刘爱玩单片机31 分钟前
【stm32简单外设篇】- ESP8266 Wi-Fi 模块(ESP-01系列)
c语言·stm32·单片机·嵌入式硬件
点灯master34 分钟前
miniOTA:32位mcu平台OTA升级
单片机·嵌入式硬件
qqssss121dfd35 分钟前
计算机网络(第8版,谢希仁)第四章习题解答
服务器·c语言·网络·单片机·计算机网络
HarrySunCn36 分钟前
大夏龙雀DX-CT511N-B实战之路-第1步
前端·单片机·物联网·iot
田甲1 小时前
STM32L051实现RTC低功耗唤醒
stm32·嵌入式硬件·实时音视频
清月电子10 小时前
杰理AC109N系列AC1082 AC1074 AC1090 芯片停产替代及资料说明
人工智能·单片机·嵌入式硬件·物联网