跟我一起学FPGA (二) 语法讲解 1、Verilog 概述和基础知识;2、Verilog 程序框架和高级知识点;3、Verilog 编程规范。1.Verilog 概述和基础知识Verilog是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能.verilog的逻辑值:逻辑0:表示低电平,也就是对应我们电路的GND;逻辑1:表示高电平,也就是对应我们电路的VCC;逻辑X。
跟我一起学FPGA (一) 创建demo File -》Project -》NEW -》项目名称 ()-》RTL -》next -》next -》选择对应型号(7z010clg400)-》next -》finish。
PCI MSIX中断模式总结 于是调用执行对应的中断服务程序,在中断服务程序中会在Memory中取用已经传输好的数据。2.PCI Device认为前面的数据已成功写入Memory(实际在PCI Bridge等候),于是发起MSI或MSI-X,它其实是1个Memory Write事务,同样在PCI Bridge中排队。其演示的过程背景是:PCI Device先通过PCI Memory Write向Memory传输1段数据,当数据传输完成后发1个中断告诉CPU,让中断程序来处理该数据。
FT2000-4 下QSPI-Flash驱动总结 3. 写 CMD_PORT 寄存器,仅修改[31:24],填入对应 flash 擦除命令,并且置位 bit22 和 bit15。1. 写 CMD_PORT 寄存器,仅修改[31:24],填入对应 flash 写使能命令,并且置位 bit22。3、 写 WR_CFG 寄存器,仅修改[31:24],填入对应 flash 编程命令,并且置位 bit9 及 bit3。1、 写 CMD_PORT 寄存器,仅修改[31:24],填入对应 flash 写使能命令,并且置位 bit22。
Linux Input驱动 向 input 子系统核心层注册好 input_dev 以后,将输入事件上报给 input 子系统核心层,这样 input 子系统核心层才能获取到正确的输入值。input_event 这个结构体来表示所有的输入事件.在include/uapi/linux/input.h。
Linux 异步通知 信号类似于我们硬件上使用的“中断”信号是软件层次上的。算是在软件层次上对中断的一种模拟.异步通知的核心就是信号,在 include/uapi/asm-generic/signal.h除了 SIGKILL(9)和 SIGSTOP(19)这两个信号不能被忽略外,其他的信号都可以忽略。这些信号就相当于中断号,不同的中断号代表了不同的中断,不同的中断所做的处理不同,因此,驱动程序可以通过向应用程序发送不同的信号来实现不同的功能。
Linux阻塞和非阻塞 nfds: 要操作的文件描述符个数。readfds、 writefds 和 exceptfds:这三个指针指向描述符集合,这三个参数指明了关心哪些描述符、需要满足哪些条件等等这三个参数都是 fd_set 类型的, fd_set 类型变量的每一个位都代表了一个文件描述符。只要这些集合里面有一个文件可以读取那么 seclect 就会返回一个大于 0表示文件可以读取。如果没有文件可以读取,那么就会根据 timeout 参数来判断是否超时。
Linux中断驱动 定义在 include/linux/interrupt.haction 成员变量就是软中断的服务函数在 kernel/softirq.c 文件中一共定义了 10 个软中断enum*//* 下一个 tasklet *//* tasklet 状态 *//* 计数器,记录对 tasklet 的引用数 *//* tasklet 执行的函数 *//* 函数 func 的参数 */t:要初始化的 taskletfunc: tasklet 的处理函数。
Linux GPIO驱动 驱动程序中使用 GPIO 之前需要向 gpio 子系统申请,申请成功之后才可以使用,例如设置 GPIO 的输入、输出方向,设置 GPIO 输出高或低电平、读取 GPIO 输入电平等等。
备忘 zynq从sd卡启动 system.bit( pl 端 bitstream 文件, Petalinux工程目录下的 images/linux/system.bit)。system-top.dtb(内核设备树 dtb 文件,内核源码目录 arch/arm/boot/dts/system-top.dtb)、zImage(内核镜像,内核源码目录 arch/arm/boot/zImage)、1.将生成的各种镜像文件拷贝到 SD 启动卡的 FAT 分区,2.根文件系统压缩包文件解压到 SD 启动卡的 EXT4 分区。
Linux 设备树 DTS 即 Device Tree Source 设备树源码,Device Tree 是一种描述硬件的数据结构。1. dts(device tree source)文件对应一个开发板,一般放置在内核的"arch/arm/boot/dts/"目录下:2. dtsi:一些相同的 dts 配置可以抽象到 dtsi 文件中,这个 dtsi 文件其实就类似于 C 语言当中的.h 头文件,用法:3. dtc: device-tree-compiler,就是设备树文件.dts 的编译器。
ko上电自启动—记录 1. 拷贝ko到kernel: sudo cp pcie2rtc.ko /lib/modules/$(uname -r)/kernel/3. (可省略)打开 /etc/modprobe.d/blacklist.conf 文件,并确保你的KO模块未被列入黑名单。如果该文件中存在对你的KO模块的黑名单条目(以 blacklist 开头),请注释掉或删除这些条目。2. 添加配置:sudo vim /etc/modules 添加 pcie2rtc。sudo vim /etc/modules 添加 xx。