Linux驱动加载总结

本文详细介绍了Linux驱动加载的过程,包括静态加载驱动的步骤,如何编译内核并烧写到开发板,以及动态加载驱动的两种方法,使用adb工具和通过串口在超级终端中加载。此外,还涵盖了卸载和删除驱动模块的操作。
摘要由CSDN通过智能技术生成

一、Linux系统结构概述

1.1Linux体系结构


1.2内核架构



二、Linux驱动

2.1Linux系统3大类设备
1)字符设备
2)块设备
3)网络设备 
字符设备和块设备都是通过文件系统的系统调用接口open()、close()、write()、read()等函数访问,应用程序可以通过打开设备文件(如UART0设备:/dev/ttyS0)来访问设备;
主设备号、次设备号;
网络设备是面向数据包的接收和发送而设计的,它不对应于文件系统(/dev目录下)的结点,而是由系统分配一个唯一的名字(如eth0)。

2.2Linux系统框架图



Linux驱动的编写难点不在于对硬件的具体操作而是需要清除现有驱动程序的框架,并在这个框架中找到修改的位置。
编写设备驱动程序涉及的三个核心数据结构:
1)Struct file_operations结构
2)Struct inode结构
3)Struct file结构

2.3加载驱动的方式
1)编译进内核(静态加载驱动);
2)不编译进内核以模块的方式动态加载.

三、静态加载驱动

3.1定义 
将驱动直接编译进内核,烧写进板子后,系统启动时由内核自动加载。

3.2实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值