OpenEdv-开源电子网

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

数组放在flash中和放在ram中速度比较

[复制链接]

30

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
185
金钱
185
注册时间
2020-5-21
在线时间
58 小时
发表于 2021-3-30 16:43:51 | 显示全部楼层 |阅读模式
1金钱
有一个初始化的大尺寸数组,比如 byte a[40*1024]={.....}。这会占用很大的ram空间。如果用const ,编译器就会将其写入flash,这样就不会占用ram空间了吧。但在程序的死循环任务中,这个数组是每次循环都要参与计算的。


所以这样做会不会明显影响计算速度。也就是读flash中的数据,比读ram慢多少。有详细的参数可以查吗? stm32f407的片子。谢谢!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4471
金钱
4471
注册时间
2013-4-22
在线时间
335 小时
发表于 2021-3-30 18:38:42 | 显示全部楼层
干什么能用这么大的数组
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2021-3-31 01:29:57 | 显示全部楼层
自己测试最实在
回复

使用道具 举报

70

主题

6697

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12687
金钱
12687
注册时间
2012-11-26
在线时间
3710 小时
发表于 2021-3-31 08:45:39 | 显示全部楼层
即使存在flash里读取的速度略小于在ram里的速度,但是这么大数组参与运算的时间都远远大于这点时间了吧。还是考虑性价比问题,是空间换时间,还是时间换空间
回复

使用道具 举报

30

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
185
金钱
185
注册时间
2020-5-21
在线时间
58 小时
 楼主| 发表于 2021-3-31 11:20:59 | 显示全部楼层
感谢楼上的解答!像这种情况,一般是作为const 处理。128K内存太小了。
这是一个浮点型的滤波器,很大,有24K个字节。但请教下。这个数组的元素是通过函数生成的,有没有什么工具或方法,可以自动生成数组,我只需要复制下就行。肯定不可能打印出来,再一个个手输吧。谢谢!
回复

使用道具 举报

17

主题

587

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
4467
注册时间
2013-6-27
在线时间
565 小时
发表于 2021-3-31 14:12:52 | 显示全部楼层
wushili 发表于 2021-3-31 11:20
感谢楼上的解答!像这种情况,一般是作为const 处理。128K内存太小了。
这是一个浮点型的滤波器,很大,有 ...

上位机可以使用python辅助处理
实在不行就使用单片机计算 再串口打印数据
让我们的思维驾驭在电的速度之上!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 17:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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