linux 下块设备驱动开发学习笔记 2(sbull驱动在vmware上测试)

LDD3示例代码sbull编译问题 编译块设备驱动程序实例代码sbull遇到的问题 示例代码版本为 2.6.10,编译时的内核版本为2.6.39。内核中许多函数和结构发生变化,造成了编译问题,记录如下: error: unknown type name ‘request_queue_t’ 原因:新版内核中已经没有request_queue_t的定义 解决方法:可在代码所在文件添加如下定义: typedef struct requ... 阅读详情

在我们make完,生成一个ko文件后,我们就可以测试。

1、insmode skull.ko

2、more /proc/devices

3、ls  /dev/sbull

sbulla    sbullb   sbullc  sbulld

4、fdisk  /dev/sbulla

m-n-p-1- -w -p

这时就在dev下有一个sbulla1的分区

5、格式化,使指定文件系统 

mke2fs  /dev/sbulla1

6、mount   /dev/sbulla1   /mnt

这时就可以在mnt下进行读写操作。


【Linux】LDD3中sbull源码编译问题梳理 LDD3,linux设备驱动第三版用的内核是2.6.10,在编译的时候我用的是2.6.32 2.6.32相比2.6.10在块设备驱动上,简直是动了大手术,编译基本满满错误,这里梳理一下我遇到全部的错误 很多都是网上找的资料,只有小部分是我写的: 1、包含文件 错误:没有#include 改法:删掉 2、整一个块设备驱动的struct block_device_operation 阅读详情

相关推荐

linux sbull 源码

该源码是在原基础上修改可以运行在内核版本为2.6.32上的源代码文件。

linux 下块设备驱动开发学习笔记 2(sbull驱动分析)

//这个驱动是针对gendisk下的buff来实现的,没有用到bio #include #include #include #include  //包含头文件 #include #include /* printk() */ #include /* kmalloc() */ #include /* everything... */ #include /*

Bean Huo 1698

块设备驱动sbull.c

ramdisk设备的驱动程序sbull,虚拟出几个磁盘,并可以对这个虚拟磁盘进行格式化、文件复制和查看等操作。

shell程序中 2> /dev/null 代表什么意思?

作者:裕用ID 链接:https://www.zhihu.com/question/53295083/answer/135258024 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 以下来自一个重度linux使用患者不请自来的回答。 先用简单的语言回答题主的问题: shell程序中 2> /dev/null 代表什么意思? 答:“2> /dev/null” 代表忽略掉错误提示信息。 如题 2> 代表什么意思?讲错误输出删除? 答:“2&g.

glenshappy的专栏 1万+

第18届全国大学生智能汽车竞赛四轮车控制策略深度解析:从舵机PID到速度闭环

本文深度解析了第18届全国大学生智能汽车竞赛中四轮车的核心控制策略。从舵机PID方向控制的基础原理与机械校准入手,详细阐述了误差计算、PD控制等关键环节;进而深入探讨了基于编码器的速度闭环控制,包括增量式PI算法与速度决策逻辑。文章结合实战经验,提供了方向环与速度环的协同调参思路与避坑指南,旨在帮助参赛者构建稳定、高效的智能车控制系统。

potato的博客 463

大模型量化技术全解析:从INT8到GPTQ/AWQ,降低部署成本实战指南

模型量化是一种通过降低神经网络权重和激活值的数据精度(如从FP16降至INT8/INT4),从而大幅减少模型内存占用和计算开销的核心模型压缩技术。其原理基于线性变换,将高精度浮点数映射到低精度整数表示,在硬件层面能利用专用低精度计算单元实现显著加速。这项技术的核心价值在于解决了大模型(如千亿参数LLM)部署时面临的高昂显存成本和推理延迟问题,使其能在消费级GPU和边缘设备上高效运行。当前,后训练量化(PTQ)因其无需重新训练的特性成为主流,衍生出GPTQ、AWQ、SmoothQuant等多种方法,广泛应用于

