打印
[应用相关]

DMA开辟缓存怎么使用动态内存

[复制链接]
459|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xxrs|  楼主 | 2019-12-1 16:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
开辟20kb左右的缓存空间,如果直接用全局变量数组,在不需要用到DMA时,那这20k的内存就一直不能释放,好浪费。若使用malloc来开辟动态内存,应该是放在堆区吧?

使用特权

评论回复
沙发
chuxh| | 2019-12-1 16:10 | 只看该作者
堆区不是默认只有512字节?

使用特权

评论回复
板凳
xxrs|  楼主 | 2019-12-1 16:15 | 只看该作者
是啊,还要修改启动文件的堆大小?

使用特权

评论回复
地板
stly| | 2019-12-1 16:18 | 只看该作者
DMADMA直接内存存取原理是指外部设备不通过CPU而直接与系统内存交换数据的接口技术

使用特权

评论回复
5
香水城| | 2019-12-2 14:42 | 只看该作者
是的。

使用特权

评论回复
6
gongche| | 2019-12-13 19:01 | 只看该作者
要把外设的数据读入内存或把内存的数据传送到外设,一般都要通过CPU控制完成,如CPU程序查询或中断方式。利用中断进行数据传送,可以大大提高CPU的利用率。

使用特权

评论回复
7
tian111| | 2019-12-13 19:12 | 只看该作者
采用中断传送有它的缺点,对于一个高速I/O设备,以及批量交换数据的情况,只能采用DMA方式,才能解决效率和速度问题。DMA在外设与内存间直接进行数据交换,而不通过CPU,这样数据传送的速度就取决于存储器和外设的工作速度。

使用特权

评论回复
8
bqyj| | 2019-12-13 19:18 | 只看该作者
可以自己写个管理的程序就是了

使用特权

评论回复
9
磨砂| | 2020-1-4 11:09 | 只看该作者
动态的会不会发生数据变化呢

使用特权

评论回复
10
晓伍| | 2020-1-4 11:11 | 只看该作者
讨论的好高深 有点看不懂啊

使用特权

评论回复
11
八层楼| | 2020-1-4 11:40 | 只看该作者
长知识了 感谢各位的讨论

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

405

主题

7415

帖子

1

粉丝