C语言
文章平均质量分 73
_阿桂_
熊,野生的,不能圈养
展开
-
Linux内核中_IO,_IOR,_IOW,_IOWR宏的用法与解析
在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域: bit31~bit30 2位为 “区别读写” 区,作用是区分是读取命令还是写入命令。 bit29~bit15 14位为 "数据大小" 区,表示 ioctl() 中的 arg 变量...转载 2018-07-18 12:02:18 · 231 阅读 · 0 评论 -
Linux内核使用ioctl函数实现用户态命令
转载自:https://blog.csdn.net/mumufan05/article/details/50507391驱动程序:/******************************** * GPIO驱动程序控制GPIO接口高低电平 * 基于gpio库,四个GPIO识别为一个设备 * 使用miscdevice结构体动态分配设备号,自动创建/dev/文件 * 使用ioct...转载 2018-07-18 12:05:35 · 725 阅读 · 0 评论 -
crc32校验的c语言实现
转载自:https://blog.csdn.net/lickylin/article/details/7857586crc就是一个数值,该数值用于检验数据的正确性,crc校验的原理就是将需要作校验的数据与一个数据模2相除,得到的余数即为校验值。 模2相除就是在除的过程中用模2加,模2加实际上就是异或运算,就是不进行进位操作,即相同为假,不相同为真。下面是几种CRC校验的生成多项式:CRC...转载 2018-07-14 11:52:34 · 8406 阅读 · 0 评论 -
SATA 硬盘/SSD温度读取
目前SATA硬盘温度读取都是通过SMART协议来读取,当前可利用的开源工具有两个:1、hddtemp工具: hddtemp是专门读取sata硬盘温度的工具,如果只需要知道硬盘的温度,此工具足以。 该工具小巧玲珑,而且不需要依赖第三方库,可以直接使用,缺点:如果是自己的的代码需要知道硬盘温度,不能直接调用hddtemp接口。使用...原创 2019-01-24 10:27:25 · 6653 阅读 · 0 评论 -
打开/dev/mem设备,mmap后读写寄存器报Segmentation fault
通常读写某个寄存器的操作如下:fd = open("/dev/mem", O_RDWR|O_SYNC);if (fd == -1){ printf("open err!\n"); return (-1);}map_base = mmap(NULL, mem_length, PROT_READ|PROT_WRITE, MAP_SHARED, fd, base_add...原创 2019-03-07 17:19:44 · 2950 阅读 · 2 评论 -
Intel网卡i210升级iPXE固件
0、前言 目前ipxe编译的固件为rom或mrom格式,但intel官方工具支持支flb格式升级,因此需要将rom转换为flb格式。当前intel并没有提供rom转flb的工具,因此自己折腾了个升级步骤成功升级iPXE固件。1、下载ipxe源码https://git.ipxe.org/ipxe.git/tree2、查看当前网卡的pci venderID...原创 2019-09-21 15:06:48 · 8001 阅读 · 2 评论