嵌入式Linux中文站

最新发布

Linux Kernel最新版本 4.0 正式发布啦
行业新闻

Linux Kernel最新版本 4.0 正式发布啦

阅读(166)

近日由Greg Kroah-Hartman宣布了免费开源系统Linux Kernel 4.0 正式稳定版发布啦!Linux内核正式进入 4.0 全新内核时代,Linux Kernel 4.0 最值得关注的特性应该就是内核补丁无需重启系统,该技术基于 Ksplice 实现。 基本介绍 长期支持版内核针对的...

Linus Torvalds: 成功的项目源于99%的汗水与1%的创新
行业新闻

Linus Torvalds: 成功的项目源于99%的汗水与1%的创新

阅读(110)

2017年2月15日,在加利福尼亚州的 开源领袖峰会 上,由Linux基金会执行董事Jim Zemlin进行的一次采访中,Torvalds讨论了他如何管理Linux内核的开发以及他对工作的态度。 Linus Torvalds认为,科技行业对创新的颂扬是一种自鸣...

 学会用core dump调试程序错误
系统开发

学会用core dump调试程序错误

阅读(150)

最来在项目中遇到大型程序出现SIGSEGV ,一直不知道用core dump工具来调试程序,花了近一周的时间,才定位问题,老大很生气,后果很严重,呵呵,事后仔细学习了这块的知识,了解一点core dump的知识。 在使用半导体作为内存的材料前,人类是利用线...

Linux input子系统编程、分析与模板
系统开发

Linux input子系统编程、分析与模板

阅读(134)

输入设备都有共性:中断驱动+字符IO ,基于分层的思想,Linux内核将这些设备的公有的部分提取出来,基于cdev提供接口,设计了输入子系统,所有使用输入子系统构建的设备都使用 主设备号13 ,同时输入子系统也 支持自动创建设备文件 ,这些文件采用阻...

Linux shell中的find查找命令
新手入门

Linux shell中的find查找命令

阅读(118)

find # 格式 find [路径] [参数] [表达式] -exec 指令 {} \ ; -{} 代表find找到的文件 -\ 禁止转意 ; 表示本行指令结束 # find /sbin -type f -size +1M -exec ls {} \; --在/sbin目录中查找文件类型为常规文件并且文件大小大于1M,再使用ls命令...

Linux驱动技术(三) _DMA编程
内核驱动

Linux驱动技术(三) _DMA编程

阅读(172)

DMA即Direct Memory Access,是一种允许外设直接存取内存数据而没有CPU参与的技术,当外设对于该块内存的读写完成之后,DMAC通过中断通知CPU,这种技术多用于对数据量和数据传输速度都有很高要求的外设控制,比如显示设备等。 DMA和Cache一致性 我...

Linux Kernel suspend/resume 过程
内核驱动

Linux Kernel suspend/resume 过程

阅读(153)

休眠/唤醒在嵌入式Linux中是非常重要的部分,嵌入式设备尽可能的进入休眠状 态来延长电池的续航时间.这篇文章就详细介绍一下Linux中休眠/唤醒是如何工作 的 参考文章:作者: zhangjiejing kzjeef#gmail.com Date: 2010-04-07, http://www.thinksrc.c...

Linux驱动技术(四) _异步通知技术
内核驱动

Linux驱动技术(四) _异步通知技术

阅读(223)

异步通知的全称是信号驱动的异步IO,通过信号的方式,放期望获取的资源可用时,驱动会主动通知指定的应用程序,和应用层的信号相对应,这里使用的是信号 SIGIO 。操作步骤是 应用层程序将自己注册为接收来自设备文件的SIGIO信号的进程 驱动实现相应...

Linux驱动技术(五) _设备阻塞/非阻塞读写
内核驱动

Linux驱动技术(五) _设备阻塞/非阻塞读写

阅读(170)

等待队列 是内核中实现进程调度的一个十分重要的数据结构,其任务是维护一个链表,链表中每一个节点都是一个PCB(进程控制块), 内核会将PCB挂在等待队列中的所有进程都调度为睡眠状态,直到某个唤醒的条件发生 。应用层的阻塞IO与非阻塞IO的使用我...

Linux驱动技术(六) _内核中断
内核驱动

Linux驱动技术(六) _内核中断

阅读(184)

在硬件上,中断源可以通过中断控制器向CPU提交中断,进而引发中断处理程序的执行,不过这种硬件中断体系每一种CPU都不一样,而Linux作为操作系统,需要同时支持这些中断体系,如此一来,Linux中就提出了 软中断 的概念,也有人叫 内核中断 ,其本质...

Linux驱动技术(七) _内核定时器与延迟工作
内核驱动

Linux驱动技术(七) _内核定时器与延迟工作

阅读(80)

内核定时器 软件上的定时器最终要依靠硬件时钟来实现,简单的说,内核会在时钟中断发生后检测各个注册到内核的定时器是否到期,如果到期,就回调相应的注册函数,将其作为中断底半部来执行。实际上,时钟中断处理程序会触发TIMER_SOFTIRQ软中断,运...

Linux驱动技术(八) _并发控制技术
内核驱动

Linux驱动技术(八) _并发控制技术

阅读(72)

为了实现对临界资源的有效管理,应用层的程序有原子变量,条件变量,信号量来控制并发,同样的问题也存在与驱动开发中,比如一个驱动同时被多个应用层程序调用,此时驱动中的全局变量会同时属于多个应用层进程的进程空间,这种情况下也要使用一些技...

uboot的配置流程分析
系统开发

uboot的配置流程分析

阅读(233)

简单介绍一下uboot的基本配置流程。和绝大多数源码编译安装一样,uboot在执行 make 之前需要执行 make XXXconfig 来配置相关信息,而且uboot本身是针对多种平台的bootloader,所以编译的过程也会有一点小麻烦,需要对它的源码结构有一点了解。移植u...

Linux IPC POSIX 信号量
系统开发

Linux IPC POSIX 信号量

阅读(211)

模型 # include semaphore.h # include sys/stat.h # include fcntl.h sem_open() //初始化并打开有名信号量 sem_init() //创建/获得无名信号量 sem_wait()/sem_trywait()/sem_timedwait()/sem_post()/sem_getvalue() //操作信号量 sem_close() //...