在实际应用中,需要保留一段专用内存,给驱动程序或者应用程序,比如给PL 访问的一段内存,用于查表,等等。
本文介绍如何在petalinlux 里实现保留一段内存。在这里我引用原文有3种方式预留内存:普通的,DMA,CMA。我的应用中打算使用普通的,32位方式。但这里3种方式都介绍。
其中重要的参考来自: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