第3篇:Linux程序访问控制FPGA端LEDR<一>

**Q:**如何在DE1-SoC-UP Linux系统中访问控制FPGA端外设呢?

**A:**DE1-SoC-UP Linux系统启动的过程中会自动配置Cyclone V SoC FPGA,系统将SoC设备配置到DE1-SoC_Computer系统的电路,其中包含一个双核ARM Cortex-A9处理器,以及与DE1-SoC板上的外设如SW、LED、Button、VGA等IP核。

在DE1-SoC-UP-Linux操作系统里,运行在ARM A9处理器上的程序可以访问FPGA端的硬件外设如LED、HEX和开关等。ARM处理器通过HPS-to-FPGA或Lightweight HPS-to-FPGA桥接器访问FPGA,这些桥被映射到ARM内存空间中的区域。当FPGA端组件(如IP核)连接到桥接器时,ARM处理器在桥接器内存区域内读写组件的内存映射寄存器。

要从Linux程序访问物理内存地址,必须调用Linux内核函数mmap并访问系统内存设备文件/dev/mem。mmap函数代表内存映射,它将文件映射到虚拟内存中。系统内存设备文件/dev/mem代表计算机系统的物理内存,在某个偏移处访问此文件相当于在偏移地址处访问物理内存。通过使用mmap将/dev/mem文件映射到虚拟内存中,可以将物理地址映射到虚拟地址,从而允许程序访问物理地址。

相关推荐
dadaobusi7 分钟前
100MHz/125MHz
fpga开发
unicrom_深圳市由你创科技12 分钟前
如何做FPGA的模块划分?
fpga开发
szxinmai主板定制专家18 小时前
RK3568 + CODESYS+实时系统运动控制器PLC,支持 AI 视觉目标检测,预测性维护,混合多系统部署,多路模拟量采集
arm开发·人工智能·嵌入式硬件·fpga开发
GateWorld21 小时前
LCD显示技术完全指南:原理·制造·驱动·FPGA实现之驱动二
fpga开发·lcd显示·fpga点亮屏幕·minilvds
『昊纸』℃1 天前
一篇读懂C语言
c语言·编程语言·嵌入式系统·系统编程·历史发展
GateWorld1 天前
LCD显示技术完全指南:原理·制造·驱动·FPGA实现之驱动一
fpga开发·lcd显示·minilvds·fpga点屏
XMAIPC_Robot1 天前
深度无人机自动驾驶仪,中小型无人机硬件在环仿真飞行
运维·arm开发·人工智能·fpga开发·无人机·边缘计算
小眼睛FPGA2 天前
【紫光HiYou开源入门轻量级PCIE开发板PG2L25G】实验例程1-基于紫光FPGA 的LED 流水灯
fpga开发
不会武功的火柴2 天前
SystemVerilog语法(8)-有限状态机(FSM)
嵌入式硬件·fpga开发·自动化·ic验证·rtl·uvm方法学
Kent Gu2 天前
Lattice FPGA选型
fpga开发