Linux驱动程序入门-1

开始学习Linux驱动,记录学习内容与路线,下文中超链接多为网络中前辈们的blog

Linux常用头文件

其中的部分头文件:

#include <linux/delay.h>

#include <linux/module.h>

Writing
Installing : 函数Int init_module()
Removing Modules: 函数void cleanup_module()

相关知识

static关键字修饰的函数

register_chrdev函数

printk函数

动动手:

实现一个HelloWorld模块

Tips:

  • write函数的返回类型可能需要改为ssize_t
  • ./hellotest需要sudo运行,否则会返回-1
  • 需要monutil --disable-validation 设置boot secure mode,否则载入模块时需要模块签名验证(也有其他方法)

相关知识:
__init等关键字

Makefile参数-C M=

ssize_t类型

对于赶时间的朋友,只看第一段就好了。
首先,我非常肯定以及确定的告诉你ssize_t是有符号整型,在32位机器上等同与int,在64位机器上等同与long int,有没有注意到,它和long数据类型有啥区别?其实就是一样的。size_t 就是无符号型的ssize_t,也就是unsigned long/ unsigned int (在32位下),不同的编译器或系统可能会有区别,主要是因为在32位机器上int和long是一样的。在64位没有测试,但是参见百度百科,size_t 在64位下是64位,那么size_t的正确定义应该是typedef unsigned long size_t。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值