摘要:
在Linux系统中,驱动程序属于内核态程序,可以认为它是介于操作系统和硬件实体之间的一层,对上负责与操作系统交流,对下负责控制硬件设备。 即,驱动程序对操作系统通过软件接口进行沟通,对芯片硬件通过读写寄存器进行控制。Linux系统的驱动由内核模块(Loadable Kernel Module,简称L 阅读全文
摘要:
在前面“嵌入式Linux中字符型驱动程序的基本框架”一文中,讨论了一个字符型驱动的基本框架,但没有实现具体的驱动任务。这里就以野火STM32MP157开发板为例,通过编写一个实际的驱动程序去控制开发板上三个LED的亮灭。 先来看一下LED部分的电路原理图,如下所示。 从上图中可以看到,三个RGB颜色 阅读全文
摘要:
一、电路模块 电路模块参见“基于EP4CE6F17C8的FPGA矩阵键盘实例”部分。 二、实验代码 本例使用6个数码管依次显示按下按键的键值,每位显示的值可从0~F,对应16个矩阵按键。按键reset为复位键,代码使用Verilog编写,具体如下。 先编写数码管实现显示字形解码的程序,模块名称为se 阅读全文
摘要:
一、电路模块 1、数码管 开发板板载了6个数码管,全部为共阳型,原理图如下图所示,段码端引脚为DIG[0]~DIG[7]共8位(包含小数点),位选端引脚为SEL[0]~SEL[5]共6位。端口均为低电平有效。 其实物图如下所示。 数码管引脚分配见下表。 2、时钟晶振 开发板板载了一个50MHz的有源 阅读全文
摘要:
一、电路模块 1、数码管 开发板板载了6个数码管,全部为共阳型,原理图如下图所示,段码端引脚为DIG[0]~DIG[7]共8位(包含小数点),位选端引脚为SEL[0]~SEL[5]共6位。端口均为低电平有效。 其实物图如下所示。 数码管引脚分配见下表。 2、时钟晶振 开发板板载了一个50MHz的有源 阅读全文
摘要:
一、电路模块 1、LED 开发板板载了4个用户LED发光二极管,其原理图如下所示,当 FPGA的引脚输出为逻辑 0时,LED会熄灭。输出为逻辑1时,LED被点亮。 其实物图如下所示。 LED的引脚分配见下表。 2、时钟晶振 开发板板载了一个50MHz的有源晶振,为系统提供时钟。 其实物图如下所示。 阅读全文
摘要:
一、电路模块 本例的电路模块与“基于EP4CE6F17C8的FPGA数码管动态显示实例”中的完全一样,此处就不再给出了。 二、实验代码 本例使用6个数码管显示时钟的时、分、秒,时与分之间及分与秒之间通过小数点来分隔,代码使用Verilog编写,采用例化的形式,使用了两种方式来实现。 第一种方式,共有 阅读全文
摘要:
一、电路模块 本例的电路模块与“基于EP4CE6F17C8的FPGA数码管动态显示实例”中的完全一样,此处就不再给出了。 二、实验代码 本例实现2个数码管循环显示00~59,显示间隔为1秒,代码使用Verilog编写,采用例化的形式,共有三个文件。 先编写数码管实现显示字形解码的程序,模块名称为se 阅读全文
摘要:
一、电路模块 本例的电路模块与“基于EP4CE6F17C8的FPGA数码管动态显示实例”中的完全一样,此处就不再给出了。 二、实验代码 本例实现1个数码管循环显示字符1~F,显示间隔为1秒,代码使用Verilog编写,采用例化的形式,共有三个文件。 先编写数码管实现显示字形解码的程序,模块名称为se 阅读全文
摘要:
一、电路模块 1、数码管 开发板板载了6个数码管,全部为共阳型,原理图如下图所示,段码端引脚为DIG[0]~DIG[7]共8位(包含小数点),位选端引脚为SEL[0]~SEL[5]共6位。端口均为低电平有效。 其实物图如下所示。 数码管引脚分配见下表。 2、时钟晶振 开发板板载了一个50MHz的有源 阅读全文