weixin_33804582的博客 630

Linux 输入输出重定向 2>/dev/null和>/dev/null 2>&1和2>&1>/dev/nul、$(( )) 与 $( ) 与 ${ } 区别

Linux 输入输出重定向 2>/dev/null和>/dev/null 2>&1和2>&1>/dev/nul、$(( )) 与 $( ) 与 ${ } 区别

freeking101的博客 2万+

告别环境配置焦虑:在Win10的Ubuntu子系统里搞定CSAPP实验环境(附32/64位库编译指南)

本文详细介绍了如何在Win10的Ubuntu子系统中搭建CSAPP实验环境,包括WSL 2的安装与配置、32/64位库的编译指南以及高效开发工具链的设置。通过优化WSL性能和使用实用技巧,开发者可以轻松应对CSAPP实验中的环境配置问题,提升学习效率。

weixin_30443813的博客 296

linux 块设备驱动(四)——简单的sbull实例

#include <linux/module.h> #include <linux/moduleparam.h> #include <linux/init.h> #include <linux/sched.h> #include <linux/kernel.h> #include <linux/slab.h> #in...

weixin_30794499的博客 295

四、Burpsuite工具之proxy模块详解-intercept功能

过了一个年,感觉好久都没有更新了,今天就从burpsuite的更新开始吧。前面已经说过了burpsuite的安装和proxy代理的配置,今天说一下proxy模块中非常有用的intercept功能。intercept是拦截的意思,在这里相当于拦截请求,可以实时的对请求进行拦截,然后请求参数的篡改,再把请求放通,从而达到实时修改请求的功能intercept的总体界面如下图所示其中下图红框中是可以修改请求目标的相关信息。

SmileAssassn的博客 1663

从Bit到MCS:深度解析Xilinx FPGA程序固化流程与文件选型

本文深度解析Xilinx FPGA程序从调试到量产的固化流程,重点对比BIT、BIN、MCS和ELF四种文件格式的特性与适用场景。针对工业级应用,详细讲解MCS文件的生成优化、Flash烧录避坑指南及三级验证流程,并分享多镜像管理、加密安全等高级技巧,帮助开发者提升FPGA量产可靠性。

weixin_30924239的博客 324

sbull在新内核编译

《linux设备驱动程序》(ldd3)中的实例程序是在linux-2.6.10版本内核中开发的,我的linux内核版本是linux-2.6.32.16,许多函数和结构都相对2.6.10发生了变化,所以必须自己对源码进行修改。从oreilly官网download示例代码,进入sbul文件夹,开始第一次make:结果如下: root@ubuntu:/home/shevarey/ssdd/

yyp872的专栏 2046

Open3D 使用CPD算法对点云配准【2025最新版】

Coherent Point Drift相干点漂移算法实现点云配准(python代码)博客长期更新,本文最近更新时间为:2025年2月2日。

点云侠的博客 8万+

sbull虚拟的磁盘驱动的编写

原理指导:我们通过vmalloc在内存中开辟一部分空间,作为一个虚拟的磁盘,然后我们以块设备的方式来访问这片内存,例如这个sbull模型。 sbull(Simple Block Utility for Loading Localities),该驱动程序实现了一个使用系统内存的块设备,从本质上讲,属于一种 RAM 磁盘驱动程序。字符设备的IO操作则是直接不绕弯的,块设备的IO操作会配对和整合。驱动

zplove003的专栏 2597

多角度模板匹配的模板创建技巧

基于形状的模板匹配多角度创建技巧

manuoo的专栏 3402

openbmc 支持mctp over pcie(三)(支持作为endpoint)

本文介绍了在Intel BHS平台上支持MCTP over PCIe端点开发的调试方法。开发基于CodeConstruct和AspeedTech-BMC的开源项目,将内核驱动改为模块形式以便调试。内容包括DTS配置、驱动模块设置步骤,以及如何将BMC配置为端点设备。调试过程涉及内核模块加载、MCTPD启动、参数设置等关键命令,并展示了路由表、地址和邻居信息的测试结果。该方案仅为实验性工作,需注意停止其他使用/dev/aspeed-mctp0接口的应用。

