linux开发
文章平均质量分 75
上天肖
从百草园到三味书屋
展开
-
Linux驱动学习(4) MTD字符驱动和块驱动2
前面介绍了mtd子系统的框架,接下来介绍mtd字符设备驱动mtd字符设备驱动主要要了解mtd_info和nand_chip的函数指针赋值流程,不同结构体之间的联系。原创 2023-06-28 11:07:53 · 727 阅读 · 0 评论 -
Linux驱动学习(4) MTD字符驱动和块驱动3
前面学习了mtd字符设备驱动的初始化流程和读写流程,其实原理和操作方法和一般的字符设备驱动一致,本章学习的块设备驱动会有较多不一样的地方。一、mtd块设备是什么?mtd块设备主要是给vfs提供存储设备随机读写的驱动。相比于字符驱动,块设备驱动有以下几点不同:①,块设备驱动以块的形式访问设备,字符设备以字节。②块设备能够随机访问设备,字符设备只能顺序访问。③,块设备有缓存,能够存储访问请求,在合适的实际对设备进行操作,字符设备往往没有缓存,对设备及时操作。原创 2023-06-28 21:15:59 · 600 阅读 · 0 评论 -
Linux驱动学习(4) MTD字符驱动和块驱动1
MTD设备在嵌入式设备中时常被用到,linux系统到底如何使用MTD设备是每个嵌入式开发者必须要弄清楚的一门技术。例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。原创 2023-06-26 21:32:38 · 2322 阅读 · 0 评论 -
linux C定时器总结
linux c定时器原创 2022-05-08 21:05:32 · 4866 阅读 · 0 评论 -
Glibc编译过程总结
glibc编译原创 2022-01-29 01:35:02 · 7561 阅读 · 0 评论 -
Ubuntu16.04虚拟机编译busybox
Ubuntu16.04虚拟机编译busybox原创 2022-01-04 23:53:49 · 513 阅读 · 0 评论 -
Linux驱动学习(3) 驱动模型简介之usbhid和hid-generic驱动区别
驱动模型简介之usbhid和hid-generic驱动区别参考书籍:《LINUX设备驱动程序》(一)驱动模型简介,三个重要结概念总线,设备,驱动1.总线:a、处理器与单个或多个设备通信的通道b、可以互相插入表示结构体bus_type{var:name //名字subsystem //子系统,常常是自己devices//此总线上添加的设备drivers//此总线上添加的驱动...原创 2019-02-11 17:51:09 · 4654 阅读 · 0 评论 -
Linux驱动学习(2) 从usb驱动到input子系统4
替换内核USB鼠标驱动(一)开发环境介绍1.使用win7_64的笔记本搭建Virtualbox虚拟机,安装Ubuntu16.04系统作为编译环境。为了减少内核版本和应用程序的影响,此章采用《Linux内核学习(3)最小系统制作》中搭建的最小系统linux4.15.0+rootfs(Busybox)环境,使用虚拟机启动此最小系统。(二)屏蔽内核驱动1.这里必须明白内核如何使用USB鼠标驱动...原创 2019-01-29 22:08:50 · 656 阅读 · 0 评论 -
Linux驱动学习(2) 从usb驱动到input子系统3
input输入子系统(一)Input子系统简介1.内核中有一些文档对input子系统有详细的描述例如\linux-source-4.15.0\Documentation\input\input.rst :For the most usual configuration, with one USB mouse and one USB keyboard,you'll have to load...原创 2019-01-29 20:05:01 · 831 阅读 · 0 评论 -
Linux驱动学习(2) 从usb驱动到input子系统2
USB驱动的学习参考博客:https://blog.csdn.net/qq_21792169/article/details/48790745参考书籍:《Linux设备驱动程序》(一)USB驱动概述1.要写鼠标驱动,首先必须理解USB设备层次,《Linux设备驱动程序》中给出的层次图如下。USB层次主要有三层架构,USB主控制器驱动(USB Host Controllers)直接和USB硬...原创 2019-01-28 00:27:16 · 382 阅读 · 0 评论 -
Linux内核学习(3) 最小系统制作2 busybox制作initrd.img和根文件系统
busybox制作initrd.img和根文件系统参考书籍:《深度探索Linux操作系统 系统构建和原理解析》参考博客:https://blog.csdn.net/mao0514/article/details/51248738(一)开发环境介绍1.使用win7_64的笔记本安装Virtualbox虚拟机,笔记本cpu为i5-2450m。虚拟机上安装Ubuntu16.04系统作为编译环境,...原创 2019-01-25 00:28:51 · 5063 阅读 · 1 评论 -
Linux驱动学习(2) 从usb驱动到input子系统1
获取设备事件(一)开发环境介绍1.使用win7_64的笔记本搭建Virtualbox虚拟机,安装Ubuntu16.04系统作为编译环境。2.为了减少内核版本和应用程序的影响,此章采用《Linux内核学习(3)最小系统制作》中搭建的最小系统linux4.15.0+rootfs(Busybox)环境,使用虚拟机启动此最小系统。(二)此节先不详细说明Linux input子系统的架构,而是简单举...原创 2019-01-25 00:38:37 · 337 阅读 · 0 评论 -
Linux驱动学习(1) 创建设备方法
参考书籍:《Linux设备驱动程序》(一)编写驱动程序有三个要素,主次设备号,设备文件(又叫设备结点),设备操作方法。怎样在驱动中将三者联系起来成为理解驱动的重要途径,我们通过创建设备号的动态静态方式,创建设备文件的自动手动方式来理解驱动。(二)主次设备号1.设备号是通过两个个整数来描述驱动对应设备,其中主设备号对应驱动程序,次设备号对应设备序号。也就是多个设备可能公用一个驱动,也就是公用一...原创 2019-01-13 21:06:19 · 535 阅读 · 0 评论 -
Linux内核学习(3)最小系统制作1 启动initrd
Linux内核学习(3)最小系统制作参考书籍:《深度探索Linux操作系统 系统构建和原理解析》参考博文:https://blog.csdn.net/lixiangminghate/article/details/55224412(一)配置内核方式介绍1.按照芯片使用默认配置,代码中本身内置了支持的多类芯片,可以在/arch/XXX(平台名,例如arm)/configs/xxx(Soc名,...原创 2019-01-12 16:38:02 · 2501 阅读 · 1 评论 -
Linux内核学习(2)文件系统的理解
Linux内核学习(2)启动文件系统参考书籍:《深入理解Linux内核》(一)文件系统简介1.文件系统是一个比较广泛的称呼,我们经常把三类不怎么相关但都属于文件系统技术的文件系统弄混淆。(1)ext1-4 ,jffs1-2 ,yaffs1-2,ubifs,logfs这一类文件系统描述的是数据在物理设备上存储的机制,比如磁盘中块组的结构。(2)initrd,initramfs这一类文件...原创 2019-01-12 16:31:10 · 462 阅读 · 0 评论 -
Linux内核学习(1) VFS学习
Linux内核学习(1)VFS参考书籍:《深入理解Linux内核》VFS简介VFS称为虚拟文件系统,linux设计上分为用户空间和内核空间,VFS的功能就是让用户空间的程序不用管文件系统的格式和类型从而进行统一的操作,所以这样说VFS就是文件操作的适配器。下面是《深入理解Linux内核》中举的例子,当我们把一个文件系统(软盘)中的文件拷贝到另一个文件系统中去时,用户空间中只需要调用op...原创 2019-01-12 16:25:31 · 660 阅读 · 1 评论