[驱动开发]
xgbing
专注于嵌入式方向的软硬件设计与开发(ASM\C\C++,RTOS,Linux,android,以太网\嵌入式网络协议栈,蓝牙,WIFI,文件系统/嵌入式存储,显示\音频,单片机\DSP\ARM\Cortex,电路设计\PCB布板\硬件驱动\数字逻辑CPLD,FPGA\niosII),目前从事VirtualBox\qemu\KVM虚拟化研究工作。
展开
-
BCM43438 android6.0移植
编译的全部源码位于drivers/net/wireless/bcmdhd目录下。初始化流程: dhd_linux.c中dhd_module_init()调用dhd_wifi_platform_register_drv() dhd_linux_plat.c中dhd_wifi_platform_register_drv()调用platform_driver_register(...原创 2019-10-30 21:45:03 · 2371 阅读 · 0 评论 -
TI Am335LCD驱动
drivers/video/da8xx-fb.cplatformdriver的名称是#define DRIVER_NAME "da8xx_lcdc"arch/arm/mach-omap2/devices.c中:int __init am33xx_register_lcdc(struct da8xx_lcdc_platform_data *pdata){ int id =...原创 2019-10-29 22:39:26 · 809 阅读 · 0 评论 -
s5p4418显示驱动
arch/arm/plat-s5p4418/drone2/include/Cfg_main.h有关显示的定义:/*------------------------------------------------------------------------------* Display (DPC and MLC)*//* Primary */#define CFG_DI...原创 2019-10-29 22:31:57 · 1059 阅读 · 0 评论 -
s5p4418分区
include/configs/s5p4418_drone2.h:#ifdef SPEC_PARTS#define FASTBOOT_PARTS_DEFAULT \ "flash=mmc,2:2ndboot:2nd:0x200,0x7000;" \ "flash=mmc,2:bootloader:boot:0x8000,0x200000;" \ "flash=mm...原创 2019-10-29 22:23:16 · 576 阅读 · 0 评论 -
TCP/IP协议栈lwip的移植
新建几个头文件Include/lwipopts.hInclude/arch/cc.hInclude/arch/perf.hInclude/arch/sys_arch.h 除头文件外还需要添加一个C文件:sys_arch.c。说明在doc/sys_arch.txt中。 修改netif/Ethernetif.c。结构对齐的几个宏对于一个结构下原创 2012-06-20 23:07:23 · 26287 阅读 · 4 评论 -
图解USB枚举
转载 2007-04-25 08:59:00 · 2601 阅读 · 0 评论 -
USB Mass Storage 6.7 The Thirteen Cases章节的理解
Case(1), case(6), case(12)状态下是正常的数据传输,被称为“The thin diagonal”。其它的状态是协议外的内容,是一些判断。 6.7.1 主机期望发起一次无数据传输的命令CBW包中的dCBWDataTransferLength字段=0,Direction位不考虑。主机做的工作:(1) 发送一个CBW(2) 偿试接收原创 2011-11-23 00:04:52 · 2375 阅读 · 0 评论 -
全双工/半双工的几个概念
(1)全双工,PAUSE帧 PAUSE帧为了防止缓冲益出,PAUSE帧可以超出该设备的设计水平,可以短暂的延迟流量赠长,该设备通过向对端设备发送PAUSE来阻止本身产身缓冲益出。 IEEE802.3x规定了一种64字节的“PAUSE”MAC控制帧的格式。当端口发生阻塞时,交换机向信息源发送 “PAUSE”帧,告诉信息源暂停一段时间再发送信息。 在实际的网络中,尤原创 2012-08-24 23:54:29 · 6627 阅读 · 0 评论 -
U盘实现代码分析
这是我在以前做的一个笔记。它的功能是实现一个U盘。记得当时花了很多时间,但现在翻出来看已经有些不记得了。现在把它共享出来,我想也许会对在做这方面刚入门的朋友有些帮助。 作者的联系方式: E-mail: gbing163@163.comBLOG:http://blog.csdn.net/xgbing CSDN下载...原创 2014-02-16 14:08:22 · 2720 阅读 · 0 评论 -
QinQ
QinQ也称Stacked VLAN 或Double VLAN。标准出自IEEE 802.1ad,目前该标准仍处于草案阶段。其实现为在 802.1q协议标签前再次封装802.1q协议 标签,其中一层标识用户系统网络(customer network),一层标识网络运营网络(service provider network),将其扩展实现用户线路标识。 VLAN最初是一种虚拟工作原创 2012-11-01 23:21:13 · 1641 阅读 · 0 评论 -
驱动学习(1)---IRP和IO堆栈
WDM使用分层设备对象结构的目的就是使IRP能方便地从一层驱动程序传递到下一层驱动程序。 IPR创建的同时创建IO堆栈数组,并随IRP一起从上层驱动传递到下层。上层为下层建立IO堆栈,若要设置完成例程则使用IoCopyCurrentIrpStackLocationToNext建立堆栈,若无需设置完成例程,使用IoSkipCurrentIrpStackLocation,不建立IO堆栈,因为建立IO堆原创 2006-07-28 16:41:00 · 2587 阅读 · 1 评论 -
驱动学习(3)-编译缺少LIB
编译USBKBD,总是报错dispatch.obj() : error LNK2019: unresolved external symbol __imp__USBD_GetUSBDIVersion@4 referenced in function "long __stdcall UsbKbdCreate(struct _DEVICE_OBJECT *,struct _IRP *)" (?Us原创 2006-12-02 13:24:00 · 2725 阅读 · 1 评论 -
驱动学习(2)-DriverEntry例程
以前一直以为驱动安装时就从DriverEntry执行,然后等待硬件插入,当有硬件插入时执行AddDevice。这种理解是错误的:当有硬件插入时才从DriverEntry开始执行,删除硬件后驱动从系统中删除。原创 2006-08-10 10:21:00 · 1723 阅读 · 0 评论 -
使用setupapi.dll安装硬件驱动
格式: rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 132 d:/driver.inf说明:(1)DefaultInstall是要安装的段名。假如安装文件inf 如下,则DefaultInstall用“DebugPrint.Install”替代。[Version]Signature="$Chicago$"C原创 2007-03-27 09:38:00 · 8036 阅读 · 0 评论 -
使用命令打开设备管理器
mmc c:/windows/system32/devmgmt.msc原创 2007-06-11 07:51:00 · 10411 阅读 · 0 评论 -
驱动安装函数祥解
这两天写了一个驱动安装的例子,又写了一个Hook NtquerySystemInformation函数来隐藏进程的驱动,可没想到在安装的时候出错了。 虽然知道安装程序出错的可能性不大,但是为了放心还是又重新详细研究了一遍安装程序的一些函数。 首先就是第一个。 OpenSCManager 这个函数打开指定计算机上的service control manager database。其中参数转载 2008-05-06 19:03:00 · 1451 阅读 · 0 评论 -
NAND和NOR FLASH技术设计师在使用闪存时需要慎重选择
M-Systems公司 Arie TAL NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每转载 2011-07-11 17:09:43 · 918 阅读 · 0 评论 -
NAND Flash的坏块
1.为什么会出现坏块 由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块。坏块的特性是:当编程/擦除这个块时,不能将某些位拉高,这会造成Page Program和Block Eras转载 2011-07-11 17:07:24 · 1038 阅读 · 0 评论 -
“串行”为什么会走红?
近两年,大家听得最多的一个词可能就是串行传输了。从技术发展的情况来看,串行传输方式大有彻底取代并行传输方式的势头,USB取代 IEEE 1284,SATA取代PATA,PCI Express取代PCI…… 从原理来看,并行传输方式其实优于串行传输方式。通俗地讲,并行传输的通转载 2011-10-10 09:24:16 · 1122 阅读 · 1 评论 -
驱动简单环境
我用的是windows xp系统和winXP DDK 1 原始环境 三个文件(如放在d:/test目录中):makefile(无后缀名)、Source(无后缀名)、test.c。 makefile内容: # # DO NOT EDIT THIS FILE!!! Edit ./sources. if you want to add a new so原创 2006-07-19 10:16:00 · 1798 阅读 · 0 评论