摘要:
专题12-按键驱动程序设计 第1课-混杂设备驱动模型 在Linux系统中,存在一类字符设备,它们拥有相同的主设备号(10),但次设备号不同,我们称这类设备为混杂设备(miscdevice)。所有的混杂设备形成一个链表,对设备访问时内核根据混杂设备形成一个链表,对设备访问时内核根据次设备号查找到相应的 阅读全文
posted @ 2019-09-03 12:17
free-锻炼身体
阅读(177)
评论(0)
推荐(0)
摘要:
专题11-LED驱动程序设计 第1课-字符设备控制 (1)作用 大部分驱动程序除了需要提供读写设备的能力外,还需要具备控制设备的能力。比如: 改变波特率。 (2)应用程序接口 在用户空间,使用ioctl系统调用来控制设备,原型如下: int ioctl(int fd,unsigned long cm 阅读全文
posted @ 2019-09-03 12:17
free-锻炼身体
阅读(146)
评论(0)
推荐(0)
摘要:
专题10-字符设备驱动模型 第1课-使用字符驱动程序 在Linux系统中,驱动程序通常采用内核模块的程序结构来进行编码。因此,编译/安装一个驱动程序,其实质就是编译/安装一个内核模块。 例子:字符设备驱动程序 编写makefile文件: obj-m := memdev.o KDIR := /home 阅读全文
posted @ 2019-09-03 12:16
free-锻炼身体
阅读(122)
评论(0)
推荐(0)
摘要:
专题9-Linux驱动开发前奏 第1课-驱动开发概述 常规分类法:字符设备,块设备,网络设备。 (1) 字符设备驱动 字符设备是一种按字节来访问的设备,字符驱动则负责驱动字符设备,这样的 驱动通常实现open, close, read和write 系统调用。例:串口,LED,按键。 (2) 块设备驱 阅读全文
posted @ 2019-09-03 12:16
free-锻炼身体
阅读(101)
评论(0)
推荐(0)
摘要:
专题7-Linux内核链表 链表是一种常用的数据结构,它通过指针将一系列数据节点连接成一条数据链。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或删除数据。链表的开销主要是访问的顺序性和组织链的空间损失。 传统链表与Linux 阅读全文
posted @ 2019-09-03 12:15
free-锻炼身体
阅读(155)
评论(0)
推荐(0)
摘要:
专题8-Linux系统调用 在前面的学习中,我们涉及到许多的系统调用函数,如:open、close、read、write等等,但是我们对其调用机制不是太了解。 我们知道linux系统存在内核空间与用户空间,内核空间中的程序需要被用户空间的应用程序引用到,能完成这个调用过程的函数就叫做系统调用函数 应 阅读全文
posted @ 2019-09-03 12:15
free-锻炼身体
阅读(141)
评论(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-锻炼身体
阅读(142)
评论(0)
推荐(0)
摘要:
专题5-内核模块开发 第1课-内核模块基础 什么是内核模块? Linux内核的整体结构非常庞大,其中包含的组件也非常多,如何使用这些组件呢,方法1:把所有的组件都编译到内核文件中,即:zImage或者bzImage,但是这样会导致一个问题:内存占用过多。 有没有一种机制能让内核文件本身并不包含某组件 阅读全文
posted @ 2019-09-03 12:13
free-锻炼身体
阅读(142)
评论(0)
推荐(0)
摘要:
专题3-嵌入式Linux内核制作 一.linux内核简介 (1)Linux系统是怎么构成的? (2)为什么linux系统分为了用户空间和内核空间? 现代CPU通常实现了不同的工作模式,以ARM为例,就实现了7中工作模式: 用户模式(usr),快速中断(fiq),外部中断(irq)、管理模式(svc) 阅读全文
posted @ 2019-09-03 12:12
free-锻炼身体
阅读(113)
评论(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-锻炼身体
阅读(171)
评论(0)
推荐(0)

浙公网安备 33010602011771号