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

OK335xS can't reset with reboot的更多相关文章

  1. OK335xS PMIC(TPS65910A3A1RSL) reset

    /*********************************************************************** * OK335xS PMIC(TPS65910A3A1 ...

  2. android recovery模式及ROM制作

    转自android recovery模式及ROM制作 1.总述 为了方便客户日后的固件升级,本周研究了一下android的recovery模式.网上有不少这类的资料,但都比较繁杂,没有一个系统的介绍与 ...

  3. The TCP/IP parameters for tweaking

    The TCP/IP parameters for tweaking a Linux-based machine for fast internet connections are located i ...

  4. Android恢复出厂设置流程分析【Android源码解析十】

    最近看恢复出厂的一个问题,以前也查过这方面的流程,所以这里整理一些AP+framework层的流程: 在setting-->备份与重置--->恢复出厂设置--->重置手机---> ...

  5. JVM 几个重要的参数

    <本文提供的设置仅仅是在高压力, 多CPU, 高内存环境下设置>  最近对JVM的参数重新看了下, 把应用的JVM参数调整了下.  几个重要的参数 -server -Xmx3g -Xms3 ...

  6. java虚拟机学习-JVM调优总结-调优方法(12)

    JVM调优工具 Jconsole,jProfile,VisualVM Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用.对垃圾回收算法有很详细的跟踪.详细说明参考这里 ...

  7. CMD命令讲解(一)SC

    参考网站:https://technet.microsoft.com/en-us/library/bb490995.aspx 备注:网站内容是翻译得来,源网站在上面 SC 与服务控制器和已安装的服务进 ...

  8. vm虚拟机黑屏解决办法

    以管理员打开cmd 输入 netsh winsock reset --------------------- 然后 reboot

  9. N76E003之ISP

    Flash存储器支持硬件编程和应用编程(IAP).如果产品在研发阶段或产品需要更新软固件时,硬件编程就显得不太方便,采用在系统编程(ISP)方式,可使这一过程变得方便.执行ISP不需要将控制器从系统板 ...

随机推荐

  1. Spark Streaming揭秘 Day6 关于SparkStreaming Job的一些思考

    Spark Streaming揭秘 Day6 关于SparkStreaming Job的一些思考 Job是SparkStreaming的重要基础,今天让我们深入,进行一些思考. Job是什么? 首先, ...

  2. WPF中Expander控件样式,ListBox的样式(带checkbox)恢复

    Expander控件样式: <ControlTemplate x:Key="ExpanderToggleButton" TargetType="ToggleButt ...

  3. 2016022601 - redis入门了解

    今天开始学习redis,先从网页上学习,主要学习地址是:易百中的redis和redis中国网站. 此片章学习来自于自:http://www.yiibai.com/redis/redis_quick_g ...

  4. PID控制器的数字实现及C语法讲解

    PID控制器的数字实现及C语法讲解 概述 为方便学习与交流,根据自己的理解与经验写了这份教程,有错误之处请各位读者予以指出,具体包含以下三部分内容: (1)  PID数字化的推导过程(实质:微积分的近 ...

  5. iOS7.1Https企业证书发布方法

    openssl使用的是macos系统自带的版本,关键点是不同直接使用ios设备打开https的链接,需要将证书发到系统的mail里,安装到设备, 如果命令执行不成功,用sudo执行. 1.生成服务器的 ...

  6. 常用脚本语言Perl,Python,Ruby,Javascript一 Perl,Python,Ruby,Javascript

    常用脚本语言Perl,Python,Ruby,Javascript一 Perl,Python,Ruby,Javascript Javascript现阶段还不适合用来做独立开发,它的天下还是在web应用 ...

  7. 构建第一个Java程序

  8. hadoop Safe mode is ON 的解决办法

    hadoop Safe mode is ON 的解决办法 搭了一个hadoop集群环境,近期总是出现读写文件错误的情况,查看name node的日志显示 (Safe mode is ON) Safe ...

  9. 使用Flexbox实现CSS竖向居中

    竖向居中需要一个父元素和一个子元素合作完成. <div class="flexbox-container"> <div>Blah blah</div& ...

  10. uva 10271

    DP  状态转移方程 dp[i][j] = min(dp[i-1][j], dp[i-2][j-1] + w)) dp[i][j] 指的是前i个筷子组成j组所花费的最小值 考虑第i个筷子是否参与第j组 ...