硬件毛刺

这四天全部都在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问题时,整个数据通路的任何环节都不要放过,包括一根导线。要逐个确认正确,忽略的就是问题所在之处。

转载于:https://www.cnblogs.com/chip/p/4029295.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值