码迷,mamicode.com
首页 >  
搜索关键字:linux设备驱动    ( 354个结果
控制发光二极管
裸机下控制LED灯非常方便,只需要配置好GPIO引脚功能,然后向GPIO引脚映射的内存地址处写入数据即可,但linux下驱动就不那么简单了,需要结合字符设备驱动的架构,然后将功能实现添加进去,笔者参考linux设备驱动程序(第三版)中介绍的新的接口来实现驱动。友善之臂官网提供的源码是基于miscde ...
分类:其他好文   时间:2016-06-02 00:50:50    阅读次数:162
《Linux4.0设备驱动开发详解》笔记--第九章:Linux设备驱动中的异步通知与同步I/O
在设备驱动中使用异步通知可以使得对设备的访问可进行时,由驱动主动通知应用程序进行访问。因此,使用无阻塞I/O的应用程序无需轮询设备是否可访问,而阻塞访问也可以被类似“中断”的异步通知所取代。异步通知类似于硬件上的“中断”概念,比较准确的称谓是“信号驱动的异步I/O”。 9.1 异步通知的概念和作用 异步通知:一旦设备就绪,则主动通知应用程序,该应用程序无需查询设备状态 几种通知方式比较: 阻塞I/...
分类:系统相关   时间:2016-05-20 19:47:46    阅读次数:356
linux设备驱动--等待队列实现
#include #include #include #include "ioctl_led.h" #define DEV_NAME "test-dev" volatile bool empty = true; //定义一个进程资源的指针变量 struct task_struct *task; int test_open(struct inode *inode, struct file ...
分类:系统相关   时间:2016-05-13 15:08:20    阅读次数:212
Linux设备驱动remap_pfn_range() 和remap_page_range()
LDD3的开发环境推荐的是2.6.10,安装了RHEL4-update4,其内核版本为2.6.9.42,编译mmap的程序时报错:Unknown symbol remap_pfn_range 在网上查了下,应将上述报错的函数改为remap_page_range,并且remap_page_range不再推荐使用了,两个内核函数第二个参数定义不相同: int remap_page_range(st...
分类:系统相关   时间:2016-05-13 01:18:17    阅读次数:1231
Linux设备驱动(1)模块的相关概念
最简单的内核模块#include #include static int __init hello_init(void) //内核初始化函数 { printk("hello world!\n"); //打印函数,和prinft类似 return 0; } static void __exit...
分类:系统相关   时间:2016-05-13 00:23:07    阅读次数:170
Linux设备驱动(2)字符设备
设备号设备号由主设备号和次设备号组成。linux下,一切设备皆文件,所有的设备都能在/dev目录下找到相应的文件。这些文件除了名字不一样以外,还每个设备文件都有不一样的设备号; 一般地,主设备号对应一个类型的驱动设备,之所以有次设备号,它是用来驱动同类型的设备。如串口,所有的串口共用一个主设备号,每个串口有不同的次设备号。dev_t类型用来保存设备编号(包含主设备号和次设备号),实际上是一个3...
分类:系统相关   时间:2016-05-13 00:18:13    阅读次数:190
8、Linux设备驱动的并发控制
一、并发与竞争 并发是指多个 多个执行单元同时执行,而这对对共享的资源,比如硬件的资源、软件的全局变量、静态变量 的访问,很容易导致竞态, 1.1、中断屏蔽 在单核的 CPU 里,避免竞态的一个简单有效的方法是,在进入临界区之前,就屏蔽系统的中断。也就是说,在进入临界区之前,中断被关闭,使得中断与进... ...
分类:系统相关   时间:2016-05-11 19:35:39    阅读次数:199
Android系统移植与驱动开发概述读书心得
第一章是Android系统移植与驱动开发概述,包含了Android系统架构、Android系统移植的主要工作、查看Linux内核版本、Linux内核版本号的定义规则、如何学习Linux驱动开发以及Linux设备驱动等六方面内容 Android系统架构分为四层,分别是Linux内核、C/C++代码库、 ...
分类:移动开发   时间:2016-05-03 00:09:43    阅读次数:267
Andriod驱动开发与系统移植概述读后感
本章通过介绍android系统架构->介绍android系统移植的主要工作->查看linux内核版本->linux内核版本号的定义规则->如何学习linux驱动开发->linux设备驱动 给linux驱动举例的方式来对于Andriod系统移植与驱动开发的工作做出一个基本的概述。 首先,android ...
分类:其他好文   时间:2016-04-30 14:07:58    阅读次数:120
分配内存(Linux设备驱动程序)
分配内存 介绍设备驱动程序中使用内存的方法; 如何最好地利用系统内存资源。 kmalloc函数 kmalloc内存分配引擎是一个功能强大的工具。 #include void *kmalloc(size_t size, int flags); 参数分配表示flags能够以多种方式控制kmalloc的行为。 标志GFP_KERNEL表示内存分配是代表运行在内核空间的进程执行的...
分类:系统相关   时间:2016-04-29 20:11:36    阅读次数:278
354条   上一页 1 ... 13 14 15 16 17 ... 36 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!