RK3568平台开发系列讲解(驱动基础篇)RK 看门狗的使用
🚀返回专栏总目录 文章目录 一、简介 二、DTS配置 三、使用 📢本篇将对RK 看门狗的使用进行学习。 文章目录 一、简介 二、DTS配置 三、使用 一、简介 看门狗(watchdog)是一个定时器,启动之后会开始计时。系统或者软件需要在规定时间内与看门狗通信(俗称喂狗)重置计时,如此反复下去,以此来确定系统和软件正常运行。 如果规定时...
itop-3568开发板驱动学习笔记(26)设备树(五)中断实例分析
文章目录 中断控制器配置中断其他属性 中断控制器 设备树中的中断控制器节点和 GPIO 控制器类似,都是由芯片厂家编写,如果是外部中断,中断控制器和 GPIO 控制器是共存的,例如: 中断控制器中,#interrupt-cells 和 interrupt-controller 两个属性是必须存在的, interrupt-controller 属性表示该节点是一个中断控制器, #interrupt-c...
RK3588平台开发系列讲解(驱动基础篇)驱动模块传参
文章目录 一、驱动模块传参简介 二、驱动模块传普通参数 三、驱动模块传数组 📢在编写应用程序的时候,我们可以给 main 函数传递参数,比如 void main(int argc,char *argv[]),这个功能大家用起来已经很熟练了。其实在使用 insmod 命令加载模块的时候,也是可以给模块传递参数的。 一、驱动模块传参简介 什么是驱动传参 在装载内核模块时,用户可以向模块传递参数,形式为“...
Linux驱动开发(I2C系统的重要结构体)
文章目录 前言一、I2C硬件框架二、i2c_adapter三、i2c_client四、i2c_msg总结 前言 本篇文章来讲解I2C系统的重要结构体,了解这些结构体对于编写I2C驱动来说是至关重要的,所以要想编写好一个I2C驱动程序那么就必须先了解这些结构体。 一、I2C硬件框架 这里使用百问网的一张图片来讲解: 一个芯片中可以有多个I2C控制器,并且一个I2C控制器可以控制多个设备。那么在对应的驱...
Linux系统驱动跟裸机驱动的区别
区别指示 Linux系统驱动和裸机驱动的主要区别在于它们运行的环境和依赖不同。 Linux系统驱动(Linux Device Driver): Linux系统驱动是在Linux操作系统环境下运行的。这类驱动通常依赖于Linux内核提供的API和服务(如内存管理、任务调度、文件系统等)。开发人员编写Linux系统驱动时,需要遵循Linux内核编程接口规范。Linux驱动程序通常需要专门针对某个内核版本...
STM32cubemx配置驱动DHT11模块
作us级延时定时器来使用。GPIO的初始工作放到代码中实现。 配置一个串口来打印温度湿度数据: 三、DHT11时序分析 DHT11只需要通过一根数据闲就可以实现和单片机的通信: 根据时序图我们可以知道驱动DHT11首先需要发送一个起始信号,发送完毕后等待应答信号。 起始信号:引脚发送至少18ms低电平,然后再发送20-40us的高电平。 应答信号:低电平持续80us,高电平持续80us。 接收数据: ...
RK3568平台开发系列讲解(驱动基础篇)RK平台UART的使用
🚀返回专栏总目录 文章目录 一、引脚定义 1.1 UART9 1.2 RS232和RS485 二、设备树配置 三、调试 3.1 连接硬件 3.2 打开主机的串口终端 3.3 板子发送数据 3.4 板子接收数据 3.5 主机退出kermit串口连接 四、UART2普通串口配置 📢本篇将对RK UART的使用进行学习。 ROC-RK3568-PC支持UART、RS232、RS485接口,分别为双扩展接口...
驱动开发:内核实现进程汇编与反汇编
在笔者上一篇文章《驱动开发:内核MDL读写进程内存》简单介绍了如何通过MDL映射的方式实现进程读写操作,本章将通过如上案例实现远程进程反汇编功能,此类功能也是ARK工具中最常见的功能之一,通常此类功能的实现分为两部分,内核部分只负责读写字节集,应用层部分则配合反汇编引擎对字节集进行解码,此处我们将运用capstone引擎实现这个功能。 首先是实现驱动部分,驱动程序的实现是一成不变的,仅仅只是做一个读写...
I.MX6ULL_Linux_驱动篇(34) 字符设备驱动巩固
GPIO驱动框架编写流程: 1、在设备树中添加gpio_pin的pinctrl信息(配置gpio复用,电气属性) 2、在引用该gpio的节点添加gpio信息 3、编写驱动 3.1 定义设备名+设备号个数 3.2 定义设备结构体 设备号 dev_t devid 主次设备号 ...
RK3588平台开发系列讲解(驱动基础篇)设备树常用 of 函数
of 函数 二、获取属性值的 of 函数 三、实验示例 3.1、查找的节点代码 3.2、获取属性内容代码 📢 设备树描述了设备的详细信息,这些信息包括数字类型的、字符串类型的、数组类型的,我们在编写驱动的时候需要获取到这些信息。比如设备树使用 reg 属性描述了某个外设的寄存器地址为 0X02005482,长度为 0X400,我们在编写驱动的时候需要获取到 reg 属性的 0X02005482 和 ...