Linux I2C Watchdog驱动开发调试

本章以Jetson AGX Orin为例讲解I2C watchdog驱动程序的编程,主要分为以下三个部分。

硬件原理图

Block Diagram

SOC端的#pin脚定义

MCU端#pin脚定义

Linux下的I2C驱动框架

上图描述了linux I2C驱动框架,体系结构在linux中实现相当复杂。如何编写一个linux驱动程序呢?所谓Linux驱动个人认为主要是起承上启下的作用,对上提供接口API给内核,再由内核间接将接口提供给应用层,比如应用层访问/dev/watchdogX文件等;对下控制硬件设备。具体实现的流程套路如下:

1. 确定驱动结构:根据硬件设计结合分层/分离思想确定驱动的基本结构。

2. 确定驱动实例:驱动定义,初始化,注册,注销。

3. 向上提供接口:实现i2c设备的i2c_driver接口以及i2c设备对应的watchdog驱动

4. 向下控制硬件:根据寄存器配置方式实现控制逻辑。

具体代码分析

驱动大致流程:

1) 加载驱动(int函数)

2) 添加i2c驱动

3) 匹配目标硬件设备

4) 探测probe函数

5)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值