全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 可编程逻辑 >

Linux系统中通过预留物理内存实现ARM与FPGA高效通

时间:2025-04-16 13:42

人气:

作者:admin

标签:

导读:在嵌入式系统开发中,ARM 和 FPGA 之间的通信可以使用 ARM 侧的 DDR 作为通道。由于 FPGA 也可以直接访问到 ARM 侧 DDR,但 DDR 作为共享通信时,就不能被操作系统的内存管理子系统管理。因...

应用背景

在开发中, 和 之间的可以使用 ARM 侧的 作为通道。由于 FPGA 也可以直接访问到 ARM 侧 DDR,但 DDR 作为共享通信时,就不能被的内存管理子系统管理。因此,需要预留一部分物理内存,使其不被内核管理。接下来将为大家详细介绍在 系统中通过预留物理内存实现 ARM 与 FPGA 高效通信的方法,预留物理内存包括 memreserve、Linux 内核启动参数 cmdline 和 Linux Reserved-Memory 三种方案。

Linux 内存管理概述

Linux 内存管理的主要目标是满足进程 (Process) 对内存的需求,同时最大限度地利用有限的内存资源。为了实现这个目标,Linux 内存管理采用了一系列的技术和策略,包括虚拟内存 (Virtual Memory)、页式内存管理 (Paging)、交换空间 (Swap Spe) 等。

在 Linux 内存管理内部是一个复杂的系统,由多个组件和子系统构成,共同协作,实现高效的内存使用。其中包含物理内存管理 (Physical Memory Management),虚拟内存管理 (Virtual Memory Management),内存分配器 (Memory Allocator),交换空间管理 (Swap Space Management)。通过内存管理系统,整个物理内存被有效管理。默认情况下,是对整个物理内存进行管理。

为特定的应用或者设备预留一部分物理内存做指定用途,这部分内存不受 Linux 内存系统管理,在需要使用的时候再对这部分内存进行管理,这就是内核中提供的 Reserved Memory 机制。

预留内存三种方法

1. Memreserve

通过设备树的 memreserve 分配的内存,无法再被操作系统使用。因此这种方案不建议在共享 DDR 的方案中使用。如内核源码目录下arch/arm/boot/dts/socfpga_cyclone5.dtsi。

wKgZO2f_Q1GAWYMTAABQKHhIRXw510.jpg

图1 CycloneV SoC 设备树 Memreserve 节点

2. Linux 内核启动参数 cmdline

Linux 内核启动参数 cmdline 提供了启动选项。其中 mem 选项用来设置系统内存的 size,也即操作系统管理的物理内存 size。当 mem 指定的 size 小于实际物理内存 size,剩余的部分不受 Linux 的内存管理系统管理。如 SoC FPGA 有 物理内存,当 mem=3G 时,末尾的 1G 高端内存,不受操作系统管理。

3. Linux Reserved Memory 预留内存机制

Reserved Memory,顾名思义,把系统中的一部分内存保留,内核不会为它建立页表,在内核初始化过程中,解析该 reserved-memory 节点时,会将该段地址从 memblock 模块中移除。一般应用程序不能访问这段内存。如内核源码目录下arch/arm64/boot/dts//socfpga_strax10.dtsi,下图 (图2) 为设备树节点:

wKgZO2f_Q1GAE8MeAACFBrDZdmw937.jpg

图2 设备树节点

关键参数:

通过 reg 参数,指定保存内存的特定范围

通过 no-map,指定操作系统不允许创建虚拟映射

通过 compatible=,这块内存会被用来进行 Contiguous Memory Allocator for

总结

本文主要介绍了 Linux 系统中通过预留物理内存实现 ARM 与 FPGA 高效通信的方法,预留物理内存包括 memreserve、Linux 内核启动参数 cmdline 和 Linux Reserved-Memory 三种方案。但在选择具体实现方式时,应根据系统的动态需求、内存管理要求和硬件特性进行权衡。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信