完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好!
我已经使用唤醒引脚 PI11(和 PI8)测试了从待机模式唤醒。但这是行不通的 我已经删除了所有关于 dts 中唤醒引脚的定义,除了它在 STM32mp151.dtsi 中定义为唤醒引脚的地方 通过输入“echo mem > /sys/power/state”进入待机模式。之后 MPU 不会因我作用于引脚 PI11 或 PI8 而唤醒。 我在 /sys/kernel/debug/wakeup_sources 中没有看到任何 WAKE UP Pins,也许我需要在进入待机状态之前激活它? 在进入待机模式之前,我需要在 RCC_MP_BOOTCR 中设置 MPU_BEN 位吗?如果是——怎么样? 也许我的另一个误解? |
|
相关推荐
1个回答
|
|
实际上 IRQ EXTI 从 55 到 60. 分别连接到 wkup 引脚 1 到 6。这些唤醒引脚是硬编码的。你可以参考他们分别的Datasheet
唤醒-gpios = <&gpioa 0 GPIO_ACTIVE_HIGH>, <&gpioa 2 GPIO_ACTIVE_HIGH>, <&gpioc 13 GPIO_ACTIVE_HIGH>, <&gpioi 8 GPIO_ACTIVE_HIGH>, <&gpioi 11 GPIO_ACTIVE_HIGH>, <&gpioc 1 GPIO_ACTIVE_HIGH>; IRQ EXTI 55对应PA0,IRQ EXTI 56对应PA2等。 因此,要使用 PI8 和 PI11,您需要在 DT 中分别使用: 中断扩展 = <&exti_pwr 58 IRQ_TYPE_EDGE_FALLING>; 中断扩展 = <&exti_pwr 59 IRQ_TYPE_EDGE_FALLING>; 相应的驱动需要使用IRQ EXTI。作为示例驱动程序,您可以使用“gpio-keys” / ... test_wkup { 兼容=“gpio键”; #address-cells = <1>; #size-cells = <0>; 自动重复; 状态=“好的”; 按钮@4 { 标签 = "WakeUp4"; Linux,代码 = 中断扩展 = <&exti_pwr 58 IRQ_TYPE_EDGE_FALLING>; 状态=“好的”; 唤醒源; }; }; root@stm32mp1:~# cat /sys/kernel/debug/wakeup_sources 名称 active_count event_count wakeup_count expire_count e test_wkup 5 5 0 0 0 10000000.m4 0 0 0 0 0 mmc1 0 0 0 0 0 mmc0 0 0 0 0 0 5c002000.i2c:stpmic@33:onkey 0 0 0 0 alarmtimer.0.auto 0 0 0 0 0 5c004000.rtc 0 0 0 0 0 删除 0 0 0 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2632 浏览 1 评论
3208 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1783 浏览 1 评论
3607 浏览 6 评论
5987 浏览 21 评论
939浏览 4评论
1315浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
582浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1302浏览 3评论
1357浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 01:51 , Processed in 1.175384 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号