加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

硬件调试点滴(一)

发布时间:2020-12-15 06:21:32 所属栏目:百科 来源:网络整理
导读:1.数字芯片正常工作需要什么条件:电压,时钟,复位还有一些特殊的配置信号。 2.调试时,满足前面的条件,施加一定的激励就应该有反馈,激励包括总线,复位等等各种情况,反馈也是。比如16c554的0x07号寄存器可读写,并且保持写入值,那么就可以用来检查读写

1.数字芯片正常工作需要什么条件:电压,时钟,复位还有一些特殊的配置信号。

2.调试时,满足前面的条件,施加一定的激励就应该有反馈,激励包括总线,复位等等各种情况,反馈也是。比如16c554的0x07号寄存器可读写,并且保持写入值,那么就可以用来检查读写时序问题,在比如cpu复位后从外部flash启动就必然有读写片选等信号。。。举一反三。(尤其要注意复位的电平极性,FPGA设计中也经常会遇到)

3.电信号也就是电压信号,本质上是在电场力作用下带点粒子的移动,这种移动是很缓慢的,原因是导体内部粒子碰撞,所以也可以认为信号是一种力的传到,建立起电路的模型,所有器件都有容性和感性,这就导致了器件有快慢之分,快速的信号通过慢速器件自然有问题。比如视频的模拟信号,保护的TVS管是慢速的,很可能把高频的彩色滤掉,UART信号的波特率较高,通过慢速的电平芯片也有问题。

4.电信号除了电压外还有一个要素就是电流,也就是“能量大小”总线挂的太多,容性会抵消部分力量

?

5.关于内存的一点教训,调试DM642的过程中发现,程序在内部SRAM中可以正常运行,但是在外部SDRAM中总是死在一个固定位置(挂仿真器跑的),这个是表面现象,实质是SDRAM的数据线焊接问题,有一个Dx bit断开了,常高,导致指令都是错误的(这点ARM到是很容发现,因为会发生指令异常)。通过这个问题可以得到几条结论:1.测试存储器的时候不能简单写一个字读会就了事,要多写几种情况,测试相邻数据地址是否短路,是否断路。2.DSP的仿真器有查看内存数据的功能,也可以人为的写入,也可作为排错的手段。3.仿真器看仿佛程序死在某个位置,其实未必,修改程序后编译为重新加载就能发现位置不对。

?

6.IIC既方便又讨厌,方便的是连接简单,讨厌的是容易死机,只要有一个器件出错,很容易死在上面,比如地址寻址错误没有从机响应可能就停在这了,尤其是初始化配置阶段。

复制 搜索

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读