作者| veahow、sz.chen、Peng.Xiong、shaojun.ke、koda.xu、社区技术运营官
Comake社区技术问题汇总,第20230825期,本期将分享STR相关的问题。
本期问题速览
▪ Linux进入STR后如何配置UART唤醒?
▪ 进入STR时,kernel会崩溃的问题
▪ RTOS进入STR然后唤醒摄像头出现异常要如何解决?
▪ 从str唤醒后JPD出现如下报错
▪ Linux正常运行,没有进入STR,如何使用RTC alarm
▪ STR的流程是怎样的?
▪ str的gpio唤醒使用流程
Q1:Linux进入STR后如何配置UART唤醒?
A1:【SSD22X/SSD21X/SSC9211 Linux适用】
1 场景描述
客户应用在STR后需要按键、串口、USB唤醒,在USB作为通信接口时串口关闭,在串口作为通信接口时,USB关闭,需要有支持STR UART唤醒的功能。
2 环境搭建
2.1 版本说明
SDK版本:IKAYAKI_ULS00V010
硬件平台:SSD222X_QFN128_2L_DDR2_DEMO公板
由于公板的JP4排针有引出相关的引脚,本次测试使用公板的PAD_KEY8、PAD_KEY9脚(分别对应JP4排针的Pin 7和Pin 8),详细信息如下表所示:
本次内核使用的pioneer3_ssc020a_s01a_spinand_demo_qfn128_usbcamera_defconfig这个配置,需要修改kernel/arch/arm/boot/dts/pioneer3-ssc020a-s01a-qfn128-demo-usbcam-dualSensor-padmux.dtsi
并在kernel/arch/arm/boot/dts/pioneer3.dtsi处修改:
2.2 实现方法
实现方法可分为两种,一种是通过UART中断唤醒,一种是将UART_RX脚注册为GPIO中断进行唤醒,两种方法均可正常唤醒,区别在于功耗。
2.2.1 UART中断唤醒
使用UART中断唤醒,进入STR需要开启某些模块,会导致功耗有较大的提升。修改kernel/arch/arm/mach-sstar/pioneer3/sram.S:
以及修改kernel/drivers/sstar/serial/ms_uart.c的ms_uart_startup函数:
2.2.2 UART_RX GPIO中断唤醒
由于支持UART中断唤醒导致功耗有增加,想要保持原有低功耗情况只能支持UART_RX GPIO唤醒。该实现比较简单,直接修改kernel/arch/arm/boot/dts/pioneer3.dtsi的wakeup中的wakeup_source即可:
如果同时有其他的GPIO中断,比如PAD_KEY12这个脚,只需要再修改source_num就可以:
Q2:进入STR时,kernel会崩溃的问题
A2:使用 dispcam_p3_spinand.glibc-9.1.0-s01a.64.qfn128.demo_defconfig 编译出的image,在进入STR时,会有如下的异常:
上述问题是由于dts中,pwm节点的clk源配置有问题导致的,请按如下进行修改即可:
更新的点如截图所示:
Q3:RTOS进入STR然后唤醒摄像头出现异常要如何解决?
如您在开发的过程中遇到STR相关问题,或您需要技术支持、选型支持、商务支持,欢迎进入Comake社区开发论坛发帖咨询,社区技术工程师和运营人员将会及时响应您的诉求。
往期回顾
周五见| SSD21X/22X相关问题讲解
周五见| SSD22X相关问题讲解
周五见| SSD20X相关问题讲解
周五见| IQ与PQ相关问题讲解
周五见| mipi相关问题讲解
扫码进入论坛
原厂答疑|产品选型|官方资源
扫码咨询客服
SDK下载|芯片、开发板购买