码迷,mamicode.com
首页 >  
搜索关键字:linux驱动    ( 1226个结果
Linux驱动之同步、互斥、阻塞的应用
同步、互斥、阻塞的概念: 同步:在并发程序设计中,各进程对公共变量的访问必须加以制约,这种制约称为同步。 互斥机制:访问共享资源的代码区叫做临界区,这里的共享资源可能被多个线程需要,但这些共享资源又不能被同时访问,因此临界区需要以某种互斥机制加以保护,以确保共享资源被互斥访问。 阻塞与非阻塞:阻塞调 ...
分类:系统相关   时间:2018-08-15 17:05:06    阅读次数:186
Linux驱动之异常处理体系结构简析
异常的概念在单片机中也接触过,它的意思是让CPU可以暂停当前的事情,跳到异常处理程序去执行。以前写单片机裸机程序属于前后台程序,前台指的就是mian函数里的while(1)大循环,后台指的就是产生异常后的处理程序。ARM9有以下几种异常模式: ARM架构的异常向量的地址可以是0x00000000,也 ...
分类:系统相关   时间:2018-08-14 15:42:12    阅读次数:274
Linux驱动之内核加载模块过程分析
Linux内核支持动态的加载模块运行:比如insmod first_drv.ko,这样就可以将模块加载到内核所在空间供应用程序调用。现在简单描述下insmod first_drv.ko的过程 1、insmod也是一个用户进程 2、insmod进程从命令行中读取要链接的模块名字:first_drv.k ...
分类:系统相关   时间:2018-08-13 12:16:51    阅读次数:233
基于S3C2440的嵌入式Linux驱动——看门狗(watchdog)驱动解读
本文将介绍看门狗驱动的实现。 目标平台:TQ2440 CPU:s3c2440 内核版本:2.6.30 1. 看门狗概述 看门狗其实就是一个定时器,当该定时器溢出前必须对看门狗进行"喂狗“,如果不这样做,定时器溢出后则将复位CPU。 因此,看门狗通常用于对处于异常状态的CPU进行复位。 具体的概念请自 ...
分类:系统相关   时间:2018-08-12 00:30:16    阅读次数:276
linux驱动开发(三) 字符设备驱动框架(自动创建设备节点)
代码如下 KVERS = $(shell uname -r) # Kernel modules obj-m += demo.o # Specify flags for the module compilation. #EXTRA_CFLAGS=-g -O0 build: kernel_modules ...
分类:系统相关   时间:2018-07-26 15:20:03    阅读次数:226
linux驱动开发(三) 字符设备驱动框架
还是老规矩先上代码 demo.c Makefile make测试一下 使用dmesg指令来查看 使用 cat /proc/devices看到demo的信息 现在主要介绍demo.c中使用到函数和宏,结构体等 ...
分类:系统相关   时间:2018-07-25 17:45:52    阅读次数:213
linux驱动开发第二步 驱动模块传参(module_param函数使用)
在驱动的模块中声明一下你要传递的参数名称,类型和权限 module_param(变量的名称,类型,权限); 先上例子 不设置时候使用默认的 使用设置时候 加载模块后,都会在/sys/modules下生成一个模块的文件夹,文件夹下会有一个parameters文件夹, 里面包含的就是以参数名命名的文件节 ...
分类:系统相关   时间:2018-07-25 16:18:50    阅读次数:519
JZ2440_V3_内核驱动程序_点亮一个LED灯
为了用内核驱动程序点亮一个LED灯,真是费尽周折,参考了韦东山的《嵌入式linux驱动开发完全手册》(以下简称《完全手册》)和网上很多人的blog,最终在@ "Carlos·Wei" 的指引下,终于点亮了LED灯,见下图! 其中的一些弯路主要是没严格按照韦东山的linux版本和其编译器来编译内核和驱 ...
分类:其他好文   时间:2018-07-04 11:37:13    阅读次数:395
linux驱动---等待队列、工作队列、Tasklets【转】
转自:https://blog.csdn.net/ezimu/article/details/54851148 概述: 等待队列、工作队列、Tasklet都是linux驱动很重要的API,下面主要从用法上来讲述如何使用API. 应用场景: 等待队列(waitqueue) linux驱动中,阻塞一般就 ...
分类:系统相关   时间:2018-05-28 14:47:38    阅读次数:259
linux 驱动程序 HelloWorld
Linux驱动可以直接编译进内核,也可以以模块的形式进行加载,前者比较复杂,本文就以模块的形式加载! vi helloi_driver.c #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> stat ...
分类:系统相关   时间:2018-05-26 21:22:51    阅读次数:205
1226条   上一页 1 ... 9 10 11 12 13 ... 123 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!