petalinux 保留一段专用内存给你的驱动程序

本文介绍了在PetaLinux系统中为驱动程序或应用程序预留专用内存的方法,包括普通预留、通过DMA API预留和为CMA预留。通过设备树配置,可以创建内存保留区域,然后在驱动程序中使用memremap或ioremap映射。此外,文章还讨论了如何为DMA操作预留内存以及扩展CMA内存池。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在实际应用中,需要保留一段专用内存,给驱动程序或者应用程序,比如给PL 访问的一段内存,用于查表,等等。

本文介绍如何在petalinlux 里实现保留一段内存。在这里我引用原文有3种方式预留内存:普通的,DMA,CMA。我的应用中打算使用普通的,32位方式。但这里3种方式都介绍。

来自参与的问题:https://forums.xilinx.com/t5/Embedded-Linux/Zynq-Petalinux-reserve-a-DDR-memory-region/m-p/1078634#M40548

其中重要的参考来自:https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841683/Linux+Reserved+Memory

 

预留内存

要从系统地址空间保留内存范围,可以在设备树配置中使用保留的内存节点。 每个子节点定义一个特定的内存空间,并且可以根据内核文档中所述可用于保留内存节点的不同参数进行配置。 然后可以通过memory-region参数将保留的存储空间分配给特定的设备驱动程序。

用于64位Cortex-A53 MPSoC的system-top.dts文件中的设备树节点:

reserved-memory {
   #addre
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值