- 1
- 2
- 3
- 4
- 5
固件RAM不够大数组优化.docx
资料介绍
固件里用了个大数组,RAM不够编译都过不了
一、现象
固件里加了个大数组(比如查表、缓冲、波形),编译时报RAM不够(或链接时超出RAM)。很多人懵了,不知道怎么办。其实RAM不够,很多时候是"大数组放错地方"或"没优化内存"。
二、RAM不够的常见原因
1. 大数组没加const:大数组(查表、缓冲)如果没加const,放RAM(前面聊过常量放Flash省RAM)
2. 全局大数组:大数组声明成全局(一直占RAM),其实可以在需要时才用(或局部)
3. 多个大缓冲重复:多个模块各开大缓冲,重复占用(前面聊过共享缓冲区)
4. 栈太大:局部大数组占栈,栈区要够大(前面聊过)
5. 没考虑对齐/结构体填充:结构体/数组对齐填充浪费(前面聊过)
三、怎么解决RAM不够
1. 大数组加const放Flash:只读的大数组(查表、波形、固定字符串)加const,放Flash省RAM(前面聊过)
2. 减小数组:按"实际需要"开容量,别开太大(前面聊过)
3. 共享缓冲:多个模块的缓冲共用(如果不同时用)(前面聊过)
4. 局部化:能用局部的别全局(栈上、用完释放)(前面聊过)
5. 优化结构体:减少对齐填充(成员按大小排,前面聊过)
6. 看MAP文件:用MAP文件看哪个占了大量RAM,针对性优化(前面聊过)
四、RAM不够的排查顺序
1. 看编译/MAP文件:哪个变量/数组占了大量RAM
2. 找大块:有没有没加const的大数组、全局大数组、多个重复缓冲
3. 优化:加const放Flash、减小容量、共享、局部化、优化结构体
部分文件列表
| 文件名 | 大小 |
| 固件RAM不够大数组优化.docx | 37K |
相关下载
- STM32VET6原理图等等
- OIF发布业界首个共封装标准--3.2T共封装模块...
- 基于STM32单片机的433M无线传输芯片CC1101驱...
- 基于LCD12864显示屏应用设计软件C51单片机例...
- 基于uc3842 multisim14 仿真分析uc3842反激式...
- 基于STC89C52单片机设计电子琴演示板硬件(原...
- 基于STM32单片机+ESP8266WiFi模块与Android A...
- 基于STM32F103单片机智能电表交流电压电流设...
- 基于Altium Designer设计智能小车参考设计原...
- 基于RDA5856TE芯片蓝牙音箱硬件参考设计PADS9...
最新上传
-
yahuang001 打赏3.00元 2天前
-
yahuang001 打赏1.00元 2天前
-
zhongshaoxiong 打赏3.00元 3天前
-
他山之石可攻玉 打赏60.00元 3天前
用户:烟雨
-
江岚 打赏210.00元 3天前
用户:潇潇江南
-
江岚 打赏100.00元 3天前
-
21ic下载 打赏310.00元 3天前
用户:gsy幸运
-
21ic下载 打赏310.00元 3天前
用户:zhengdai
-
21ic下载 打赏310.00元 3天前
用户:江岚
-
21ic下载 打赏210.00元 3天前
用户:潇潇江南
-
21ic下载 打赏60.00元 3天前
用户:他山之石可攻玉
-
21ic下载 打赏60.00元 3天前
用户:烟雨
-
21ic下载 打赏60.00元 3天前
用户:w178191520
-
21ic下载 打赏60.00元 3天前
用户:w993263495
-
21ic下载 打赏110.00元 3天前
用户:xzxbybd
-
21ic下载 打赏60.00元 3天前
用户:zq_1943
-
21ic下载 打赏20.00元 3天前
用户:kk1957135547
-
21ic下载 打赏20.00元 3天前
用户:sun2152
-
21ic下载 打赏20.00元 3天前
用户:铁蛋锅
-
21ic下载 打赏20.00元 3天前
用户:xuzhen1
-
21ic下载 打赏20.00元 3天前
用户:w1966891335
-
21ic下载 打赏35.00元 3天前
用户:有理想666
-
21ic下载 打赏15.00元 3天前
用户:nuaanuaa111
-
21ic下载 打赏20.00元 3天前
用户:liqiang9090
-
21ic下载 打赏15.00元 3天前
用户:ningmengge
-
21ic下载 打赏10.00元 3天前
用户:mulanhk
-
21ic下载 打赏5.00元 3天前
用户:asys
-
21ic下载 打赏10.00元 3天前
用户:舞蹈荀彧
-
21ic小能手 打赏5.00元 3天前
资料:磁编码器开源方案
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
江岚 打赏20.00元 3天前
-
江岚 打赏50.00元 3天前
-
江岚 打赏20.00元 3天前
-
江岚 打赏10.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏8.00元 3天前
-
21ic小能手 打赏8.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏3.00元 3天前




全部评论(0)