简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本篇文章分析PCIe上电是如何枚举的,BAR空间访问在以前文章已经讲解,可以参考《从cpu角度理解PCIe》和《从cpu角度理解PCIe续集》。本文篇幅较长,读者需要耐心阅读。PCIe上电枚举算法主要是分配总线号和分配BAR空间,分配的总线号用于访问配置空间,BAR空间用于与PCIe设备进行数据交互。PCIe协议包括物理层,链路层和事务层,本次分析从事务层开始着手,事务层数据交互的单元是TLP包,
1. MDIO接口SMI:串行管理接口(Serial Management Interface),也被称作MII管理接口(MII Management Interface),包括MDC和MDIO两条信号线。MDIO是一个PHY的管理接口,用来读/写PHY的寄存器,以控制PHY的行为或获取PHY的状态,MDC为MDIO提供时钟。MDIO原本是为MII总线接口定义的,MII用于连接MAC和PHY,包含
通常虚拟机安装debian后安装软件,需要手动切换本地镜像软件源,这样非常麻烦,下面方法很实用。1、上传debian-9.4.0-amd64-DVD-1.iso debian-9.4.0-amd64-DVD-2.iso debian-9.4.0-amd64-DVD-3.iso 三个镜像文件到debian系统中/home/google/debian/目录下。2、分别挂在这三个文件到/media/
概述本文讲解替换一个已经在内存中的函数,使得执行流流入我们自己的逻辑,然后再调用原始的函数。比如有个函数叫做funcion,而你希望统计一下调用function的次数,最直接的方法就是如果有谁调用function的时候,调到下面这个函数就好了。void new_function(){ count++; return function();}...
移植网卡驱动相对比较简单,但是得注意一下USB无线网卡的VID和PID。下面我们来讲解具体移植过程我用的无线网卡是腾达W311M 无线网卡,官网驱动下载地址:http://www.tenda.com.cn/services/downlist-172.htmlVID和PID分别是 148f:5370。但是得注意下,这个问题我搞了很久在发现了,我用的内核版本是Linux-3.4,然后官方支持的
这里需要注意,当电脑不能连接外界网络时候,需要用U盘拷贝镜像包,但是一个镜像包有8G左右,fat32格式只支持4GB,儿centos默认是不支持NTFS格式文件系统,这里可以将镜像包用软碟通提取里面iso文件,这里不能直接解压,软碟通的提取类似linux下的mount操作,提取完成后将该文件拷贝到centos某个目录,然后指定路径。 从CentOS7官网下载DVD中存在需要的大部分软件,所...
硬盘分为机械硬盘HDD和固态硬盘SSD两种。现在固态硬盘已经是大势所趋咯。SSD用的接口是NVME。在NVME协议下面还有一层PCIe协议。HDD硬盘接口有SATA,SATA接口常用的工作模式有AHCI。SATA硬盘接口最大速率是600MBytes/s。接下来我通过C代码测试SSD的读写性能。代码采用的是直接IO方式,这个测的速率不加直接IO的四倍。test_ssd.c#define _GNU_S
用手机APP来实现无线监控已经成功了,接下来准备讲解andriod相关的知识和客户端APP源程序以手机上WIFI热点为例,有4种常用的"认证/加密"a. openb. WEPc. WPA(TKIP)d. WPA2(AES)需要用到的源代码有:hostapd-2.0.tar.gz,下载地址:点击这里!openssl-1.0.1d.tar.gz,
当我们在Linux操作系统下使用input子系统时,当我们先插鼠标,在插上摄像头与先插摄像头,在插鼠标,操作系统为两个设备分配的event号不是固定的,先插上的是event0,后插上的是event1 。那么问题来了,我们写应用程序,我们怎么知道那个设备对应那个event接口,我们不可能认为指定使用那个接口,因为有时候插播顺序并不一致,下面我用代码来获取event接口。使用cat /pr
1. 设计思想零拷贝技术主要用于磁盘数据通过网络进行交互,常见用法卸载磁盘文件从网络发送出去。常规的卸载文件方法流程如下所示。从上图可以看出软件流程一共复制了4次数据,内核态到用户态切换4次。读操作(复制两次,上下文切换两次):1.用户进程通过 read() 函数向内核(kernel)发起系统调用,上下文从用户态(user space)切换为内核态(kernel space)2.CPU利用DMA控