博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OK335xS can't reset with reboot
阅读量:5959 次
发布时间:2019-06-19

本文共 2990 字,大约阅读时间需要 9 分钟。

/*********************************************************************** *                       OK335xS can't reset * 说明: *     最近OK335xS芯片无法reset,无论是watchdog、直接硬件reset、PMU断电 * reset,都无法重启,但是正常的系统断电是可以重新进入系统,最后问题定 * 位于系统在不断电情况下重启,SYSBOOT Configuration Pins配置上存在问题。 * *                                     2016-4-8 深圳 南山平山村 曾剑锋 **********************************************************************/一. 参考文档:    1. AM335X Watchdog Reset        http://www.deyisupport.com.edgekey.net/question_answer/dsp_arm/sitara_arm/f/25/t/47590.aspx    2. 关于am335x warm reset 和ROM code一个问题        http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/65124.aspx    3. The Chip don't Reset when pin PORz go LOW in Linux!        http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/59743.aspx    4. am335x w25Q256        http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/69688.aspx    5. AM335x: Reset the device with command for warmrstn        https://e2e.ti.com/support/arm/sitara_arm/f/791/t/387231    6. TPS65910x Integrated Power-Management Unit Top Specification        http://www.ti.com/lit/ds/symlink/tps65910.pdf    7. AM335x ARM Cortex-A8 Microprocessors (MPUs) Technical Reference Manual (Rev. H).pdf        参考:26.1.5.2.1 SYSBOOT Configuration Pins    8. 如何修改AM335x中的ROM code?        http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/74633.aspx    9. AM335x SYSBOOT[4:0] XIP(MUX2) Setting        https://e2e.ti.com/support/arm/sitara_arm/f/791/t/345632二. 现象:    在linux命令行下执行reboot、reset按键、直接PMIC reset,系统会等5分钟之后才能reboot。三. 解决思路:    1. 执行reboot,watchdog是否引发了reset信号;    2. 直接对PMU进行reset,因为PMU管理所有的电源,发现还是无法复位;    3. 当reset PMU时,发现对应的输出电源有断开,说明PMU工作正常,并且reset了;    4. am335x再重新上电之后没有动作,于是怀疑是SYSBOOT Configuration Pins电压不对;    5. 对PMU reset时,同时检查SYSBOOT Configuration Pins引脚,发现电压不对;    6. 移除连接在SYSBOOT Configuration Pins上的相关芯片,发现电压最低只能到达1.3V;    7. 修改SYSBOOT Configuration Pins上拉电源来源,直接对PMU复位,am335x正常reset;    8. 从上面现象判断问题是在SYSBOOT Configuration Pins硬件问题上;    9. 硬件SYSBOOT[4:0]修改为00010b,一切正常,说明确实是SYSBOOT Configuration Pins配置问题;    10. 尝试修改在SYSBOOT Configuration Pins为:        SYSBOOT[4:0] = 10111b :            1. NAND ;            2. NANDI2C ;            3. MMC0 ;            4. UART0 .        SYSBOOT[4:0] = 10011b :             1. MMC0 ;            2. SPI0 ;            3. UART0 ;            4. USB0 .    11. 这个时候好像所有的reset都行了,但是PWRONRSTn引脚上的reset还是不行;    12. 经过调试最后发现是74LVCH162245芯片导致的问题,于是将其换成:74AVC161245;    13. 到这里貌似问题就解决了。四. 具体原因:    1. 复位后,SYSBOOT Configuration Pins对应的电压决定了重启的device list;    2. device list中没有nandflash,导致不能重启;    3. 5分钟之后SYSBOOT Configuration Pins可能正常了,或者什么原因,导致的device list中有了nandflash,所以正常了。    4. 等5分钟,其实是因为启动列表中有了EMAC1,这个会等待很长时间。五. 建议:    就个人感觉来说,其实在硬件调试阶段,可以考虑将SYSBOOT[4:0]配置如下,因为你可以看到几个"CCCCCCCC",这样就可以知道怎么内部的ROM code是否正常运行了。        SYSBOOT[4:0] = 00100b             1. UART0 ;            2. XIP ;            3. MMC0 ;             4. NAND .

 

转载于:https://www.cnblogs.com/zengjfgit/p/5367448.html

你可能感兴趣的文章
崩溃日志的实例
查看>>
base64是啥原理
查看>>
实战 Windows Server 2012 群集共享卷
查看>>
CSS 元素超出部分滚动, 并隐藏滚动条
查看>>
React中那些纠结你的地方(一)
查看>>
Docker入门安装教程
查看>>
PhoneGap极光推送 cordova消息推送
查看>>
Subarray Sum Equals K
查看>>
preventDefault, stopPropagation, stopImmediatePropagation 三者的区别
查看>>
超级账本HyperLedger初体验
查看>>
完美解决html中select的option不能隐藏的问题。
查看>>
推荐5大开源工具,用于开发Kubernetes项目
查看>>
制定2015年的移动开发策略
查看>>
JPA 2.2改进了易用性
查看>>
从蚂蚁金服实践入手,带你深入了解 Service Mesh
查看>>
24周年,“常青树”Delphi发布新版本10.3.1
查看>>
7. 从数据库获取数据- 从零开始学Laravel
查看>>
阿里百川码力APP监控 来了!
查看>>
使用dotenv管理环境变量
查看>>
温故js系列(11)-BOM
查看>>