2022年5月1日
BTC挖矿让英伟达飞起来了,当然也与英伟达在并行计算机领域的强大技术能力有关。这次国外黑客把英伟达的代码公开给大家。让中国人有机会一睹英伟达的显卡驱动的芳容。 此贴就重点来研究一下英伟达windows驱动代码。显卡驱动对许多人来说还是比较神密的。首先做PC显卡的就那三家:nvidi……
阅读全文
2022年4月20日
flash芯片26VF064B的memory layout可以从芯片手册看到。 有8个8K Bytes, 2个32K Bytes, 126个64K Bytes.总计就是8M的容量。所以就是将Flash整个Memory全部写一遍(8M 所以就是将Flash整个Memory全部写一遍(8M Bytes的空间),写完之后去……
阅读全文
2022年2月20日
1. 实现思路 有了前面实现USB键盘的基础,实现USB鼠标就变得相对非常的简单了。和USB键盘一样,USB鼠标也是HID设备。因此只需要修改HID报告描述符就能成功的把USB键盘改造成一个USB鼠标。 这里直接采用《圈圈带你玩USB》书中的鼠标案例中的HID报告描述符。内容如下: const uint8_t hid_report_desc[USB_HID_REPORT_DESC_LEN]……
阅读全文
2022年2月13日
1. 实现思路 在GD32L233C-Start板子的官方例程中有一个USB CDC的例程,此外就没有任何USB相关的例程了。从这个例程中我也是可以了解USB设备的枚举过程。有了枚举过程那么剩下的就是设备描述符,HID描述符之类的了。正好有本书中对这些描述符有很好的介绍,那么我们就按照这……
阅读全文
2022年2月11日
1. 主设备和从设备 USB通讯的两端分别称为:HOST(主设备/USB主机)和Device(从设备/USB设备),最常见的主设备就是PC。 USB主设备一般有以下的功能: 检测USB设备的插拔动作 管理主从通讯之间的控制流 管理主从通讯之间的数据流 记录主机状态和设备动作信息 控制主控制器和US……
阅读全文
2022年2月11日
1. USB接口特点 简单易用 使用统一制式电缆和连接进行外设扩展,即插即用,支持热插拔 稳定性佳 使用差分信号传输,较强的纠错能力,多种差错管理和恢复机制 速度选择 1.5Mbps/ 12Mbps/ 480Mbps/ 5Gbps/ 10Gbps/ 20Gbps多种等级 使用灵活 提供了适合各种应用的传输类型、协议 应用广泛 协议标准向下兼容,系统集成驱动,扩展性强,连接支……
阅读全文
2022年1月27日
1. 序章 早在除夕之夜说过自己萌生了设计一个简单的外设来进行Windows驱动探索的想法。并且看中了USB外设,因为USB接口使用方便,硬件设计也相对简单。 春节期间恰好遇到了电子工程世界上兆易创新做的评测活动,评测活板子使用MCU是GD32L233,这颗芯片支持USB2.0, 正好可以……
阅读全文
2021年12月25日
时间好像真的是具有加速度的,越发的觉得一年的时间越来越短。新冠疫情笼罩之下这两年的记忆感觉像是被挖空了一样。这一年的生活解节奏就是按部就班。 1. 工作和学习 能想起来的比较记忆深刻的事情大概就是上半年有点时间研究multi-gpu相关的技术,虽然没啥实质性的研究成果,但是对于WDDM框……
阅读全文
2021年12月6日
1. WinDbg扩展有哪些用处? 在使用WinDbg进行设备驱动调试时,有时候如果存在某些特定的工具那么会让我们的调试过程变得更加的顺畅。比如对于PCI设备,我们想去读取设备物理地址某一段的值然后把它保存下来。我们当然可以使用!dd这个命令来做,读取少量的数据当然也还没啥问题,如果读……
阅读全文
2021年11月20日
对于Windows设备驱动开发者来说,经常就是一台调试机器和一台被调试机器,使用Debug Cable连接或者使用网络连接,就像下图的这种模式。 正常情况下这两台机器都是在我们身边的。那么重启Target机器也就非常的容易。但是有些特殊情况下,这两台机器都不在身边,是通过网络远程连接……
阅读全文