摘要: 专题21-USB驱动程序设计 第1课-USB总线介绍 USB(Universal Serial Bus ),通用串行总线,是一种外部总线标准,用于规范电脑与外部设备的连接和通讯。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的,自1996年推出后,已成功替代串口和 阅读全文
posted @ 2019-09-03 12:24 free-锻炼身体 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 专题20-SPI驱动程序设计 第1课-SPI总线介绍 SPI(Serial Peripheral Interface)串行外设接口,是一种高速的,全双工,同步的通信总线。采用主从模式(Master Slave)架构,支持多个slave,一般仅支持单Master。 SPI接口共有4根信号线,分别是:设 阅读全文
posted @ 2019-09-03 12:24 free-锻炼身体 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 专题19-I2C驱动程序设计 第1课-I2C总线介绍 (1) 电气特性 I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。 I2C总线只有两根双向信号线。SDA: Serial Data Line-数据线SCL : 阅读全文
posted @ 2019-09-03 12:23 free-锻炼身体 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 专题17-LCD驱动程序设计 第1课-LCD驱动程序架构 https://www.cnblogs.com/lishixian/articles/2999923.html 第2课-LCD驱动程序分析 第3课-LCD驱动程序实现 阅读全文
posted @ 2019-09-03 12:22 free-锻炼身体 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 专题18-FLASH驱动程序设计 第1课-块设备驱动系统架构 块设备是指只能以块为单位进行访问的设备,块大小一般是512个字节的整数倍。常见的块设备包括硬件,SD卡,光盘等。 l insmod simple-blk.ko l ls /dev/simp_blkdev0 l mkfs.ext3 /dev 阅读全文
posted @ 2019-09-03 12:22 free-锻炼身体 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 专题5-触摸屏驱动程序设计 第1课-输入子系统模型解析 输入子系统由设备驱动层(input device driver),核心层(input core)和事件驱动层(event driver)三部份组成。任何一次输入事件,如鼠标移动,按 键按下,都需要通过InputDeviceDriver->Inp 阅读全文
posted @ 2019-09-03 12:21 free-锻炼身体 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 专题15-网卡驱动程序设计 第1课-网卡驱动架构分析 l Linux网络子系统 l 系统调用接口层:为应用程序提供访问网络子系统的统一方法。 l 协议无关层:提供通用的方法来使用传输层协议。 l 协议栈的实现:实现具体的网络协议 l 设备无关层:协议与设备驱动之前通信的通用接口 l 设备驱动程序 在 阅读全文
posted @ 2019-09-03 12:20 free-锻炼身体 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 专题14-串口驱动程序设计 第1课-tty驱动架构 在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备。 l 串口终端(/dev/ttyS*) 串口终端是使用计算机串口连接的终端设备。Linux 把每个串行端口都看作是一个字符设备。这些串行 端口所对应的 阅读全文
posted @ 2019-09-03 12:19 free-锻炼身体 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 专题2-总线设备驱动模型 第1课-总线设备驱动模型 随着技术的不断进步,系统的拓扑结构也越来越复杂,对热插拔,跨平台移植性的 要求也越来越高,2.4内核已经难以满足这些需求。为适应这种形势的需要,从Linux 2.6内核开始提供了全新的设备模型。 (1) 描述结构 在Linux 内核中, 总线由bu 阅读全文
posted @ 2019-09-03 12:18 free-锻炼身体 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 专题12-按键驱动程序设计 第1课-混杂设备驱动模型 在Linux系统中,存在一类字符设备,它们拥有相同的主设备号(10),但次设备号不同,我们称这类设备为混杂设备(miscdevice)。所有的混杂设备形成一个链表,对设备访问时内核根据混杂设备形成一个链表,对设备访问时内核根据次设备号查找到相应的 阅读全文
posted @ 2019-09-03 12:17 free-锻炼身体 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 专题11-LED驱动程序设计 第1课-字符设备控制 (1)作用 大部分驱动程序除了需要提供读写设备的能力外,还需要具备控制设备的能力。比如: 改变波特率。 (2)应用程序接口 在用户空间,使用ioctl系统调用来控制设备,原型如下: int ioctl(int fd,unsigned long cm 阅读全文
posted @ 2019-09-03 12:17 free-锻炼身体 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 专题10-字符设备驱动模型 第1课-使用字符驱动程序 在Linux系统中,驱动程序通常采用内核模块的程序结构来进行编码。因此,编译/安装一个驱动程序,其实质就是编译/安装一个内核模块。 例子:字符设备驱动程序 编写makefile文件: obj-m := memdev.o KDIR := /home 阅读全文
posted @ 2019-09-03 12:16 free-锻炼身体 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 专题9-Linux驱动开发前奏 第1课-驱动开发概述 常规分类法:字符设备,块设备,网络设备。 (1) 字符设备驱动 字符设备是一种按字节来访问的设备,字符驱动则负责驱动字符设备,这样的 驱动通常实现open, close, read和write 系统调用。例:串口,LED,按键。 (2) 块设备驱 阅读全文
posted @ 2019-09-03 12:16 free-锻炼身体 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 专题7-Linux内核链表 链表是一种常用的数据结构,它通过指针将一系列数据节点连接成一条数据链。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序性和组织链的空间损失。 传统链表与Linux 阅读全文
posted @ 2019-09-03 12:15 free-锻炼身体 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 专题8-Linux系统调用 在前面的学习中,我们涉及到许多的系统调用函数,如:open、close、read、write等等,但是我们对其调用机制不是太了解。 我们知道linux系统存在内核空间与用户空间,内核空间中的程序需要被用户空间的应用程序引用到,能完成这个调用过程的函数就叫做系统调用函数 应 阅读全文
posted @ 2019-09-03 12:15 free-锻炼身体 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 专题6-Linux内核子系统 第1课-Linux内存管理子系统 1. 内存管理模型 (1)子系统简介 System Call Interface(SCI)系统调用接口 Process Management(PM) Virtual File System(VFS)虚拟文件系统 Memory Manag 阅读全文
posted @ 2019-09-03 12:14 free-锻炼身体 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 专题5-内核模块开发 第1课-内核模块基础 什么是内核模块? Linux内核的整体结构非常庞大,其中包含的组件也非常多,如何使用这些组件呢,方法1:把所有的组件都编译到内核文件中,即:zImage或者bzImage,但是这样会导致一个问题:内存占用过多。 有没有一种机制能让内核文件本身并不包含某组件 阅读全文
posted @ 2019-09-03 12:13 free-锻炼身体 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 专题3-嵌入式Linux内核制作 一.linux内核简介 (1)Linux系统是怎么构成的? (2)为什么linux系统分为了用户空间和内核空间? 现代CPU通常实现了不同的工作模式,以ARM为例,就实现了7中工作模式: 用户模式(usr),快速中断(fiq),外部中断(irq)、管理模式(svc) 阅读全文
posted @ 2019-09-03 12:12 free-锻炼身体 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 专题4-嵌入式文件系统 目录和目录中的文件就是文件系统。 (1) 创建目录 #mkdir rootfs #cd rootfs #mkdir bin dev etc lib proc sbin sys usr mnt tmp var #mkdir usr/bin usr/lib usr/sbin li 阅读全文
posted @ 2019-09-03 12:12 free-锻炼身体 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 专题2-U-Boot新手入门 对于u-boot的使用主要分为两个方面,一个方面是u-boot的使用,另一个是它的开发。 2.1 编译u-boot 嵌入式的层次:bootloader(u-boot),linux内核,根文件系统。 1. 配置U-Boot TQ210: make TQ210_config 阅读全文
posted @ 2019-09-03 12:11 free-锻炼身体 阅读(171) 评论(0) 推荐(0) 编辑