• 硬件毛刺


    这四天全部都在debug flash 1bit  切换到4bit :

    原理:step1:把写好的C程序编译为HEX文件,我用的是GCC编译器

            step2:用readmemh把HEX文件store到flash的仿真模型

            step3:active tcm 功能(设定了TCM的搬移起始地址(Flash的)和搬移的SIZE,打开搬移的enable 信号)

            step4:tcm搬移Flash指定地址的内容,CM3从TCM中取有地址映射的指令。(此过程对软件同事来说完全透明,他们一旦完成step3,后面无法检测CM3取指令来至于TCM还是flash,但我可以通过观测I/DBUS和TCM/FLASH接口的信号判断)

             step5:PC从TCM跳到FLASH,执行未搬移到TCM的code。如果TCM设置的SIZE过大,可能PC永远跳不出来了,一直留在TCM中。

            NOTE:TCM中code主要用来配置flash的切换(1bit切到4bit)。

           验证现象:1.ASIC跑仿真波形正确

                          2.FPGA跑仿真波形正确

                          3.软件配置正确

                          4.加载到flash的code正确

                          最后发现测试电路的问题:Flash管脚焊接有瑕疵,读取flash的code时用ARM调式工具抓取波形时管脚上有不干净的毛刺,造成读取指令时错误。

      经验:在debug问题时,整个数据通路的任何环节都不要放过,包括一根导线。要逐个确认正确,忽略的就是问题所在之处。

  • 相关阅读:
    DB-MySQL:MySQL 函数
    DB-MySQL:目录
    文学-人物:王阳明
    院校:伦敦大学学院
    文学-人物:曹操
    文学-人物:诸葛亮
    x2go
    PHP+jQuery 注册模块开发
    java中Runtime类详细介绍
    java中Runtime类详细介绍
  • 原文地址:https://www.cnblogs.com/chip/p/4029295.html
Copyright © 2020-2023  润新知