Petalinux驱动开发

1. 驱动模块的加载和卸载

linux的驱动开发实际上是学习驱动的框架

linux驱动有两种运行的方式

  1. 将驱动编译进Linux的内核
  2. 将驱动编译为模块,在内核启动后使用insmod来加载驱动模块

模块有加载(module_init(xxx_init))和卸载(module_exit(xxx_exit))两种操作,

module_init 函数用来向 Linux 内核注册一个模块加载函数,参数xxx_init就是需要注册的具体函数, 当使用"insmod"命令加载驱动的时,xxx_init 这个函数就会被调用

module_exit()函数用来向 Linux 内 核注册一个模块卸载函数,参数 xxx_exit 就是需要注册的具体函数,当使用"rmmod"命令卸载具体驱动 的时候 xxx_exit 函数就会被调用。

驱动编译完后的拓展名是.ko,有两种命令可以加载驱动模块:insmod(不能够加载依赖) 和 modprobe(更加智能,能够加载依赖)

对于模块的卸载,推荐使用rmmod 命令

2. 字符设备的注册和注销

对于字符设备驱动而言,当驱动模块加载成功以后需要注册字符设备,同样,卸载驱动模 块 的 时 候 也需要注销掉字符设备

相关推荐
Forsete18 小时前
LINUX驱动开发#9——定时器
linux·驱动开发·单片机
JMchen1231 天前
AI编程与软件工程的学科融合:构建新一代智能驱动开发方法学
驱动开发·python·软件工程·ai编程
南烟斋..1 天前
Linux设备驱动开发完全指南:从启动流程到Platform驱动模型
linux·驱动开发·uboot
范纹杉想快点毕业2 天前
实战级ZYNQ中断状态机FIFO设计
java·开发语言·驱动开发·设计模式·架构·mfc
yugi9878382 天前
RN8302B电表芯片驱动开发指南(基于SPI通信)
驱动开发·单片机·嵌入式硬件
2301_772204282 天前
Linux 驱动开发:杂项设备驱动与自动设备号管理
linux·运维·驱动开发
嵌入式-老费2 天前
Linux Camera驱动开发(用树莓派学习camera驱动)
驱动开发
松涛和鸣2 天前
70、IMX6ULL LED驱动实战
linux·数据库·驱动开发·postgresql·sqlserver
L_Jason先生2 天前
高效利用 Coding Agent 进行规约驱动开发 (SDD):原理、实践与未来洞察
人工智能·驱动开发·知识图谱
minglie12 天前
wsl环境下驱动开发的例子
驱动开发