原创宋宝华Linux阅码场3月11日众所周知,Linux的进程睡眠有两种常规状态:TASK_INTERRUPTIBLE(浅度睡眠):可以被等待的资源唤醒,也能被signal唤醒;TASK_UNINTERRUPTIBLE(深度睡眠):可以被等待的资源唤醒,但是不能被signal唤醒。简单来说,深度睡眠的进程必须等待资源来了才能醒,在此之前,甚至你给它发任何的信号,它都不可能醒来。浅度睡眠的进程,则可
分类:
系统相关 时间:
2020-12-02 12:13:52
阅读次数:
7
Linux设备驱动中,中断处理非常重要,尤其是在嵌入式系统中,无时无刻不在与中断打交道,因此,中断处理必须要牢牢掌握。
分类:
系统相关 时间:
2020-09-07 18:39:44
阅读次数:
54
最近看了《Linux设备驱动详解这本书》,简单总结Linux设备驱动开发的一些基础知识。
分类:
系统相关 时间:
2020-08-25 18:38:10
阅读次数:
58
Linux设备驱动运行在内核中,一般只有一份,但是应用程序调用该驱动程序却可能不止一个,这就引入了一个资源共享、并发和竞态的问题。
分类:
系统相关 时间:
2020-08-25 18:29:20
阅读次数:
55
嵌入式Linux设备驱动程序:用户空间中的设备驱动程序 Embedded Linux device drivers: Device drivers in user space Interfacing with Device Drivers Device drivers in user space 用 ...
分类:
系统相关 时间:
2020-07-11 13:04:44
阅读次数:
95
嵌入式Linux设备驱动程序:在运行时读取驱动程序状态 Embedded Linux device drivers: Reading driver state at runtime 在运行时了解驱动程序 一旦有了一个正在运行的Linux系统,了解哪些设备驱动程序被加载以及它们处于什么状态是很有用的。 ...
分类:
系统相关 时间:
2020-07-11 12:46:55
阅读次数:
96
嵌入式Linux设备驱动程序:发现硬件配置 Embedded Linux device drivers: Discovering the hardware configuration Interfacing with Device Drivers 了解硬件配置 虚拟驱动程序演示了一个设备驱动程序的结 ...
分类:
系统相关 时间:
2020-07-11 11:13:22
阅读次数:
108
一个设备驱动的主要任务有两个: 1. 存取设备的内存 2. 处理设备产生的中断 对于第一个任务。UIO 核心实现了mmap()能够处理物理内存(physical memory),逻辑内存(logical memory), 虚拟内存(virtual memory)。UIO驱动的编写是就不须要再考虑这些 ...
分类:
系统相关 时间:
2020-06-05 14:53:58
阅读次数:
93
[导读] 前文分析了Linux设备驱动的驱动模型,本文来聊聊Platform_driver/Platform_device这个类。做嵌入式Linux的驱动,这个也是绕不开的,所以来学习分析总结一下。 上文阅读: 注:代码分析基于linux-5.4.31 为什么有Platform_driver 前文谈 ...
分类:
系统相关 时间:
2020-06-02 22:51:47
阅读次数:
111
整个SPI驱动架构可以分为协议驱动、通用接口层和控制器驱动三大部分。其中,控制器驱动负责最底层的数据收发工作,为了完成数据的收发工作,控制器驱动需要完成以下这些功能: (1)申请必要的硬件资源,例如中断,DMA通道,DMA内存缓冲区等等; (2)配置SPI控制器的工作模式和参数,使之可以和相应的设备 ...
分类:
系统相关 时间:
2020-05-30 21:38:21
阅读次数:
85