请教高手pxa3xx sleep/resume回来后hang问题

hzdysymbol 2010-01-25 10:11:17
平台pxa303, Linux 2.6.28的内核,跑的是Android1.5
最近在测试中发现后台运行Wifi+browser,然后正在读写SD/MMC卡里,让系统进入sleep模式,然后按Power键回来,当机的概率有30%左右,通过调试LED发现当机的点是不固定的,居然有发现直接当在mdelay函数中的情况,这样看来应该不是代码跑飞
请各位高手给点建议,给点思路,谢谢!
...全文
216 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xqhrs232 2011-09-19
  • 打赏
  • 举报
回复
学习,也许将来有这样的问题
zhenwenxian 2010-05-23
  • 打赏
  • 举报
回复
是那个gpio影响啊
hzdysymbol 2010-05-19
  • 打赏
  • 举报
回复
终于找到原因了,是CPU在Sleep/resume恢复的时候有些Pin脚的配置出问题,打上CPU厂家Release出来的新的patch就搞定了
JassonRose 2010-02-04
  • 打赏
  • 举报
回复
估计成了吧?
laiguo 2010-01-28
  • 打赏
  • 举报
回复
再找找,分析的思路挺不错的,可以再分析下看有没有遗留
hzdysymbol 2010-01-27
  • 打赏
  • 举报
回复
顶顶,还没有找出原因呢
joyself 2010-01-25
  • 打赏
  • 举报
回复
“然后正在读写SD/MMC卡里,让系统进入sleep模式”
这个时候不能进入sleep模式吧。 要看看你的sd/mmc驱动是如何写的啦。
还有就是你的sleep模式是如何定义的啦。

方向是
1)不跑android的情况下,测试suspend/sleep是否ok
2)看android是如何调用suspend/sleep的
hzdysymbol 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wenxy1 的回复:]
引用楼主 hzdysymbol 的回复:
平台pxa303, Linux 2.6.28的内核,跑的是Android1.5
最近在测试中发现后台运行Wifi+browser,然后正在读写SD/MMC卡里,让系统进入sleep模式,然后按Power键回来,当机的概率有30%左右,通过调试LED发现当机的点是不固定的,居然有发现直接当在mdelay函数中的情况,这样看来应该不是代码跑飞
请各位高手给点建议,给点思路,谢谢!

支持 joyself 的处理思路。
读写内存卡设备时,就进入 sleep模式,然后唤醒,会出现死机的现象,怀疑是唤醒时,再次读写 内存卡,可能是内存卡驱动或者读写内存卡的应用程序占用CPU过高,导致假死机。

[/Quote]
这个肯定不会是假死机,死机的时候系统还没有进入到多线程调度,各个驱动的resume都还没有调到
hzdysymbol 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 joyself 的回复:]
“然后正在读写SD/MMC卡里,让系统进入sleep模式”
这个时候不能进入sleep模式吧。 要看看你的sd/mmc驱动是如何写的啦。
还有就是你的sleep模式是如何定义的啦。

方向是
1)不跑android的情况下,测试suspend/sleep是否ok
2)看android是如何调用suspend/sleep的
[/Quote]
正在读写SD卡的时候可以进入Sleep模式的,我们定义的Sleep模式应该是suspend to ram的定义,按一下Power键唤醒CPU后能立马回到原先的操作界面
测试的结果是只要WIFI关闭的时候就不会出现当机,跟跑不跑Android好象也没有什么关系,但WIFI在进Sleep时是完全断电的,当机是出现在CPU唤醒刚开始跑一段代码之后,每次当机的点不固定.
Wenxy1 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 hzdysymbol 的回复:]
平台pxa303, Linux 2.6.28的内核,跑的是Android1.5
最近在测试中发现后台运行Wifi+browser,然后正在读写SD/MMC卡里,让系统进入sleep模式,然后按Power键回来,当机的概率有30%左右,通过调试LED发现当机的点是不固定的,居然有发现直接当在mdelay函数中的情况,这样看来应该不是代码跑飞
请各位高手给点建议,给点思路,谢谢!
[/Quote]
支持 joyself 的处理思路。
读写内存卡设备时,就进入 sleep模式,然后唤醒,会出现死机的现象,怀疑是唤醒时,再次读写 内存卡,可能是内存卡驱动或者读写内存卡的应用程序占用CPU过高,导致假死机。
goooglemister 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 steptodream 的回复:]
我是来蹭分的
[/Quote]
steptodream 2010-01-25
  • 打赏
  • 举报
回复
我是来蹭分的

4,465

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