Linux内核驱动
_参天小草_
这个作者很懒,什么都没留下…
展开
-
spin_lock、spin_lock_bh、spin_lock_irq、spin_lock_irqsave的使用
概述Spinlock的目的是用来同步SMP中会被多个CPU同时存取的变量。在Linux中,普通的spinlock由于不带额外的语义,用起来反而要非常小心。在Linux kernel中执行的代码大体分normal和interrupt context两种。tasklet/softirq可以归为normal因为他们可以进入等待;nested interrupt是interrupt context的一...转载 2018-12-01 23:29:25 · 6377 阅读 · 0 评论 -
总线设备驱动模型
随着技术的不断进步,系统的拓扑结构也越来越复杂,对热插拔、跨平台移植性的要求也越来越高,2.4内核已经难以满足这些需求。为适应这种形势的需要,从Linux 2.6内核开始提供了全新的设备模型。原创 2015-08-30 15:00:23 · 360 阅读 · 0 评论 -
使用定时器去抖
按键抖动:按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,开关不会马上稳定地接通或断开。因而在闭合及断开的瞬间总是伴随有一连串的抖动。原创 2015-08-29 20:15:00 · 555 阅读 · 0 评论 -
混杂设备驱动模型
在Linux系统中,存在一类字符设备,它们拥有相同的主设备号10,但次设备号不同,我们称这类设备为混杂设备(miscdevice)。原创 2015-08-29 19:14:00 · 459 阅读 · 0 评论 -
led驱动程序设计
对硬件进行操作涉及到硬件相关的寄存器.原创 2015-08-29 16:27:18 · 765 阅读 · 1 评论 -
Linux网络栈剖析—从socket到设备驱动程序
操作系统的最大特性之一就是它的网络栈。它最初源于 BSD 的网络栈,具有一套非常干净的接口,组织得非常好。其接口范围从协议无关层(例如通用 socket 层接口或设备层)到各种网络协议的具体层。转载 2015-08-30 15:59:48 · 476 阅读 · 0 评论 -
阻塞型驱动设计
阻塞型驱动设计原创 2015-08-30 14:43:41 · 426 阅读 · 0 评论 -
字符设备控制
大部分驱动程序除了读写功能外,还需要具备控制设备的能力,比如对于串口,需要具备修改波特率的功能。原创 2015-08-29 16:09:26 · 318 阅读 · 0 评论 -
按键中断驱动程序
按键中断驱动程序原创 2015-08-29 19:55:55 · 873 阅读 · 0 评论 -
串口驱动程序设计
串口驱动位于tty子系统。对于用户来说,访问串口与访问其它字符设备的方法一样,都是通过系统调用访问设备文件从而访问设备。原创 2015-08-30 15:32:08 · 574 阅读 · 0 评论 -
往Linux内核添加系统调用
系统调用是由操作系统提供的应用函数编程接口,实现函数来源于系统内核。原创 2015-08-29 18:12:36 · 450 阅读 · 0 评论 -
Linux系统中断处理编程
与裸机中断处理流程相似,Linux系统的中断处理流程如下: ①中断产生时,系统跳转到统一的中断入口irq_svc处执行 ②获取中断号 ③根据中断号找到结构数组irq_desc[]中对应的一项,irq_desc结构是中断处理描述符 ④从irq_desc结构中找到中断处理函数原创 2015-08-29 19:21:01 · 478 阅读 · 0 评论 -
linux命令之netstat源码
/* * Copyright (c) 2008, The Android Open Source Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that ...转载 2018-12-02 12:14:59 · 810 阅读 · 0 评论 -
Linux内核(驱动)常用函数
Linux内核常用函数转载 2015-11-09 21:51:53 · 1503 阅读 · 0 评论 -
回环网卡驱动设计
一般来说,如果平台没有连接网络,此时使用ping命令是无法ping成功的,而当你去ping 127.0.0.2或者127.0.0.3这一类地址时,即使没有联网也是能成功的,这里使用的就是回环网卡。原创 2015-08-30 15:40:55 · 666 阅读 · 0 评论 -
Linux进程管理
介绍了Linux进程状态以及进程调度原创 2015-08-28 21:38:55 · 349 阅读 · 0 评论 -
tty驱动程序架构
在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备。原创 2015-08-30 15:26:15 · 829 阅读 · 0 评论 -
驱动支持多按键中断
一个设备可以对应多个中断原创 2015-08-30 14:35:12 · 293 阅读 · 0 评论 -
网卡驱动程序分析
Linux网络子系统分为用户空间和内核空间原创 2015-08-30 15:37:46 · 925 阅读 · 0 评论 -
中断分层技术
当Linux系统在处理中断响应时,若有新的中断产生,Linux系统对新中断的处理方法与正在处理的中断类型有关,分为慢速中断和快速中断两种情况。原创 2015-08-29 20:05:28 · 819 阅读 · 0 评论 -
字符设备驱动编程模型
字符设备驱动编程模型原创 2015-08-29 15:58:41 · 518 阅读 · 0 评论 -
平台总线驱动设计
Linux系统既支持实际的总线如usb总线,pci总线,也支持虚拟总线。平台总线(Platform bus)是linux2.6内核加入的一种虚拟总线,其优势在于采用了总线的模型对设备与驱动进行了管理,这样提高了程序的可移植性原创 2015-08-30 15:13:07 · 402 阅读 · 0 评论 -
Linux设备驱动简介
设备驱动按照设备的功能来分类,可以分为三类: ①字符设备 ②块设备 ③网络接口原创 2015-08-28 21:39:57 · 653 阅读 · 0 评论 -
嵌入式Linux内核制作
制作嵌入式平台使用的Linux内核,方法和制作PC平台的Linux内核基本一致原创 2015-08-28 21:32:36 · 332 阅读 · 0 评论 -
uboot配置与编译
可以对下载的uboot进行配置以及编译,使其更加适合我们的硬件与需求。原创 2015-08-28 21:30:31 · 601 阅读 · 0 评论 -
Linux内核模块开发
内核模块简介驱动程序通常是以内核模块的形式存在。原创 2015-08-28 21:28:20 · 446 阅读 · 0 评论 -
Linux系统简介
Linux系统划分为用户空间和内核空间。原创 2015-08-27 21:25:03 · 378 阅读 · 0 评论 -
Linux内核配置与编译
介绍了Linux内核配置与编译,以及如何安装内核原创 2015-08-28 21:21:05 · 401 阅读 · 0 评论 -
Linux内存管理
介绍了Linux内存中地址映射以及内存分配原创 2015-08-28 21:36:08 · 385 阅读 · 0 评论 -
硬件访问技术
驱动程序控制设备,主要是通过访问设备内的寄存器来达到控制目的。因此访问硬件的实质就是访问与该硬件相关的寄存器。原创 2015-08-29 18:09:20 · 543 阅读 · 0 评论 -
嵌入式根文件系统制作
根文件系统是一种文件系统,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。内核是Linux系统的核心,但文件却是用户与操作系统交互所采用的主要工具。原创 2015-08-28 21:34:04 · 403 阅读 · 0 评论 -
通过应用程序使用字符设备驱动
介绍了如何通过应用程序使用字符设备驱动原创 2015-08-28 21:41:47 · 662 阅读 · 0 评论 -
Linux内核源代码结构
内核源代码下载地址:www.kernel.org原创 2015-08-27 21:40:50 · 385 阅读 · 0 评论