wit_yuan的专栏 1554

Linux设备驱动开发环境搭建

1、linux源码的版本号与运行中的linux内核版本要一致(这里用的是Ubuntu 12.04 LTS; Kernel 为3.11.0)2、安装开发工具(都安装了方便后面使用,有些没必要安装) ->sudo apt-get install build-essential autoconf automake1.9 cvs subversion kernel-package libncurses5

JassionJohn的专栏 2748

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

2>/dev/null和>/dev/null 2>&1和2>&1>/dev/null的区别

一、区别: 2>/dev/null 意思就是把错误输出到“黑洞” >/dev/null 2>&1 默认情况是1,也就是等同于1>/dev/null 2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出2重定向到标准输出1,也就是标准输出和错误输出都进了“黑洞” 2>&1 >/dev/null 意思就是把错误输出2重定向到标准出...

一颗程序猿 9万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

linux块设备驱动程序示例(适用于高版本内核3.16.0 - 3.19.0等,亲测可用)

1. 字符设备与块设备的 I/O 操作主要有如下不同点:    (1)块设备只能以块为单位接受输入和返回输出,而字符设备则以字节为单位。大多数设备是字符设备,因为它们不需要缓冲而且不以固定块大小进行操作。    (2)块设备对于 I/O 请求有对应的缓冲区,因此它们可以选择以什么顺序进行响应,字符设备无须缓冲且被直接读写。对于存储设备而言调整读写的顺序作用巨大,因为在读写连续的扇区比分离的扇区更快...

ZHONGkunjia的专栏 1975

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

linux shell重定向

掘金标题中不能出现&lt;&gt;符号。。。各位看官不要介意。。。 背景 我们经常能在shell脚本中发现&gt;/dev/null 2&gt;&amp;1这样的语句。以前的我并没有去深入地理解这段命令的作用,照搬照用,直到上周我将这段命令不小心写成了2&gt;&amp;1 &gt;/dev/null,出了一点小问题之后,我才开始去了解这段命令背后的“玄机”。 shell重定向介绍 就像我们平时写...

weixin_34357267的博客 1321

linux块设备驱动与其测试

1 我把U盘插到USB口上了,下一步我该如何做才能查看U盘里的内容? 我不能确定你的Linux系统会不会自动加载。所以,你应该先去/media目录下查看一下,看看是不是已经自动加载上了。如果是的话,应该在/media里有一个目录, 名字类似于disk,你进入目录就等于进入你的U盘了。 如果/media没有你想要的东西,那就要自己mount了! $mkdir /mnt/usb $mo

u012590688的专栏 1232

objcopy转换elf文件为bin文件

objcopy转换elf文件为bin文件 $arm-linux-objcopy -O binary -R .note -R .comment -S boot.elf boot.bin #接着将 boot.elf 转换为 boot.bin #使用 -O binary (或--out-target=binary) 输出为原始的二进制文件 #使用 -R .note  (或--remove-sec

Bean Huo 1万+

linux MTD partitions方法大杂烩

一、总述 在linux中,我们一般会对flash进行一个分区,不同的地址空间存放不同的内容。一般我们只需要分3-4个区,第一个为boot区,一个为boot参数区(传递给内核的参数),一个为内核区,一个为文件系统区。而对于bootloader中只要能将内核下载到A~B区的A地址开始处就可以,C~D区的C起始地址下载文件系。这些起始地址在MTD的分区信息中能找到。所以bootloader对分区的概念

Bean Huo 1万+
上一篇: linux 下块设备驱动开发学习笔记 2(sbull驱动分析)
下一篇: platform总线注册过程及platform_driver与platform_device的匹配
Bean Huo
博客等级 码龄19年 40粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值