自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 跟我一起学FPGA (二) 语法讲解

1、Verilog 概述和基础知识;2、Verilog 程序框架和高级知识点;3、Verilog 编程规范。1.Verilog 概述和基础知识Verilog是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能.verilog的逻辑值:逻辑0:表示低电平,也就是对应我们电路的GND;逻辑1:表示高电平,也就是对应我们电路的VCC;逻辑X。

2024-09-03 21:14:36 1189 1

原创 跟我一起学FPGA (一) 创建demo

File -》Project -》NEW -》项目名称 ()-》RTL -》next -》next -》选择对应型号(7z010clg400)-》next -》finish。

2024-09-02 21:51:17 583

原创 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 1194 1

原创 vxworks 驱动框架

底层驱动对其驱动的设备都有一个自定义数据结构 xxDev。

2023-12-25 17:17:14 588

原创 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 734

原创 Linux Input驱动

向 input 子系统核心层注册好 input_dev 以后,将输入事件上报给 input 子系统核心层,这样 input 子系统核心层才能获取到正确的输入值。input_event 这个结构体来表示所有的输入事件.在include/uapi/linux/input.h。

2023-12-18 22:32:37 497

原创 Linux misc设备驱动

misc 的意思是混合、杂项的所有的 MISC 设备驱动的主设备号都为 10,不同的设备使用不同的从设备号。

2023-12-18 21:47:57 501

原创 Linux platform驱动

platform_driver 结 构 体 表 示 platform 驱 动。

2023-12-14 23:22:17 133

原创 Linux 内存分配

一般情况下,内存只有在被 DMA 访问的时候才需要物理上连续,但为了性能上的考虑,内核中一般使用 kmalloc(),而只有在需要获得大块内存时才使用 vmalloc()。

2023-12-14 21:43:33 65

原创 Linux 异步通知

信号类似于我们硬件上使用的“中断”信号是软件层次上的。算是在软件层次上对中断的一种模拟.异步通知的核心就是信号,在 include/uapi/asm-generic/signal.h除了 SIGKILL(9)和 SIGSTOP(19)这两个信号不能被忽略外,其他的信号都可以忽略。这些信号就相当于中断号,不同的中断号代表了不同的中断,不同的中断所做的处理不同,因此,驱动程序可以通过向应用程序发送不同的信号来实现不同的功能。

2023-12-14 20:03:15 67

原创 Linux阻塞和非阻塞

nfds: 要操作的文件描述符个数。readfds、 writefds 和 exceptfds:这三个指针指向描述符集合,这三个参数指明了关心哪些描述符、需要满足哪些条件等等这三个参数都是 fd_set 类型的, fd_set 类型变量的每一个位都代表了一个文件描述符。只要这些集合里面有一个文件可以读取那么 seclect 就会返回一个大于 0表示文件可以读取。如果没有文件可以读取,那么就会根据 timeout 参数来判断是否超时。

2023-12-13 23:35:58 125

原创 Linux中断驱动

定义在 include/linux/interrupt.haction 成员变量就是软中断的服务函数在 kernel/softirq.c 文件中一共定义了 10 个软中断enum*//* 下一个 tasklet *//* tasklet 状态 *//* 计数器,记录对 tasklet 的引用数 *//* tasklet 执行的函数 *//* 函数 func 的参数 */t:要初始化的 taskletfunc: tasklet 的处理函数。

2023-12-12 23:16:22 247

原创 Linux内核定时器驱动

Linux内核提供了定时,短延时函数,比如微秒、纳秒、毫秒延时函数等。

2023-12-10 23:01:41 97

原创 Linux并发和竞争

(include/linux/types.h)(32位和64位定义)

2023-12-10 16:31:17 60

原创 Linux GPIO驱动

驱动程序中使用 GPIO 之前需要向 gpio 子系统申请,申请成功之后才可以使用,例如设置 GPIO 的输入、输出方向,设置 GPIO 输出高或低电平、读取 GPIO 输入电平等等。

2023-12-10 11:54:15 465

原创 备忘 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 491

原创 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 362

原创 linux下字符驱动 二 新字符设备驱动

上一篇讲解了字符设备基本框架,此篇继续完善。

2023-12-06 22:49:21 48

原创 linux下字符驱动 一 基础框架

说明:字符设备按照一个个字节读写操作。常见:LED,按键,I2c SPI LCD等。

2023-12-06 21:15:48 36

原创 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 115

原创 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 579

原创 VxWorks下i2c总线驱动分析

VxWorks i2c 驱动

2023-11-10 17:05:22 324

原创 移植FT20004平台GD25LB512ME到VxWorks

移植FT20004平台GD25LB512ME到VxWorks

2023-05-09 11:42:09 458 1

原创 xilinx qspi-flash 驱动分析(VxWorks版本)

vx qspi-flash 驱动

2022-11-07 14:45:13 972

原创 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 1880

原创 "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 3153 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 1124

原创 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 1086

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除