`

[转载] [GPIO]获取系统睡眠时GPIO状态的方法

 
阅读更多

 

[FAQ05342] [GPIO]获取系统睡眠时GPIO状态的方法
Branch:JB2JBICS2ICS

FAQ Content

可以透過下指令的方式再 把 mobile log 抓回來看
1.開機後先執行下面這道指令
MT6589: echo 1 > /sys/module/mt_sleep/parameters/slp_dump_gpio
MT657X: echo 1 > /sys/module/mt657x_sleep/parameters/slp_dump_gpio
其中MT657X,表示MT6577、MT6575等
2.確認 Mobile log 已經打開
3.USB 拔掉
4.按幾次power key  suspend /resume
5.之後把 mobile log 抓回來
在kernel log里搜尋一下 Chip_pm_enter就可以找到如下面红色字体内容显示的 GPIO pin 的狀態
MT6589:
<5>[  171.745746]-0)[SLP] @@@@@@@@@@@@@@@@@@@@
<2>[  171.745756]-0)[SLP] Chip_pm_enter
<5>[  171.745762]-0)[SLP] @@@@@@@@@@@@@@@@@@@@
<4>[  171.745770]-0)PIN: [MODE] [PULL_SEL] [DIN] [DOUT] [PULL EN] [DIR] [INV] [IES]
<4>[  171.745787]-0)idx =   0: 1 0 0 0 1 0 0 1
<4>[  171.745799]-0)idx =   1: 1 0 0 0 1 0 0 1
<4>[  171.745811]-0)idx =   2: 1 0 0 0 1 0 0 1
<4>[  171.745823]-0)idx =   3: 1 0 0 0 1 0 0 1
<4>[  171.745835]-0)idx =   4: 1 0 1 1 0 1 0 1
<4>[  171.745847]-0)idx =   5: 1 0 1 0 1 0 0 1
<4>[  171.745859]-0)idx =   6: 1 0 0 0 1 1 0 1
<4>[  171.745871]-0)idx =   7: 1 0 0 0 1 0 0 1
<4>[  171.745883]-0)idx =   8: 1 0 0 0 1 0 0 1
<4>[  171.745895]-0)idx =   9: 1 0 0 0 1 0 0 1
<4>[  171.745907]-0)idx =  10: 1 0 0 0 1 0 0 1
<4>[  171.745919]-0)idx =  11: 0 0 0 0 1 0 0 1
...
 
或者MT657X:
 
<5>[ 4584.601736] (0)[32:kworker/u:1][Power/Sleep] @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<5>[ 4584.601748] (0)[32:kworker/u:1][Power/Sleep] _Chip_pm_enter @@@@@@@@@@@@@@@@@@@@@@
<5>[ 4584.601759] (0)[32:kworker/u:1][Power/Sleep]  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<4>[ 4584.601774] (0)[32:kworker/u:1]idx =   0: mode = 0, pullsel = 0, din = 0, dout = 0, pullen = 1, dir = 0, dinv = 0
<4>[ 4584.601788] (0)[32:kworker/u:1]idx =   1: mode = 0, pullsel = 0, din = 0, dout = 0, pullen = 1, dir = 0, dinv = 0
<4>[ 4584.601802] (0)[32:kworker/u:1]idx =   2: mode = 0, pullsel = 0, din = 0, dout = 0, pullen = 1, dir = 0, dinv = 0
<4>[ 4584.601816] (0)[32:kworker/u:1]idx =   3: mode = 0, pullsel = 0, din = 0, dout = 0, pullen = 1, dir = 0, dinv = 0
<4>[ 4584.601830] (0)[32:kworker/u:1]idx =   4: mode = 0, pullsel = 0, din = 0, dout = 0, pullen = 1, dir = 0, dinv = 0
<4>[ 4584.601843] (0)[32:kworker/u:1]idx =   5: mode = 0, pullsel = 0, din = 0, dout = 0, pullen = 1, dir = 0, dinv = 0
<4>[ 4584.601857] (0)[32:kworker/u:1]idx =   6: mode = 0, pullsel = 0, din = 0, dout = 0, pullen = 1, dir = 0, dinv = 0
<4>[ 4584.601870] (0)[32:kworker/u:1]idx =   7: mode = 0, pullsel = 0, din = 0, dout = 0, pullen = 1, dir = 0, dinv = 0
<4>[ 4584.601883] (0)[32:kworker/u:1]idx =   8: mode = 0, pullsel = 0, din = 0, dout = 0, pullen = 1, dir = 0, dinv = 0
<4>[ 4584.601897] (0)[32:kworker/u:1]idx =   9: mode = 0, pullsel = 0, din = 0, dout = 0, pullen = 1, dir = 0, dinv = 0
<4>[ 4584.601910] (0)[32:kworker/u:1]idx =  10: mode = 0, pullsel = 0, din = 0, dout = 0, pullen = 1, dir = 0, dinv = 0
...
分享到:
评论

相关推荐

    zynq的linux驱动4-gpio子系统

    在Zynq平台上,通过Linux驱动4-GPIO子系统,我们可以灵活地控制MIO(Multi-IO)引脚的电平状态,从而实现对硬件设备的控制,比如LED灯的开关。 GPIO驱动的基本工作原理是通过Linux内核的GPIO框架来抽象硬件的GPIO...

    linux系统gpio子系统使用驱动源码

    GPIO中断是当GPIO引脚状态发生变化时,硬件向处理器发送的信号。源码中包含了输入使用的GPIO中断处理,这可能涉及到注册中断处理函数,例如`request_irq`,并设置中断类型(边缘触发或电平触发)。同时,由于硬件...

    GPIO口功能测试方法

    GPIO(General Purpose Input/Output)接口是微处理器系统中一种非常重要的通用接口,它...通过严谨的测试方法和注意事项,我们可以有效地排查问题,保证GPIO接口在系统中的稳定运行,为设备的可靠性和性能提供保障。

    用Qt代码监听gpio变化demo

    通过Qt监听GPIO,我们可以实现对硬件状态的实时监控,这对于嵌入式系统和物联网应用尤其重要。 首先,理解GPIO的基础概念。GPIO引脚可以设置为输入或输出模式。在输入模式下,我们可以读取引脚的状态(高电平或低...

    GPIO_C语言实现设备GPIO读写操作_GpioRead_GPIO读写_gpio读写_

    在嵌入式系统和物联网(IoT)领域中,GPIO(General Purpose Input/Output)是通用输入输出接口,常用于控制硬件设备的状态,如LED灯、传感器等。本篇文章将详细探讨如何使用C语言实现对GPIO的读写操作,以及涉及的...

    安卓读写GPIO,用于对硬件IO口进行读写

    2. **GPIO API使用**:Android提供了一个名为`HardwarePropertiesManager`的类,可以通过`getGpio()`方法获取GPIO实例,然后调用`open()`, `setDirection()`, `getValue()`, `setValue()`等方法进行读写操作。...

    飞腾CPU Linux下gpio使用方法

    例如,在`/sys/class/gpio/`目录下可以看到类似`gpiochip496`、`gpiochip480`和`gpiochip448`这样的设备节点,分别代表GPIO0、GPIO1以及X100集成的GPIO控制器。 #### 2.2 GPIO内核的分配原则 GPIO的分配有一个基准...

    GPIO.rar_gpio口测试工具

    GPIO,全称General Purpose Input/Output,中文名为通用输入/输出端口,是微控制器(如Arduino、Raspberry Pi等)和其他嵌入式系统中常用的一种接口。它允许硬件开发者直接控制芯片上的数字信号,实现对外部设备的...

    GPIO编程方法

    在使用 STM8 微控制器的 GPIO 编程方法时,需要注意以下几点: * 需要将 STM8S207C_S.h 文件复制到当前项目的目录下,以便能够使用 STM8 微控制器的头文件。 * 需要正确地设置 GPIO 引脚的方向和模式,以避免引脚的...

    高通gpio子系统.docx

    2. **GPIO Controller**:当一组GPIO被配置为通用输入/输出功能时,这些GPIO将由GPIO Controller管理。通过访问GPIO Controller中的寄存器,软件可以进一步配置GPIO的方向(输入或输出)、电平状态等参数。 3. **...

    GPIO_C#GPIO_windows更改usb寄存器数据_

    6. **处理中断和异步读写**:如果GPIO设备支持中断传输,例如当GPIO状态变化时,我们需要注册中断端点的回调函数。同时,对于非阻塞的异步读写操作,需要使用`WinUsb.BeginRead`和`WinUsb.BeginWrite`方法,以便在...

    海思hi3536的GPIO驱动

    当需要读取GPIO状态时,驱动会从数据寄存器中读取信息;而要设置GPIO输出电平时,则会写入相应值到输出数据寄存器。在HI3536的情况下,驱动代码会包含对这些寄存器的访问操作。 中断处理是GPIO驱动的另一重要特性,...

    gpio操作方法及计算方法

    方法一:采用iomux的方法 在设备树中iomux中添加复用gpio引脚如下: 查询gpio的base: for i in /sys/class/gpio/* ; do cat $i/label; cat $i/base; echo; done 一般可以这样计算GPIOn_IOx = (n-1)*32 + x

    DSP6455的中断与GPIO系统

    在中断上下文中,GPIO经常用作中断源,当其状态改变时触发中断,这在实时系统中尤其有用,因为它允许处理器立即响应外部事件。 在深入理解这些概念时,参考文档如"C6455_CSL_APIREFERENCE.pdf"和"MegaCore.pdf"提供...

    gpio.rar_GPIO_GPIO linux _gpio驱动_linux gpio_linux gpio测试

    GPIO,全称General Purpose Input/...理解和掌握GPIO驱动的原理和测试方法对于嵌入式系统的开发者至关重要。通过阅读和实践提供的代码,你可以更深入地理解GPIO的工作机制,以及如何在ARM平台上实现GPIO驱动和测试。

    GPIO DIO读写测试工具

    而在输入模式下,通过读取输入数据寄存器来获取GPIO引脚的当前电平状态。 3. 中断和边沿检测:一些GPIO控制器还支持中断功能,当GPIO状态发生改变(如从低到高或从高到低的电平转换)时,会触发中断请求,这在实时...

    C6678_GPIO.zip_6678 CSL GPIO_6678 gpio 中断_6678中gpio配置_c6678 Gpio

    在嵌入式系统中,GPIO(General-Purpose Input/Output)接口是处理器系统与外部硬件交互的重要通道。针对TI的C6678处理器,GPIO的配置和中断处理是其功能实现的关键部分。C6678是一款高性能的数字信号处理器,广泛...

    LM3s9bxx GPIO调试笔记.docx

    4. **读取状态**:对于输入引脚,通过读取GPIO数据寄存器来获取引脚的当前状态。 在LM3S9Bxx中,GPIO的地址空间是内存映射的。例如,假设要操作PA0,其基地址是0x40004000。如果要对PA0进行写操作,需要找到相应的...

    wince6.0_s5pv210_gpio驱动所有gpio管脚控制及使用方法

    2. **GPIO初始化**:驱动程序启动时,应初始化GPIO控制器,包括获取GPIO控制器的物理地址、注册中断服务例程(如果需要中断功能)和设置GPIO的基本属性。 3. **GPIO配置**:通过调用`IoWritePortUlong`或`...

    LM3S8962 GPIO用法详解及程序

    3. **中断配置**:LM3S8962的GPIO还支持中断功能,允许在引脚状态变化时触发中断服务例程。这需要配置中断使能寄存器(PxIE)、中断掩码寄存器(PxIM)和中断标志寄存器(PxIFG)。 4. **边缘检测**:对于中断功能...

Global site tag (gtag.js) - Google Analytics