第20篇:Linux设备驱动程序入门<七>

**Q:**如何编写定时器中断驱动内核模块?

**A:**使用在FPGA中实现的间隔定时器FPGA Timer0,寄存器接口基地址为0x00002000,时钟频率100MHz,中断ID为72。调用这个定时器需要向Counter start value寄存器写入适当的值(有两个Counter start value寄存器,一个存储32位定时器值中的高16位,另一个存储低16位);通过程序将TO位写为0,即可将其值清零。如果Control寄存器中的ITO位为1,则每次设置TO位的时候,定时器将产生一个ARM中断。

本次实验编写的定时器中断驱动内核模块可实现在数码管上显示实时时钟,内核模块中使用到一个hardware timer模块,实现持续记录时间的功能,部分代码如下:

启动DE1-SoC-UP Linux系统,执行make命令编译生成模块文件然后加载模块,可观察到DE1-SoC开发板上的七段数码管HEX5~HEX0上显示实时时钟,从00:00:00开始计时,到59:59:99后重新返回00:00:00开始计时;在Terminal上使用rmmod命令移除内核模块后,exit程序会将七段数码管清零。

相关推荐
9527华安8 小时前
Xilinx系列FPGA实现DP1.4视频收发,支持4K60帧分辨率,提供2套工程源码和技术支持
fpga开发·音视频·dp1.4·4k60帧
cycf11 小时前
高速接口基础
fpga开发
forgeda17 小时前
从Vivado集成Lint功能,看FPGA设计的日益ASIC化趋势
fpga开发·vivado·lint·eco·静态检查功能
hexiaoyan8271 天前
国产化FPGA开发板:2050-基于JFMK50T4(XC7A50T)的核心板
fpga开发·工业图像输出·vc709e板卡·zynq 通用计算平台·模拟型号处理
雨洛lhw1 天前
The Xilinx 7 series FPGAs 设计PCB 该选择绑定哪个bank引脚,约束引脚时如何定义引脚电平标准?
fpga开发·bank·电平标准
红糖果仁沙琪玛1 天前
FPGA ad9248驱动
fpga开发
minglie11 天前
XSCT/Vitis 裸机 JTAG 调试与常用命令
fpga开发
沐欣工作室_lvyiyi1 天前
基于FPGA的电梯控制系统设计(论文+源码)
单片机·fpga开发·毕业设计·计算机毕业设计·电子交易系统
阿sir1982 天前
ZYNQ PS XADC读取芯片内部温度值,电压值。
fpga开发
@晓凡2 天前
NIOS ii工程移植路径问题
fpga开发·nios ii