- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
这是虚焊了吗?
有些板子上电后程序起不来,然后用手按一下主芯片,程序就起来了;
原来老的程序中没有读写FLASH的操作,程序都可以起来;
新的程序中加入了读取FLASH操作,有些板子就上电后不能起机了:(
有些板子可以正常起来,有些板子就必须按一下主芯片才起来~~~
请问牛人,这个是什么问题啊?是虚焊了吗?还是什么问题?
具体现象描述:
我们的系统中用到了FLASH的烧写功能,将我们的一些图像数据烧写到FLASH中,FLASH驱动是我们自己写的,在线仿真时没有任何问题,主体程序在线仿真时也没有任何问题。
系统的启动流程是:开机->初始化系统硬件(包括FLASH),初始化数据(包括从FLASH中读取数据),然后执行主程序。
我们将程序烧写到FLASH中,按键开机后,有的机器可以正常启动,但是有的机器却不能正常启动,电源灯亮,但是没有任何显示。
对于不能正常启动的机器,有时用手按一下DSP芯片就会正常启动,但是下次开机可能还会不能启动。
有的机器有时候可以正常启动,有时候不能正常启动。
烧写不带FLASH读写功能的程序时,开机后程序总是可以正常执行。
开机不进行FLASH读取操作,在程序运行过程中通过按键来控制FLASH写入时,也会出现死机现象,同样用手按一下DSP芯片就会恢复正常。
以上就是我们出现的问题描述,现在猜测可能和FLASH有关系,但是在线仿真的时候没有任何问题,烧写后也是只有少数的机器会出现启动不正常的问题。请问你们有没有遇到过这种问题,或者有没有一些相关的经验和想法,希望得到大家的回复,多谢!
看似硬件故障可能性较大:要么焊接有问题、要么制板时过孔没做好,特别是BGA那块
楼上说的很有道理!
能肯定的是接触不良,至于是焊接不良还是制板不良造成的,就要另说了。如果是虚焊,补焊下应该就能修复的,有条件的话在产线上用X光照下,能看出来是否虚焊。
不知道你所谓的可以正常启动的程序,是否整个启动过程中都未对Flash进行操作?
1, 如果开机过程中未对flash进行读写操作,能够正常启动;而开机过程只要对flash进行操作,就会出现部分手机无法正常启动--》极可能虚焊或驱动
2, 如果开机过程中未对flahs进行读写操作,能够正常启动,而开机之后对flash进行读写,又死机了--》极可能是虚焊或驱动问题
另外,楼主描述 按下dsp就可以启动了,那么dsp是否还牵扯其它程序的运行?
1, 如果dsp相关的其它程序能够正常运行,那么按下dsp就能正常启动的现象--》驱动中的时序问题嫌疑更大,虚焊嫌疑小
2, 如果dsp相关的任何其它程序,也是偶尔正常,偶尔不正常,那么--》虚焊嫌疑大,驱动问题嫌疑小
楼主,在线仿真时是好的,基本证明dsp与flash的路线是ok的,你可以仔细check一下仿真时与实际使用时,对于dsp和flash的设置有何区别,比如时钟速率,flash的保护等
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...