全志平台系统&CPU&APX调试节点总结

以下技术在盈鹏飞嵌入式的A40I/T3核心板(CoM-X40I)和主控板(SBC-X40I)上经过验证,欢迎 交流! CoM-X40I核心板和SBC-X40I主板见下图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/d7d2e8474aee40a99e3f64aa08651a88.png#pic_center)

在这里插入图片描述
在这里插入图片描述

1. 前言

由于全志平台的电源管理模块功能比较强大,驱动也比较复杂,调试起来比较费劲; 另外还有CPU和系统一些常用的调试命令; 这里主要总结一些平时用的比较多的调试方法

2. /sys/class/axppower 调试目录

(1) /sys/class/axppower/axpdebug


   
   
  1. echo 1 > /sys/ class/axppower/axpdebug //打开电池管理部分debug信息
  2. echo 2 > /sys/ class/axppower/axpdebug //打开regulator部分debug信息
  3. echo 4 > /sys/ class/axppower/axpdebug //打开中断部分debug信息
  4. echo 8 > /sys/ class/axppower/axpdebug //打开充电部分debug信息
  5. echo 0 > /sys/ class/axppower/axpdebug //关闭debug信息

(2) /sys/class/axppower/regdebug
// 追踪axp寄存器是否被读写 例如: echo 5c > /sys/class/axppower/regdebug

(3) /sys/class/axppower/longkeypoweroff
// 打开关闭 power on reset 功能


   
   
  1. echo 1 > /sys/ class/axppower/longkeypoweroff // 打开
  2. echo 0 > /sys/ class/axppower/longkeypoweroff // 关闭

(4) /sys/class/axppower/out_factory_mode 不知道什么用 (5) /sys/class/axppower/vbuslimit // 提供usb充电关闭限流 max_A = 2500mA


   
   
  1. echo 0 > /sys/ class/axppower/vbuslimit // 关闭usb充电限流 max_A = 2500mA
  2. echo 1 > /sys/ class/axppower/vbuslimit // 打开usb充电限流

3. /sys/bus/platform/devices/axp81x_board/

(1)axp-regulator.x 文件节点

(2)axp81x-supplyer.x 文件节点

(3) axp81x_reg 读写单个寄存器的调试节点


   
   
  1. 读寄存器的方法:
  2. 写: echo 寄存器地址 > axp81x_reg
  3. 读: cat axp81x_reg
  4. 写单个寄存器的方法:
  5. 写: echo 寄存器地址+值 > axp81x_reg (寄存器地址+值:16进制,例如向0x0寄存器写入0x11,则 echo 011 > axp81x_reg)
  6. 读: cat axp81x_reg

(4) axp81x_regs 读多个寄存器的调试节点


   
   
  1. 读寄存器的方法:
  2. 写: echo 寄存器地址 个数 > axp81x_regs
  3. 读: cat axp81x_regs
  4. 写多个寄存器的方法: (最多才两个寄存器,还是连续的递增)
  5. 写: echo 寄存器地址1+值1+值2 > axp81x_regs (值2: 向寄存器地址1+1写入值2)
  6. 读: cat axp81x_regs

4. /sys/bus/platform/devices/reg-81x-cs-xxxx

(这些节点存在目的是为了方便调试)


   
   
  1. 例如: /sys/bus /platform/devices /reg-81x-cs-dcdc4/
  2. -- max_microamps // 设置电流最大值,只是和dcdc4 max value对比一下,用做检测作用
  3. --min_microamps // 设置电流最小值,只要写入新的值,实质电流 = min_microamps
  4. echo 电流(毫安) > /sys/bus /platform/devices /reg-81x-cs-dcdc4/min_microamps // 生效的前提是min_microamps < max_microamps
  5. --max_microvolts // 电压和电流同理
  6. --min_microvolts // 电压和电流同理
  7. echo 电压(毫伏) > /sys/bus /platform/devices /reg-81x-cs-dcdc4/min_microvolts

5. Cpu最小频点锁定配置

分别为800Mhz、1080Mhz和1200Mhz


   
   
  1. echo 800000 > /sys/devices /system/cpu /cpu0/cpufreq /scaling_min_freq
  2. echo 1080000 > /sys /devices/system /cpu/cpu0/cpufreq/scaling_min_freq
  3. echo 1200000 > /sys/devices /system/cpu /cpu0/cpufreq /scaling_max_freq

6. Cpu 关闭开关核策略、 锁定当前online数目

分别为锁定2核、3核和4核在线


   
   
  1. echo 0 > /sys/kernel/autohotplug/enable
  2. echo 2 > /sys/kernel/autohotplug/lock
  3. echo 3 > /sys/kernel/autohotplug/lock
  4. echo 4 > /sys/kernel/autohotplug/lock 或者 echo 1 > /sys/kernel/autohotplug/boost_all

7. 恢复动态开关核


   
   
  1. echo 1 > /sys/kernel/autohotplug/enable
  2. echo 0 > /sys/kernel/autohotplug/lock
  3. echo 0 > /sys/kernel/autohotplug/boost_all

8. 温度相关的节点


   
   
  1. sys /devices/virtual /thermal/thermal_zone/mode enabled 打开 和 disabled 关闭温控
  2. echo disabled > /sys/devices /virtual/thermal /thermal_zone0/mode
  3. /sys/devices /virtual/thermal /thermal_zone/temp 温度数据
  4. . /sys/ class/thermalsys/devices/virtual/thermal是一样的
  5. ./sys/kernel/debug/tracing/events/thermal

9. 查看内存大小


   
   
  1. cma: cat /sys/kernel/debug/ion/cma
  2. carveout: cat /sys/kernel/debug/ion/carveout
  3. cat /proc/sunxi_ion
  4. GPU内存:
  5. cat /sys/kernel/debug/mali/memory_usage

10. 刷cache方法


   
   
  1. 刷free pagecache
  2. echo 1> /proc/sys/vm/drop_caches
  3. 刷free pagecache, dentries and inodes
  4. echo 3> /proc/sys/vm/drop_caches

11.循环打印shell命令


   
   
  1. adb shell "while true;do dumpsys meminfo com.android.systemui;sleep 1; echo ======================================================= ;done"
  2. adb shell "while true;do cat /sys/class/thermal/thermal_zone0/temp ;sleep 1;done"
  3. adb shell "while true;do cat /sys/kernel/debug/ion/cma;sleep 1;done"
  4. echo 1 > /sys/kernel /debug/tracing /events/kmem/enable
  5. echo 1 > /sys/kernel /debug/tracing /events/vmscan/enable
  6. echo > /sys/kernel /debug/tracing/trace
  7. cat /sys/kernel /debug/tracing /trace > /data/trace.log
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值