ldd3专题

USB Drivers 相关结构体和宏定义记录 LDD3 学习笔记

USB Drivers 相关数据结构记录 struct usb_device_id 路径:include/linux/mod_devicetable.h /*** struct usb_device_id - identifies USB devices for probing and hotplugging* @match_flags: Bit mask contro

Time, Delays, and Deferred Work LDD3 学习笔记 + jiffies.h 分析

Time, Delays, and Deferred Work  Dealing with time involves the following tasks, in order of increasing complexity: • Measuring time lapses and comparing times • Knowing

《Linux总线、设备与驱动》ldd3中demo分析

说明:本文基于Android2.3和Linux2.6;其他版本仅供参考。 Android2.3及Linux2.6.29内核模拟器版本编译与调试 一、古老方式(不支持热插拔) 1.开机前硬件设备已经插入总线; 2.操作系统加载总线驱动,开始扫描设备、并为其申请struct device结构,最后挂入总线驱动devices链表; 3.操作系统加载设备驱动,注册struct device_d

linux内核开发--LDD3 scull错误集合,内核版本迁移清单

由于linux内核版本的升级,往往会让能在老版本内核上编译通过的驱动程序移植到新版本内核中出现各种编译和链接错误,这里就将我遇到的一些问题做个整理,让后续开发更流畅^_^! 当前内核版本为3.2.4 1.make[1]: Entering directory `/usr/src/linux-***' scripts/Makefile.build:49: *** CFLAGS was ch

网上看LDD3中文版

网上看LDD3中文版: http://oss.org.cn/kernel-book/ldd3/index.html C FAQ: http://c-faq.com/index.html

使用 I/O 内存--from LDD3

9.4. 使用 I/O 内存 尽管 I/O 端口在 x86 世界中流行, 用来和设备通讯的主要机制是通过内存映射的寄存器和设备内存. 2 者都称为 I/O 内存, 因为寄存器和内存之间的区别对软件是透明的. I/O 内存是简单的一个象 RAM 的区域, 它被处理器用来跨过总线存取设备. 这个内存可用作几个目的, 例如持有视频数据或者以太网报文, 同时实现设备寄存器就象 I/O 端口一样的行为(

LDD3 study note 3

LDD3 study note 3 -v0.1 2017.11.17 Sherlock init 这篇笔记记录驱动程序中mmap的写法,以及相关的调试过程。同样代码在: https://github.com/wangzhou/scull.git 1. mmap 在linux用户态调用mmap函数可以把文件内容直接映射到内存,这样用户态程序可以像访问 内存一样访问文件。同样,使用mmap

LDD3 study note 2

LDD3 study note 2 -v0.1 2016.12.31 Sherlock init 这篇文章在note1的基础上,进一步记录实现一个ioctl要注意的地方。相关的代码在: https://github.com/wangzhou/scull.git, tag: scull_2 1. ioctl 驱动可以通过ioctl函数定义一组和用户态程序交互的接口. ioctl的用户态接

LDD3 study note 1

LDD3 study note 1 -v0.1 2016.12.25 Sherlock init LDD3的第三章介绍了一个简单的字符设备,实现了read/write/open/release等回调函数。 网上有LDD3自带的源代码,为了方便查找,我把官方源代码放到了: https://github.com/wangzhou/ldd3.git 自己实现的代码(第三章的简易字符设备)放在了:

LDD3源码分析之字符设备驱动程序

作者:刘昊昱   博客:http://blog.csdn.net/liuhaoyutz 编译环境:Ubuntu 10.10 内核版本:2.6.32-38-generic-pae LDD3源码路径:examples/scull/main.c   本文是对LDD3第三章驱动代码的分析记录。LDD3的scull源码是一个综合性的驱动程序,内容涵盖了第三章到第六章的内容,初学者在学习过程中可能

ldd3 源码编译之 scullc 字符设备驱动 错误解决办法

使用内核版本-linux-3.2  错误1: make -C /lib/modules/3.2.0/build M=/home/wrk/works/drivers/ldd3/examples/scullc LDDINC=/home/wrk/works/drivers/ldd3/examples/scullc modules make[1]: Entering d