五、试题题型 有单选题、填空题、简答题、命令应用题、程序设计题等五种题型。 ?单选题:给出一些有关vi编辑器、gdb调试器、make工程管理器、Bootloader、文件系统以及嵌入式Linux应用程序、嵌入式Linux驱动程序、Linux进程间通信以及Linux下的SOCKET通信等知识的不完全叙 ...
分类:
其他好文 时间:
2020-06-18 21:35:31
阅读次数:
82
(一)驱动程序介绍 (a)Linux驱动程序学习 知识结构: 1. Linux驱动程序设计模式(40%) 2. 内核相关知识(30%) 3. 硬件相关知识(30%) (b)驱动分类: ①字符设备: 字符设备是一种按字节来访问的设备,字符驱动则负责驱动字符设备,这样的驱动通常实现 open, clos ...
分类:
系统相关 时间:
2019-12-29 13:03:04
阅读次数:
89
在Linux 驱动程序中,可以使用等待队列来实现阻塞进程的唤醒。等待队列的头部定义如下,是一个双向列表。 struct list_head { struct list_head *next, *prev; }; struct __wait_queue_head { spinlock_t lock; ...
分类:
系统相关 时间:
2019-11-18 20:34:56
阅读次数:
111
linux驱动程序开发1、linux驱动工程师需要具备的知识 1)硬件的知识 看懂电路原理图 (二极管 三极管 电阻...) 底板和核心板中名称相同的导线是同一条导线 目的:找到要驱动的硬件和CPU的连接方式 熟悉常见的接口:gpio uart i2c 1-wire spi 485 can usb ...
分类:
其他好文 时间:
2019-11-12 20:30:14
阅读次数:
111
今天记录一下简单的Linux驱动程序怎么写以及如何加载/卸载驱动 以hello.c为例: hello.c #ifndef __KERNEL__ # define __KERNEL__ #endif #ifndef MODULE # define MODULE #endif #include <lin ...
分类:
系统相关 时间:
2019-06-21 22:17:38
阅读次数:
214
1.主设备号和次设备号 下图中,“”5月”的前两列分别是主设备号和次设备号,主设备号用来标识设备对应的驱动程序,次设备号用来确定设备文件所指的设备。 在内核,dev_t类型用来保存设备编号,位于文件<linux/types.h>。目前版本(3.1),dev_t 是一个unsigned int 类型, ...
分类:
系统相关 时间:
2019-05-18 09:59:26
阅读次数:
181
作为一个搞android驱动或者说搞底层的人,我觉得对于hal那是必须要掌握的,而且必须达到一定深度,于是我总结了一下,将整个自己的分析思路写下来。 主要是看android源代码,根据源代码得到的思路。(看源代码比看什么著作书籍都管用) android HAL是什么?为什么有它? 硬件抽象层是介于a ...
分类:
移动开发 时间:
2019-03-26 16:35:52
阅读次数:
196
关于linux和linux驱动程序解bug的技巧和思考方法解bug三步:1)看log,看现象。2)对比代码分析过程,程序流程,线程、中断、workqueue等各个独立执行体的交互3)调试,加入log、验证。光看代码只能停留在理论上,一定要亲手调试一下才真正知道。另外对比正常和异常时的行为和log区别,交叉试验,才能发现问题的关键。注意各种调试尝试,各种替换调试,即好的和坏的,好的A和好的C,好的A
分类:
系统相关 时间:
2019-03-24 00:19:30
阅读次数:
251
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
<背景> 在linux系统驱动程序中,因为要面临各种各样的硬件,字符设备,快设备,网络接口设备,USB设备,PCI设备,平台设备,混在设备 ,设备不同则所对应的驱动模型不同,这就导致我们要掌握众多的驱动模型,能从这些众多的驱动模型中找到共性,则是学号linux驱动的关键 <linux 驱动程序的编写 ...
分类:
其他好文 时间:
2018-03-17 15:24:34
阅读次数:
213