通讯协议--I2C——PMBus和SMBus
通讯协议PMBus和SMBusI2C是一种常用的串行通信协议,I2C有两个变体,分别专注于系统和电源应用,称为系统管理总线(SMBus)和电源管理总线(PMBus)
SMBus
SMBus简介SMBus可用于需要对参数进行关键监控的应用。它最常见的应用是计算机主板和嵌入式系统。对于温度、电源电压、风扇监控和⁄或控制集成芯片,它有额外的监控规范。SMBus是一种2线总线,类似于飞利浦公司于1980年代开发的I2C总线。两个主要信号是时钟(SMBCLK)和数据(SMBDAT)。I2CPrimer和SMBus相互兼容,但存在明显差异。
SMBus优点与特性SMBus支持具有多个由1.8 V、3.3 V和5 V电源供电的器件,SMbus可以支持最高100 kHz的相同速度运行,但I2C Primer还可以支持有400 kHz和2 MHz两个版本
分组差错校验(PEC)最初是为SMBus定义的。在每个事务的末尾添加一个分组错误码字节。
并且SMBus器件每次收到其自己的地址时,无论在做什么,它都必须应答(ACK),这是一个明确要求,目的是确保主器件可以准确地判断总线上哪些器件处于活动状态。 ...
Linux系统--Centos 7 离线安装软件
Centos 7 离线安装软件在日常工作,很容易会遇到服务器处于内网环境,无法进行在线安装的情况,以下软件均是在CentOs7下离线安装,所遇到的问题记录。
所需要的离线安装包需要在有网络情况下,使用yum指令下载。
保存rpm安装包以下指令能保存安装包,方便离线安装。
1yum install --downloadonly --downloddir=/home/ (software-name)
1. VSCode下载方式:通过官网下载.
下载地址
本次版本为 “code-1.53.2-1613044734.el7.x86_64.rpm”
错误处理:err1:
123警告:./code-1.53.2-1613044734.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID be1229cf: NOKEY错误:依赖检测失败: libXss.so.1()(64bit) 被 code-1.53.2-1613044734.el7.x86_64 需要
解决方法:重新下载依赖”libXScrnSaver-1.2.2-6.1.el7.x86_64.rpm ...
Linux系统--U盘格式化与硬盘挂载
恢复U盘与硬盘挂载U盘格式化目的解决某些U盘文件系统在Linux中不能识别情况,linux支持多种文件格式。
查看当前块区
查看U盘挂载的路径
1lsblk
清除损坏的文件块
1sudo fsck /dev/sda(U盘路径)
数据清零(视情况输入)
这个操作可以识别U盘是否虚标和恢复读写
1sudo dd if=/dev/zero of=/dev/sdb
格式化U盘指定格式(谨慎执行)123456789fat32格式sudo mkfs.vfat /dev/sdantfs格式sudo mkfs.ntfs /dev/sdb1linux默认sudo mkfs.ext4 /dev/sdb1
硬盘自动挂载ubuntu 默认不挂载硬盘,可以使用手动挂载命令,也可以根据下面方法启动开机自动挂载硬盘。
12sudo mount /dev/sdb1 /media/xxx
1、查看Linux硬盘信息:
1$ sudo fdisk -l
2、格式化硬盘(根据需要确定文件系统):
1sudo mkfs.xfs /dev/sdb
3、创建/data目录
1sudo mk ...
Linux工具--实用工具
Linux 实用工具在 Linux 环境中,有许多强大而灵活的工具可以帮助用户处理日常任务。本文记录一些实用的命令行工具和它们的常见用法,后续可能会继续更新。
文件搜索工具:find 和 grepfindfind 是用于根据文件名、类型、修改时间等条件查找文件的工具。查找当前目录及其子目录下所有 .log 文件:
-name根据文件名查找文件(大小写敏感)
1find . -name "*.log"
-type根据文件类型进行查找
1find . -type d
-type 参数可以取以下值:f:普通文件d:目录l:符号链接b:块设备文件c:字符设备文件
-mtime查找在指定天数前修改的文件,正数为多少天前,负数则为多少天内
1find . -mtime +7
-size根据文件大小查找,查找大于 100MB 的文件
1find . -size +100M
-exec {} ;对找到的每个文件执行命令,{} 代表文件名,; 结束命令。比如,查找 .log 文件并删除它们:
1find . -name "*.log" -exec rm ...
OpenHarmony--hdc使用
HDC工具hdc(OpenHarmony Device Connector)是 OpenHarmony 为开发人员提供的用于调试的命令行工具。类似于 adb工具,通过 hdc 可以在设备上执行各种调试操作,如查看设备信息、查看进程、查看内存、查看文件、查看日志等。
hdc 工具使用以下以在ubuntu 环境调试为例
1、编译sdk
1./build.sh --product-name ohos-sdk –ccache
编译后生成工具存放路径:
12out/ohos-arm64-release/ohos-sdk
2、设备配置hdc参数
hdc有支持usb调试和网络调试。在有网络情况下,设备端可以配置网络调试,可以先通过串口登录后进行查看配置,如设置“9527”端口:
123456789101112# 查看hdcd版本hdcd -v# 查询hdc参数param get | grep hdc# 设置hdc参数param set persist.hdc.mode tcpparam set persist.hdc.port 9527# 启动hdcd服务hdcd &
3、PC端连接设备 ...
OpenHarmony--鸿蒙浅析
鸿蒙系统浅析简介鸿蒙(HarmonyOS)是由华为公司于2012年提出的一款分布式操作系统。该系统利用“分布式”技术,将手机、电脑、平板、电视、汽车和智能穿戴设备融合成一个“超级终端”,使用户便于操作和共享各种设备的资源。鸿蒙系统致力于提供统一的语言和平台,简化开发者的开发过程,提高跨设备的协同工作效率。
背景初始版本于2019年8月9日由华为发布,并于次日推介首款搭载鸿蒙系统的产品“荣耀智能屏”。此后,华为不断完善和升级鸿蒙系统,逐步扩展其适用范围。
图1 HarmonyOS 界面
图2 搭载HarmonyOS的华为mate 40
2024年4月11日,华为发布了最新的HarmonyOS 4.2版本,该版本兼容AOSP 11/12,进一步提升了系统的稳定性和兼容性。与此同时,HarmonyOS NEXT预计将在2024年第四季度发布,并宣布将不再兼容AOSP,从而向完全自主的方向迈进。
发展历程
版本号
发布时间
正式推送时间
兼容AOSP/Android 版本
对应openharmony API最高版本
1.0
20 ...
Linux内核--电源管理
linux 电源管理Linux内核中电源管理是个比较庞大系统,本次仅记录电源状态管理相关部分。
linux 四种睡眠状态
State in Linux
Label
state
ACPI
备注
PM_SUSPEND_ON
正常
正常
正常
正常运行状态
PM_SUSPEND_FREEZE
freeze
suspend-to-idle
S0
冻结进程+挂起设备+CPU空闲
PM_SUSPEND_STANDBY
standby
power-on suspend
S1
冻结进程+挂起设备+关闭nonbootCPU
PM_SUSPEND_MEM
mem
suspend-to-ram
S3
仅保留RAM自刷新
PM_SUSPEND_MAX
disk
suspend-to-disk
S4
关闭所有设备包括RAM,也被称为Hibernate
对应源码:/kernel/kernel/power/suspend.c
Suspend-To-Idle: 轻量级睡眠状态,冻结用户空间进程并将 I/O 设备置于低功耗状态,具有较低的 ...
Linux驱动--电池驱动-bq40z50
电池驱动本文以 bq40z50 电池为例,介绍在 RK 平台上使用电池驱动的相关配置与实现。
设备树配置结合电路原理图分析,确认电池挂载在 I2C3总线上。通常情况下,电池设备挂载在 I2C总线上,因此只需配置 I2C 子节点即可。下面是设备树配置示例:
确认I2C设备挂载的地址为0b.示例如下:
12345678910111213141516171819202122&i2c3{ status = "okay"; i2c-scl-rising-time-ns = <345>; i2c-scl-falling-time-ns = <11>; // 时钟频率设置为 100kHz clock-frequency = <100000>; // i2c地址 battery0: bq28z610@0b{ status = "disabled"; compatible ="ti,bq28z610"; reg = <0x0b>; ...