Linux下I2C调试工具--for--Zynq MPSOC/Jetson Xavier

2023-12-18 13:12

本文主要是介绍Linux下I2C调试工具--for--Zynq MPSOC/Jetson Xavier,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Linux下I2C调试工具

1、简介

i2c-tools是一个专门调试i2c的工具,无需编写任何代码即可轻松调试I²C设备,可获取挂载的设备及设备地址,还可以在对应的设备指定寄存器设置值或者获取值等功能。i2c-tools有如下几个常用测试命令i2cdetect, i2cdump, i2cget, i2cset,i2ctransfer。

2、i2c-tools工具安装

2.1、Jetson xavier/orin下安装

sudo apt-get install libi2c-dev i2c-tools

2.2、Zynq MPSOC下安装
使用如下命令勾选i2c-tools工具:
使用petalinux 进入文件系统

petalinux-config -c rootfs

进入Filesystem Packages
在这里插入图片描述
进入base
在这里插入图片描述
进入i2c-tools
在这里插入图片描述
勾选i2c-tools工具
在这里插入图片描述
重新编译系统

petalinux build

3、i2c-tools工具使用
3.1、i2cdetect
功能:用于检测SOC设备上的i2c总线数量和挂载在i2c总线上的器件。
命令:i2cdetect -l
命令:i2cdetect -r -y 0 //检测i2c-0的挂载情况
3.2、i2cdump
功能:dump i2c设备中所有的数据。

i2cdump -f -y 0 0x1e b

用i2cdump查看挂载在i2c 0 总线上器件地址为0x1e的所有寄存器值
3.3、i2cget
功能:获取指定i2c设备中指定地址的数据.
命令:i2cget -f -y 0 0x1b 0x02 //显示I2C 0号总线上0x1b设备0x02寄存器地址,按字节读取
3.4、i2cset
功能:设置指定i2c设备中指定地址的数据。
命令:i2cget -f -y 0 0x1b 0x20 0x01 //设置I2C 0号总线上0x1b设备0x20寄存器地址的值为0x01
3.5、i2ctransfer
I2c-tool-4.0及之后的版本添加了12ctransfer命名。
功能:由于i2cget和i2cset只能读写i2c设备的寄存器地址小于0xff–8位寄存器地址。I2ctransfer可以设置寄存器地址为16位。
命令:i2ctransfer -y -f 1 w3@0x30 0x2a 0x02 0x30
//向i2c 1号总线0x30设备的0x2a02寄存器写0x30,w3:表示寄存器0x2a02和写入值0x30的长度为3字节。

这篇关于Linux下I2C调试工具--for--Zynq MPSOC/Jetson Xavier的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/508505

相关文章

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断