- 博客(28)
- 收藏
- 关注
原创 跟我一起学FPGA (二) 语法讲解
1、Verilog 概述和基础知识;2、Verilog 程序框架和高级知识点;3、Verilog 编程规范。1.Verilog 概述和基础知识Verilog是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能.verilog的逻辑值:逻辑0:表示低电平,也就是对应我们电路的GND;逻辑1:表示高电平,也就是对应我们电路的VCC;逻辑X。
2024-09-03 21:14:36 1224 1
原创 跟我一起学FPGA (一) 创建demo
File -》Project -》NEW -》项目名称 ()-》RTL -》next -》next -》选择对应型号(7z010clg400)-》next -》finish。
2024-09-02 21:51:17 610
原创 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,让中断程序来处理该数据。
2024-03-22 16:09:42 1483 1
原创 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。
2023-12-21 11:52:45 782
原创 Linux Input驱动
向 input 子系统核心层注册好 input_dev 以后,将输入事件上报给 input 子系统核心层,这样 input 子系统核心层才能获取到正确的输入值。input_event 这个结构体来表示所有的输入事件.在include/uapi/linux/input.h。
2023-12-18 22:32:37 522
原创 Linux 内存分配
一般情况下,内存只有在被 DMA 访问的时候才需要物理上连续,但为了性能上的考虑,内核中一般使用 kmalloc(),而只有在需要获得大块内存时才使用 vmalloc()。
2023-12-14 21:43:33 72
原创 Linux 异步通知
信号类似于我们硬件上使用的“中断”信号是软件层次上的。算是在软件层次上对中断的一种模拟.异步通知的核心就是信号,在 include/uapi/asm-generic/signal.h除了 SIGKILL(9)和 SIGSTOP(19)这两个信号不能被忽略外,其他的信号都可以忽略。这些信号就相当于中断号,不同的中断号代表了不同的中断,不同的中断所做的处理不同,因此,驱动程序可以通过向应用程序发送不同的信号来实现不同的功能。
2023-12-14 20:03:15 83
原创 Linux阻塞和非阻塞
nfds: 要操作的文件描述符个数。readfds、 writefds 和 exceptfds:这三个指针指向描述符集合,这三个参数指明了关心哪些描述符、需要满足哪些条件等等这三个参数都是 fd_set 类型的, fd_set 类型变量的每一个位都代表了一个文件描述符。只要这些集合里面有一个文件可以读取那么 seclect 就会返回一个大于 0表示文件可以读取。如果没有文件可以读取,那么就会根据 timeout 参数来判断是否超时。
2023-12-13 23:35:58 152
原创 Linux中断驱动
定义在 include/linux/interrupt.haction 成员变量就是软中断的服务函数在 kernel/softirq.c 文件中一共定义了 10 个软中断enum*//* 下一个 tasklet *//* tasklet 状态 *//* 计数器,记录对 tasklet 的引用数 *//* tasklet 执行的函数 *//* 函数 func 的参数 */t:要初始化的 taskletfunc: tasklet 的处理函数。
2023-12-12 23:16:22 339
原创 Linux GPIO驱动
驱动程序中使用 GPIO 之前需要向 gpio 子系统申请,申请成功之后才可以使用,例如设置 GPIO 的输入、输出方向,设置 GPIO 输出高或低电平、读取 GPIO 输入电平等等。
2023-12-10 11:54:15 577
原创 备忘 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 分区。
2023-12-07 23:29:58 528
原创 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 的编译器。
2023-12-07 22:21:01 423
原创 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。
2023-12-04 17:14:50 149
原创 VxWorks SD/EMMC驱动
> cmd8 //用于区分SD卡2.0,只有2.0及以后的卡才支持CMD8命令,MMC卡和V1.x的卡,是不支持该命令的。=> CMD9 // 获得SD卡的CSD寄存器内容,得到SD卡的容量和扇区大小等。(sdio模式特有)并管理块设备缓存和同步机制,使得应用程序可以以统一的方式访问不同类型的块设备,并提高数据读写的性能和可靠性。对于支持CMD8的卡,主机设置ACMD41的参数HCS=1,告诉SD卡,主机支持SDHC卡。sd: sdhc 发送CMD3 给sd卡,sd卡返回一个RCA给sdhc。
2023-11-21 14:06:38 666
原创 fortran测试动态分配内存大小
program TestArrayimplicit none!integer n,i,kinteger*8 n,i,kreal,allocatable:: a(:)n=3k=10000000 !1千万!do i=1,50do i=1,2 !n=n+k*5 !每次增加5千万 allocate(a(n*1024*1024*1024)) a=...
2019-04-16 11:37:32 1898
原创 "clGetPlatformIDs未定义的引用"问题解决
由于之前一直都是在运行AMD的用例,都是利用CMakeList.txt直接可以在bin目录下获取可执行的二进制文件. 想自己写一个hello.cpp和hello.cl文件手动编译,用网上的一些方法如下:sudo g++ -I /opt/AMDAPPSDK-3.0/include/CL/ hello.cpp -L /opt/AMDAPPSDK-3.0/lib/x86_64/sdk/libOpen
2017-07-07 14:49:06 3197 2
转载 opencl环境搭建(更新版)
opencl平台搭建(更新版) 根据http://blog.csdn.net/gagabook/article/details/53539823 该篇基础上修订。 注:该文档操作全在root权限下进行。 time:2017-6-23 write:安东后面没有尼奥 一、下载OpenCL包 首先是下载,我下载的是AMD提供的AMDAPPSDK:http://developer.amd.com
2017-06-23 15:14:23 1142
原创 debian opencl环境搭建
Opencl环境搭建 time:2016-6-21 write:luoad 一、安装hd 7870显卡驱动 1.查看显卡驱动是否安装 lshw -c video; 在configuration一栏 如果没有driver相关内容说明没有安装驱动。 2.安装步骤: (注:以下步骤全在网上那个找到得) 1、安装解压及依赖 sudo aptitude install build-es
2017-06-22 15:52:38 1102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人