摘要: 【学习笔记】 一、申请字符类设备号 1、字符设备和杂项设备的区别 (1)设备号的不同:杂项设备的主设备号是固定的,固定为10,而字符类设备需要我们自己或者系统来给我们分配。 (2)设备节点的生成方式不同:杂项设备可以自动生成设备节点,而字符设备需要我们自己生成设备节点。 2、两种方法注册字符类设备号 阅读全文
posted @ 2021-07-14 22:50 AkiyamaYusuke 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 【学习笔记】 驱动代码 file_operations.c #include <linux/init.h> #include <linux/module.h> //杂项设备驱动需要增加两个头文件 #include <linux/miscdevice.h> #include <linux/fs.h> 阅读全文
posted @ 2021-06-03 21:19 AkiyamaYusuke 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 交叉编译器的安装和使用 环境Ubuntu 20.04 LTS 前面教程提到了交叉编译器,忘了写具体的安装和配置方式,在这里补充一下 gcc编译器编译的程序只能在x86环境下运行,而不能在arm上运行 gcc运行方式 直接写一个程序hello.c然后输入命令 sudo gcc hello.c #编译器 阅读全文
posted @ 2021-06-01 12:17 AkiyamaYusuke 阅读(36) 评论(0) 推荐(0) 编辑
摘要: ###这里提供相关工具的下载地址 Linux内核下载地址 busybox下载地址 Qemu下载地址 u-boot下载地址 文中使用的版本为Linux-4.9.268、busybox-1.33.0、qemu-5.2.0、u-boot-2021.01-rc4 版本差别不大,应该都没有问题的 一、busy 阅读全文
posted @ 2021-05-26 18:43 AkiyamaYusuke 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 应用层和内核层的数据传输 【学习笔记】 1、应用层和内核层数据传输常用的函数 在Linux中,文件对应的操作有:打开、关闭、读写,同样与文件类似,设备节点对应的操作有:打开、关闭、读写 如果我们在应用层使用系统IO对设备节点进行打开、关闭、读写等操作会发生什么? 【注】: 下面这些函数都定义在lin 阅读全文
posted @ 2021-05-19 11:24 AkiyamaYusuke 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 杂项设备驱动 【学习笔记】 简介 作用 Linux杂项驱动出现的意义在于:有很多简单的外围字符设备,它们功能相对简单,一个设备占用一个主设备号对于内核资源来说太浪费。 所以对于这些简单的字符设备它们共用一个主设备号,不同的设备使用不同的次设备号. 特点 杂项设备是字符设备的一种,可以自动生成设备节点 阅读全文
posted @ 2021-05-11 22:42 AkiyamaYusuke 阅读(79) 评论(0) 推荐(0) 编辑
摘要: Linux驱动简介和开发流程 【学习笔记】 Linux 驱动的分类 Linux三大设备驱动 1、字符设备驱动 IO的传输过程是以字符为单位的,没有缓冲。比如I2C,SPI都是字符设备 2、块设备驱动 IO传输过程中是以块为单位的。跟存储相关的,都属于块设备,比如:tf卡 3、网络设备驱动 与前两个不 阅读全文
posted @ 2021-05-11 21:29 AkiyamaYusuke 阅读(145) 评论(0) 推荐(0) 编辑
摘要: Shell编程 【学习笔记】 认识Shell脚本 Shell 脚本(Shell Script)与Windows/DOS 下的批处理相似,也就是将各类命令预先放入其中,方便一次性执行的一个程序文件,主要用以方便管理员进行设置或者管理。但是Shell 脚本比Windows 下的批处理更强大,比用其他编程 阅读全文
posted @ 2021-05-11 20:06 AkiyamaYusuke 阅读(59) 评论(0) 推荐(0) 编辑
摘要: Linux编程环境 【学习笔记】 vi编辑器 vi 文件名 #进入文件编辑模式 一般模式: yy #复制当前行 y数字y #复制多少行内容 p #箭头移动到目的行粘贴 u #撤销上一步 dd #删除当前行 d数字d #删除光标后多少行 x #删除一个字母(相当于delete) X #删除一个字母(相 阅读全文
posted @ 2021-05-11 19:02 AkiyamaYusuke 阅读(74) 评论(0) 推荐(0) 编辑
摘要: CRC循环冗余校验 简介 循环冗余校验码(cyclic redundancy check)简称CRC(循环码),是一种能力相当强的检错、纠错码,并且实现编码和检码的电路比较简单,常用于串行传送(二进制位串沿一条信号线逐位传送)的辅助存储器与主机的数据通信和计算机网络中。在数据链路层传送的帧中,广泛使 阅读全文
posted @ 2021-05-11 18:01 AkiyamaYusuke 阅读(96) 评论(0) 推荐(0) 编辑