自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Linux 字符设备驱动 之 无法归类的《杂项设备驱动》

了解 杂项设备驱动 和普通字符设备的异同,及杂项设备驱动程序的写法。

2024-10-24 10:52:25 696

原创 Linux 字符设备驱动程序 异常处理

掌握异常处理,让bug的藏身地显露出来。

2024-10-23 17:28:41 1027

原创 柿子要挑软的捏 - Linux字符设备驱动 -- 5

了解文件私有数据的用法;掌握在一个驱动程序中处理多个子设备。

2024-10-22 17:07:31 977

原创 柿子要挑软的捏 - Linux字符设备驱动 -- 4

了解内存空间在Linux中的用户空间和内核空间,进程的用户态和内核态的概念。掌握驱动程序在用户空间和内核空间进行数据交换的方法。

2024-10-22 10:33:01 937

原创 柿子要挑软的捏 - 字符驱动程序 -- 3

掌握如何把驱动程序提供给应用程序使用 -- 设备节点。

2024-10-21 10:08:23 719

原创 柿子要挑软的捏 - Linux字符设备驱动 -- 2

掌握描述字符设备的机构体及相关操作。

2024-10-16 17:18:09 848

原创 柿子要挑软的捏-先探探“Linux字符设备驱动”的底 -- 1

掌握设备号的作用和申请、注册和注销的方法。

2024-10-15 18:35:35 882

原创 Linux设备及对应的驱动分类

Linux系统将设备分为3个基础大类类型:字符设备、块设备和网络接口设备。1.字符设备字符设备是指那些的设备,不能随机读取设备内存中的某一数据。其读取数据需要按照先后顺序,从这点来看,字符设备是面向数据流的设备。常见的字符有鼠标、键盘、串口、控制台和LED等设备。2.块设备块设备是指那些可以的设备。其读取数据不必按照先后顺序,可以定位到设备的某一具体位置,读取数据。常见的块设备有硬盘、磁盘、 U盘、SD卡等。如何区分 字符设备和块设备?

2024-10-12 16:03:22 803

原创 了解系统调用,添加一个自定义的系统调用

我们的所谓服务也就是输出一句 “My syscall test ...”的程序。这段程序具体放在什么内核什么位置是没有要求的,但是需要添加进内核的编译配置里面,不知道怎么配置的,可以参考编进内核的模块一篇中的方法---添加helloworld模块的方法。这里咱们为了省略这些配置步骤,直接改写helloworld.c。/* note: 给内核添加自己的系统调用 */return 0;可以看到这里我们使用的宏定义是 SYSCALL_DEFINE0,因为我们仅需要打印一句,不需要别的参数。

2024-10-11 16:32:21 1096

原创 让你的驱动提早加载的方法和原理

学会让自定义驱动提早加载的方法了解能早加载的原理。

2024-10-08 17:19:34 1025

原创 Linux 模块之间函数调用之关键-Linux 内核模块符号导出

掌握Linux 内核模块符号导出;掌握Linux 内核模块符号表中符号使用方法。

2024-09-29 12:01:38 454

原创 把Linux驱动编译到内核

其次,为了让内核编译 Makefile 可以调用这个 Makefile,我们还需要将 helloworld 的 Makefile 引用到上一级目录的 Makefile 中,也就是 kernel/drivers/char/ 下的 Makefile 中。不,还要添加到支撑 "Character devices" 菜单的Kconfig下,我们才能在"Character devices" 菜单下看到我们创建的条目。单独编译驱动程序的Makefile,在我们要编译进内核时就不合适用了,那应该是什么样子?

2024-09-27 14:58:32 479

原创 把Linux驱动编译到内核的预备知识-Kconfig 文件语法

可以看到这个标题里包含两个变量:ARCH 和 KERNELVERSION,注意一下,$(变量)是取变量的值,对于下图来说,$(ARCH)就是x86,$(KERNELVERSION)就是5.10.160。可以看出menu/endmenu是用来生成菜单的,menu是菜单开始的标志,后面跟的"Device Drivers"就是子菜单的名称,endmenu是菜单结束的标志,这两个是成对出现的。每个选项都必须指定类型,类型包括bool,tristate,string,hex,int。这是又一个成对出现的关键字。

2024-09-27 12:19:26 823

原创 把Linux驱动编译到内核的预备知识-图像界面(make menuconfig)

1、了解图形化配置界面的基本操作。2、了解支持图像化界面文件:Kconfig、config、.config,以及编译规则文件Makefile。

2024-09-26 18:50:42 817

原创 命令使用:Linux驱动内核模块加载、卸载、查看命令

驱动模块编译出来了,那么怎么使用?看看这些命令吧。

2024-09-26 17:42:21 312

原创 再来一点,把Linux驱动程序编译成内核模块

学习如何把驱动程序编译成linux 内核模块。

2024-09-26 17:33:12 343

原创 小目标一:最简单的Linux驱动结构

认识最简单的Linux驱动由一下哪几个部分组成?了解编译驱动程序有哪些方式?了解什么是Linux内核模块。

2024-09-26 17:05:33 160

原创 Hi,Linux源码

Linux 内核源码包含多级目录,形成一个巨大的树状结构,进入源码所在的目录,就是 Linux 源码的顶级目录。嵌入式Linux 源码获取:去芯片厂商官网获取对应芯片的源码包。了解Linux 内核源码目录结构。Linux 源码目录结构。

2024-09-26 16:45:09 274

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除