Linux驱动
coolkids_2008
这个作者很懒,什么都没留下…
展开
-
Linux字符设备驱动入门(一)
先亮一下装备:平台:VMware 7.0 + Linux ubuntu 3.0.0-12-generic编译器:gcc参考资料:LDD 3功能:实现简单的字符操作(从用户空间向内核空间写入一串字符;从内核空间读一个字符到内核空间) 众所周知,字符设备是linux下最基本,也是最常用到的设备,它是学习Linux驱动入门最好的选择,计算机的东西很多都是相通的,掌握原创 2011-11-17 10:15:46 · 5661 阅读 · 3 评论 -
initrd and initramfs
InitrdFrom Texas Instruments Embedded ProcessorsWikiJump to: navigation,searchInitrdAfter kernel booted, it tries to mount a filesystem. Using Linux on DaVinci, there are several options w转载 2012-03-28 15:26:01 · 706 阅读 · 0 评论 -
linux下的音频设备文件编程
1. Linux下的音频设备文件/dev/console:与扬声器相关的设备文件。 /dev/dsp:与声卡设备上的DSP相关的设备文件,提供了数字采样和数字录音的功能。声卡设备通过DSP实现模拟信号和数字信号的转换。向该设备写入数据将激活声卡上的数模转换器播放声音。而从该设备上读取数据,则会激活声卡上的模数转换进行录音操作。 /dev/audio:与/dev/dsp类似。使用转载 2011-12-31 14:56:34 · 2555 阅读 · 0 评论 -
S3c2410 LINUX下如何访问IO端口
ARM体系结构中访问IO需使用驱动模块,可在模块初始化中使用 request_mem_region()函数申请IO内存,然后通过ioremap()函数对获得的IO内存进行重映射.如控制s3c2410的LED显示,使用GPF口,可用如下代码段进行访问#define GPF 0x56000000...static void * GPF_BASE; //一定要定义成void *型转载 2012-01-29 17:31:44 · 505 阅读 · 0 评论 -
Kconfig文档与Makefile的作用
linux允许设备驱动在编译时候静态的连接在内核中,一如传统的驱动程序;也允许动态地在运行时安装,被称为模块;还允许在运行状态下当需要某模块时候,有系统自动安装。故而做驱动移植时候,有两种方式:一种是直接加到kernel 中编译,另一种是以模块的形式挂接。如果把驱动编译到内核,会涉及到Kconfig 和Makefile 两文件的修改。2.6内核的源码树目录下一般都会有两转载 2011-12-22 11:38:16 · 700 阅读 · 0 评论 -
Linux设备驱动子系统- I2C
本文转自:http://blog.csdn.net/qianjin0703/article/details/58948691. Overview2. Data Structure3. Adapter4. I2C-core5. Slave Device 1. Overview 1.1 Definition I2C Inter-转载 2011-12-01 09:19:18 · 801 阅读 · 0 评论 -
printk的日志级别和控制台级别
printk根据日志级别(loglevel)对消息进行分类。日志级别用宏定义,日志级别宏展开为一个字符串,在编译时由预处理器将它和消息文本拼接成一个字符串,因此printk 函数中日志级别宏和格式字符串间不能有逗号。下面是两个printk的例子,一个用于打印调试信息,另一个用于打印临界条件信息。printk(KERN_DEBUG "Here I am: %s:%i/n", _ _FIL原创 2011-11-22 11:04:35 · 780 阅读 · 0 评论 -
Linux字符设备驱动入门(二)——加入ioctl功能
平台:VMware 7.0 + Linux ubuntu 3.0.0-12-generic编译器:gcc参考资料:LDD 3功能:实现ioctl功能 在Linux字符设备驱动入门(一)中,我们实现了字符设备的简单读写字符功能,接下来我们要在这个基础上加入ioctl功能。首先,我们先来看看3.0内核下../include/linux/fs.h中file_oper原创 2011-11-17 16:37:20 · 8009 阅读 · 0 评论 -
Linux Platform Device and Driver
从Linux 2.6起引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。 Linux中大部分的设备驱动,都可以使用这套机制, 设备用Platform_device表示,驱动用Platform_driver进行注册。 Linux platform driver机制和传统的device driver 机制(通过driver_r转载 2011-11-17 15:39:35 · 653 阅读 · 0 评论 -
Linux 2.6下的platform_driver和platform_device(结合G870加密磁头驱动分析)
首先介绍一下注册一个驱动的步骤:1、定义一个platform_driver结构2、初始化这个结构,指定其probe、remove等函数,并初始化其中的driver变量3、实现其probe、remove等函数看platform_driver结构,定义于include/linux/platform_device.h文件中:struct platform_driver {原创 2011-11-17 17:26:53 · 887 阅读 · 0 评论 -
linux内存分配方法
linux内存分配方法 基于linux 驱动开发以及应用开发. 当想要分配内存的时候,要面对很多的内存分配函数: malloc kmalloc vmalloc alloc_page dma_alloc ... 简单归纳如下:malloc: 分配用户空间内存 .不保证物理连续.linux中用户空间和内核空间不能直接互相访问内存,要通过copy_from_us转载 2013-04-29 16:59:51 · 907 阅读 · 0 评论