i2c-tools-3.1.0的使用

      调试i2c设备时大家肯定会遇到i2c读写的问题,如何读取某个设备指定的寄存器?如何把值写入到该寄存器?想必这些很多人都会遇到。android本身没有这样的工具,所以只能自己写或者使用其他开源的codes。i2c-tools-3.1.0是在网上找到的一个相当合适的工具,所以我们可以好好利用,好的工具可以让我们开发事半工倍。

      其它就不用多说了,进入主题吧!

      i2c-tools-3.1.0代码很容易获取,网上一搜一大把。下面是code的结构,这里我主要分析tools这一块。

1:在tools目录下创建Android.mk文件,用于编译用。配好android环境后,使用mmm来编译i2c-tools,最后在out目录下system/bin生成i2cdetect、i2cset、i2cget、i2cdump。

LOCAL_PATH:= $(call my-dir)
# HAL module implemenation, not prelinked and stored in
# hw/<COPYPIX_HARDWARE_MODULE_ID>.<ro.board.platform>.so
include $(CLEAR_VARS)

LOCAL_SRC_FILES := i2cdetect.c i2cbusses.c

LOCAL_PRELINK_MODULE := false

LOCAL_MODULE_TAGS := optional

LOCAL_SHARED_LIBRARIES := liblog

LOCAL_MODULE := i2cdetect

include $(BUILD_EXECUTABLE)
########################################################################
include $(CLEAR_VARS)

LOCAL_SRC_FILES := i2cget.c i2cbusses.c util.c

LOCAL_PRELINK_MODULE := false

LOCAL_MODULE_TAGS := optional

LOCAL_SHARED_LIBRARIES := liblog

LOCAL_MODULE := i2cget

include $(BUILD_EXECUTABLE)
########################################################################
include $(CLEAR_VARS)

LOCAL_SRC_FILES := i2cset.c i2cbusses.c util.c

LOCAL_PRELINK_MODULE := false

LOCAL_MODULE_TAGS := optional

LOCAL_SHARED_LIBRARIES := liblog

LOCAL_MODULE := i2cset

include $(BUILD_EXECUTABLE)
########################################################################
include $(CLEAR_VARS)

LOCAL_SRC_FILES := i2cdump.c i2cbusses.c util.c

LOCAL_PRELINK_MODULE := false

LOCAL_MODULE_TAGS := optional

LOCAL_SHARED_LIBRARIES := liblog

LOCAL_MODULE := i2cdump

include $(BUILD_EXECUTABLE)

2:i2cdetect分析

在终端输入i2cdetect显示帮助信息


#i2cdetect -l,列出系统可用的I2CBUS


#i2cdetect -y -r 2,查看总线2挂在有哪些设备,可以从下面看出挂了0x34的设备


其中AXP20_ADDR定义为0x34,可以看出挂载的设备是PMU



3:i2cdump分析

# i2cdump -f -y 0 0x21

查看总线0上地址为0x21设备(GC0309)上的寄存器值,可以看出寄存器0上的值为0xa0,它表示该设备的Chip_ID



4:i2cget分析

# i2cget -f -y 0 0x21 0

读取总线0地址为0x21寄存器为0的值

5:i2cset分析

# i2cset -f -y 0 0x21 0x2e 1

将总线0地址为0x21的寄存器0x2e写入1,从数据手册看的出来0x2e是用来调试的,写入1的话出现彩条图像,出来的效果如图。







elasticjob-lite-lifecycle 3.1.0 是一个轻量级分布式任务调度器的生命周期管理工具。它是 ElasticJob 的一个组件,可以帮助开发者更方便地管理任务的生命周期。 elasticjob-lite-lifecycle 3.1.0 提供了以下主要功能: 1. 任务的创建与注册:可以通过该工具创建任务并将其注册到 ElasticJob 中。开发者可以指定任务的名称、描述、执行模式等信息。 2. 任务的修改与更新:可以修改已注册的任务的属性,如任务的运行时间表达式、任务执行参数等。任何对任务的修改和更新都可以通过该工具进行。 3. 任务的启动与暂停:可以通过该工具对任务进行启动和暂停操作。当任务处于暂停状态时,任务调度器不会触发任务的执行。当任务处于启动状态时,任务调度器会按照设置的时间表达式来触发任务的执行。 4. 任务的删除与注销:可以通过该工具删除已创建的任务,并将其从 ElasticJob 中注销。注销后的任务将不再参与任务调度。 5. 任务的状态查询:可以查询任务的当前状态,包括是否处于启动状态、最近一次执行时间、下一次执行时间等。这些状态信息可以帮助开发者更好地监控任务的执行情况。 6. 任务的日志管理:可以通过该工具查看任务的执行日志,包括任务的执行结果、执行时间、日志级别等。这些日志信息可以帮助开发者分析任务的执行情况,排查问题。 elasticjob-lite-lifecycle 3.1.0 简化了任务的生命周期管理流程,提供了丰富的功能,使开发者可以更加方便地管理和监控任务。同时,它与 ElasticJob 的其他组件紧密结合,为分布式任务调度提供了全面的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值