调试16C550,痛苦的过程~~

从上周五开始调试串口通讯芯片TL16C550,终于在一刻钟前调通了~~

痛苦的煎熬过程终于结束了~~

记录一下调试心得~~

 

嵌入式系统软件调试的痛苦在于他要与硬件交互,与硬件息息相关;

嵌入式系统软件调试更痛苦的地方在于,软件你要调,而硬件却又不是你做,你以为硬件不会有很低级的错误呢他偏偏就有;

 

16C550寄存器不多关键就那么两三个寄存器(LCR,DLM,DLL)~~

第一,

写了验证程序很简单,可是怎么都不通,连BAUDOUT信号也出不来,于是用示波器一个个抓逻辑(感谢我们有示波器于是有很多多通道示波器用,也因为我们是做示波器的,所以我耽误了很多时间发现示波器的BUG,郁闷)。发现FPGA出的ALE信号有问题,于是告诉逻辑修改方案,修改,实验测量没有问题了,可是还出不来,于是又查程序。

第二,

昨天搞了一早晨,还是没搞出来,郁闷了,于是叫来硬件,帮忙检查他的电路有没有问题,这里我们犯了一个严重的错误,几乎所有的信号都查了,连读写控制线和数据的时序都看了,也没看出什么问题,见天早晨又搞了一两个小时还是没有发现问题。

于是我决定用51搭一个最小系统,验证,以排除硬件问题,下午用了两个多小时飞线搭好了,然后写程序,16C550的写时序都快背下来了。在调试过程中发现复位信号好像有点和硬件原理图不一样,于是乎,对了一下原理图和芯片手册,终于发现了问题,于是飞线,跑了一下DSP程序直接成功。

 

郁闷呀~~~

又被复位深深的伤害了~~

 

经验>:

(恍惚中两年前总结过一个喝着类似的经验 不过那时候做硬件)

查时序,查片选,千万别忘了查复位!!! 复位啊 复位~~~~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值