TI中文支持网
TI专业的中文技术问题搜集分享网站

AM3358使用内部RTC遇到异常导致内核起不来

单板是采用外部纽扣电池3V通过电源芯片转换成1.8V给AM3358的内部RTC供电,电池电量充足的时候,系统启动正常。取下电池的时候,系统也启动正常。但是在电池使用一段时间以后,系统有时候在启动过程中会内核卡死在RTC初始化附近,而且不容易复现,请问下有什么解决方案不?

Shine:

请先确认一下电池用过一段时间后,3V通过电源芯片是否还能转换成1.8v?

user4658072:

回复 Shine:

用过一段时间,3V电池确实有压降。不过后来把电池拔下来可以正常启动,再把电池安装上去也能正常启动。就是想请问下,即使电池掉电了,也不至于会影响到内核启动卡死吧,是不是内核驱动里面需要修改?具体是在那一块呢?

Steven Liu1:

回复 user4658072:

如果RTC部分的供电不正常,但是在内核中需要去进行RTC的初始化,对RTC模块进行读写操作是有可能发生这种问题的。

之前在debug的时候,就曾经提到过,如果不使用RTC的话,需要把内核中的RTC相关模块给注释掉,这样就不会导致RTC卡主内核了。参考如下:

http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/51326.aspx

user4658072:

回复 Steven Liu1:

我需要使用RTC呀,那这个bug有什么好的解决办法没?

Steven Liu1:

从外部硬件设计的角度出发,确保你的RTC的相关供电电压工作态是正常的。总不能在硬件设计有供电异常的可能下,期待软件方面给你把这个问题修复吧。

PS: RTC那一路,在我们EVM板的设计上,RTC的1.8V,是直接通过外部的PMIC产生给的。

确认一下,你是希望使用AM335x内部的RTC做掉电时钟保存啊,还是只是为了外部的RTC 32K时钟。如果是后者,可以和EVM保持一样的设计。

user4658072:

回复 Steven Liu1:

主要是前者,用AM335x内部RTC做掉电时钟保存。如果这样,不可能完全保证电池永远不掉电呀。

user4658072:

回复 Steven Liu1:

有什么解决方案么?

Denny%20Yang99373:

回复 user4658072:

最好用外部的RTC

功耗更低

赞(0)
未经允许不得转载:TI中文支持网 » AM3358使用内部RTC遇到异常导致内核起不来
分享到: 更多 (0)