第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文件映射到虚拟内存中,可以将物理地址映射到虚拟地址,从而允许程序访问物理地址。

相关推荐
XINVRY-FPGA14 小时前
XC7VX690T-2FFG1157I Xilinx AMD Virtex-7 FPGA
arm开发·人工智能·嵌入式硬件·深度学习·fpga开发·硬件工程·fpga
Terasic友晶科技16 小时前
【案例展示】友晶科技全息传感器桥接解决方案
科技·fpga开发·holoscan·agilex 5·terasic
学习永无止境@16 小时前
Verilog中有符号数计算
图像处理·算法·fpga开发
学习永无止境@17 小时前
Sobel边缘检测的MATLAB实现
图像处理·opencv·算法·计算机视觉·fpga开发
fei_sun19 小时前
数字芯片流程
fpga开发
YaraMemo19 小时前
射频链的构成
5g·fpga开发·信息与通信·信号处理·射频工程
fei_sun20 小时前
逻辑设计工程技术基础
fpga开发
fei_sun20 小时前
有限状态机设计基础
fpga开发
HIZYUAN20 小时前
AG32 MCU可以替代STM32+CPLD吗 (二)
stm32·单片机·嵌入式硬件·fpga开发·agm ag32·国产mcu+fpga·低成本soc
FPGA-ADDA1 天前
第一篇:软件无线电(SDR)概念与架构演进
fpga开发·信号处理·软件无线电·rfsoc·47dr