贴了十块BF561的板子,主要实现功能是红外图像处理;
现在板子都能连上session,也能烧进去代码;
但是有的能出来效果,有的出不来效果.
怀疑是芯片没贴好.
板子上有三个主要芯片分别是:
BF561SBBCZ-5A(DSP), MT48LC4M32B2F5(SDRAM), SST39VF6401B(flash);
怎么能查出看来是哪个芯片没贴好,是DSP没贴好,还是FLASH,还是SDRAM?通过什么方法能检测出来?
挂上仿真器,写一个遍历SDRAM的代码,先写入数据0xaaaa,0x5555,交替写入,写满整个SDRAM区域,然后读出校验,检测数据有没有出错。没有的话,再写入一遍,打开memory窗口,将地址0数据改为其它的,再校验,看除了地址0报错,还有其它报错没,检测地址线短接,没有基本可以认为SDRAM没问题。
仿真运行你要写入的代码,看是否正常。如果仿真没有效果,是板子没有焊接好,或者布线造成的SDRAM串扰,导致板子不稳定。
加载Flash 驱动,看ID是否正常,如果ID正常,擦除写入正常,基本可以认为flash没问题。
有板子正常工作,可以确定LDR文件没问题,建议检查内存和焊接,SDRAM串扰问题也需要查一下,可以在仿真时降低系统时钟看看。如果flash和SDRAM确认焊接都没问题,可能处理器虚焊。