
软件Linux Driver
文章平均质量分 50
天马行空_天马行空
技术宅
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
打通linux的tty驱动的数据链路
一、首先把tty驱动在linux中的分层结构理清楚:自上而下分为TTY核心层、TTY线路规程、TTY驱动。二、TTY核心层与线路规程层分析用户空间的程序直接对tty核心层进行读写等相关操作,在tty_io.c中:int__init tty_init(void){cdev_init(&tty_cdev,&tty_fops转载 2013-10-22 10:14:26 · 807 阅读 · 0 评论 -
Linux设备驱动模型
http://blog.youkuaiyun.com/xiahouzuoxin/article/details/8943863尽管LDD3中说对多数程序员掌握设备驱动模型不是必要的,但对于嵌入式Linux的底层程序员而言,对设备驱动模型的学习非常重要。Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。换句话说,Linux设备模型提取了设备操作的共转载 2015-07-03 14:26:33 · 466 阅读 · 0 评论 -
打通linux的tty驱动的数据链路
一、首先把tty驱动在linux中的分层结构理清楚:自上而下分为TTY核心层、TTY线路规程、TTY驱动。二、TTY核心层与线路规程层分析用户空间的程序直接对tty核心层进行读写等相关操作,在tty_io.c中:int__init tty_init(void){cdev_init(&tty_cdev,&tty_fops);转载 2014-11-12 09:45:42 · 695 阅读 · 0 评论 -
掌握 Linux 调试技术
http://www.ibm.com/developerworks/cn/linux/sdk/l-debug/index.html掌握 Linux 调试技术在 Linux 上找出并解决程序错误的主要方法您可以用各种方法来监控运行着的用户空间程序:可以为其运行调试器并单步调试该程序,添加打印语句,或者添加工具来分析程序。本文描述了几转载 2014-04-02 14:22:39 · 693 阅读 · 0 评论 -
线程的那些事儿
线程的那些事儿1.线程通过操作系统原理课,我们知道进程是系统资源分配的基本单位,线程是程序独立运行的基本单位。线程有时候也被称作小型进程,首先,这是因为多个线程之间是可以共享资源的;其次,多个线程之间的切换所花费的代价远远比进程低。在用户态下,使用最广泛的线程操作接口即为POSIX线程接口,即pthread。通过这组接口可以进行线程的创建以及多线程之间的并发控制等。转载 2014-04-10 18:12:35 · 549 阅读 · 0 评论 -
linux+ARM学习路线
(注:这是他人整理通过邮箱分享给本人的,是个大杂烩,原文地址已不易考,望原作者们体谅。)学习步骤如下:1、Linux 基础安装Linux操作系统Linux文件系统Linux常用命令Linux启动过程详解熟悉Linux服务能够独立安装Linux操作系统能够熟练使用Linux系统的基本命令认识Linux系统的常用服务安装Linux操作系统Linux基本命令实践转载 2014-03-12 11:21:15 · 3749 阅读 · 1 评论 -
linux驱动request_threaded_irq()
内核开始支持中断线程(threaded interrupt handler),使用接口request_threaded_irq;原来的request_irq也继续支持。使用时可根据实际情况选择合适的接口,可使用request_threaded_irq的地方没必要继续使用request_irq加tasklet/workqueue或者内核线程的方式;如果中断处理简单时也不要执着使用request_th转载 2014-01-24 19:18:41 · 23991 阅读 · 0 评论 -
android driver wake_lock
Wake lock - wakelock在android的电源管理系统中扮演一个核心的角色,wakelock是一种锁的机制, 只要有task拿着这个锁, 系统就无法进入休眠, 可以被用户态进程和内核线程获得。这个锁可以是有超时的或者是没有超时的, 超时的锁会在时间过去以后自动解锁。如果没有锁了或者超时了, 内核就会启动标准linux的那套休眠机制机制来进入休眠。 wakelock在转载 2013-12-31 16:49:53 · 930 阅读 · 0 评论 -
Linux驱动***_init()宏调用的先后顺序
在linux内核代码里,到处充满了***_init()宏,这些宏先后顺序如何呢?下面以2.6.21内核作为例子。在linux/init.h里,有这样一段代码:#define pure_initcall(fn) __define_initcall("0",fn,1)#define core_initcall(fn) __define_initcall("1",fn,1)#defi转载 2013-11-21 10:26:37 · 1172 阅读 · 0 评论 -
Linux系统下串口接收数据,部分特殊字符丢失的解决方法 .
最近在linux系统中写了个串口接收程序,发送端依次从0x00~0xFF发送字符,但接收端某些字符老接收不到,分析及其解决方法如下:一、只接收到数据:05 06 07 08 09 0a 解决此问题之前我们先看终端I/O的两种输入处理模式:(1) 规范方式输入处理。在这种方式中,终端输入以行为单位进行处理。对于每个读要求,终端驱动程序最多返回一行。(2原创 2013-10-22 10:56:35 · 6157 阅读 · 1 评论 -
linux driver: __FILE__, __FUNCTION__, __LINE__
这是三个非常有用的全局变量,当程序需要输出一些内容,而又想知道输出的内容是在哪里输出的时候,这几个全局变量就派上用场了。__FILE__,__FUNCTION__, __LINE__ 从名字可以直接看出来了,对应的:代码文件名, 函数名, 行号。没啥好说的了,我不是写书的啊。示例代码:-------------------------------------------------转载 2013-10-22 11:01:06 · 1161 阅读 · 0 评论 -
Tasklet与Workqueue
一、中断处理的tasklet(小任务)机制中断服务程序一般都是在中断请求关闭的条件下执行的,以避免嵌套而使中断控制复杂化。但是,中断是一个随机事件,它随时会到来,如果关中断的时间太长,CPU就不能及时响应其他的中断请求,从而造成中断的丢失。因此,Linux内核的目标就是尽可能快的处理完中断请求,尽其所能把更多的处理向后推迟。例如,假设一个数据块已经达到了网线,当中断控制器接受到这个中断请求转载 2017-02-27 18:37:20 · 529 阅读 · 0 评论