OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2434|回复: 2

FreeRTOS内存堆的问题,求解答

[复制链接]

13

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
153
金钱
153
注册时间
2017-10-29
在线时间
24 小时
发表于 2018-8-3 10:33:11 | 显示全部楼层 |阅读模式
8金钱
1.RAM可以读写,flash也可以擦写,编程。flash的空间比RAM大那么多,FreeRTOS为什么要定义一个数组,要一块儿RAM作为内存堆。为什么不const一下,在flash中要一块儿空间作为内存堆呢?这样内存堆的空间不是更大吗?
2.RAM可以读写,flash也可以读写。RAM的内容是在flash中程序运行的过程中进行读写的,flash中的内容则是利用电脑对它进行读写。这两种读写方式差别大吗?物理方面来看的话。
3.单片机可以用IAP方式对flash进行擦写,这种方式好像操作一些寄存器就可以在原程序的基础上再往flash中写入新的内容了。FreeRTOS为什么不能在flash里面定义一个内存堆,也按这种方式读写flash,功能不是也和RAM一样吗?

最佳答案

查看完整内容[请看2#楼]

1、flash擦写有寿命限制,而且flash擦写速度比不上ram。而且,定义的数组不一定要用ram作为堆,还可以用外部sram。另外,const定义的数组内容可以改变吗? 2、你需要了解一下什么是ram,什么是flash。 3、看1、
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

64

主题

446

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1032
金钱
1032
注册时间
2017-7-26
在线时间
275 小时
发表于 2018-8-3 10:33:12 | 显示全部楼层
1、flash擦写有寿命限制,而且flash擦写速度比不上ram。而且,定义的数组不一定要用ram作为堆,还可以用外部sram。另外,const定义的数组内容可以改变吗?

2、你需要了解一下什么是ram,什么是flash。

3、看1、
回复

使用道具 举报

7

主题

200

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1279
金钱
1279
注册时间
2017-7-18
在线时间
257 小时
发表于 2018-8-3 10:42:47 | 显示全部楼层
有的单片机好像还不支持IAP吧,而且擦写flash的速度明显比读写ram的速度慢,一般变量还是放在ram中的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-18 03:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表