首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从/proc/ I2C -tree/i2c@XXXXX/时钟频率读取时钟总线频率

从/proc/ I2C -tree/i2c@XXXXX/时钟频率读取时钟总线频率
EN

Stack Overflow用户
提问于 2014-11-17 14:38:32
回答 1查看 4.7K关注 0票数 0

我正在开发一些用户空间验证工具。其中我需要验证i2c频率。

在我的DT文件中,我设置了clock-frequency = <400000>;,并从用户空间的/proc/device-tree/i2c@XXXXX/clock-frequency读回了它。但是我得到了一些垃圾数据。

输出:

代码语言:javascript
复制
root@mymachine:~# od -bc /proc/device-tree/i2c\@XXXXXX/clock-frequency                                                                        
0000000 000 006 032 200
         \0 006 032 200
0000004

它是压缩格式的吗?如果是,我如何解压它?

file命令的输出:

代码语言:javascript
复制
root@nvidia:/proc/device-tree# file i2c\@7000*/clock-frequency
i2c@7000XXXX/clock-frequency: TTComp archive data
i2c@7000XXXX/clock-frequency: raw G3 data, byte-padded
i2c@7000XXXX/clock-frequency: TTComp archive data
i2c@7000XXXX/clock-frequency: raw G3 data, byte-padded
i2c@7000XXXX/clock-frequency: TTComp archive data
i2c@7000XXXX/clock-frequency: TTComp archive data
EN

回答 1

Stack Overflow用户

发布于 2015-03-18 05:18:20

它不是压缩的,它只是一个原始的二进制无符号32位整型存储大端。您拥有的四个字节以八进制显示:0、6、32、200,以十进制表示的是0、6、26和128,32位整数是6*65536 + 26*256 + 128 = 400000。

有很多方法可以解压它;在我的RPi 2上,有很多方法可以解压,它目前的i2c频率是100000:

代码语言:javascript
复制
>>> import struct; struct.unpack(">I", open('/proc/device-tree/soc/i2c@7e205000/clock-frequency').read())
(100000,)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26966912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档