pxa270烧了bootloader起不来

时间:2021-09-30 17:22:41
1,最近调试pxa270开发板,发现很奇怪的现象,采用的是pxa270主芯片,2片16bits norflash,组成32bits的总线与pxa270相连,共32MB,,intel strata flash,TE28F128J3A-150,内存是两片美光的16M16,组成64MB SDRAM.
现在我采用简易的Jtag下载线,只能是下载的那种,用JflashMM下载bootloader,发现大概有10块板子,只有其中的两块能启动,而其余的都没有串口信息,内存的clock都不正常,而烧录的过程也没有发现什么异常,都是烧录正常,并且验证正常,100%通过。
电源信号和reset信号都没有发现特别的异常
2,现在还没找到原因在哪里,似乎不像是信号完整性的问题,外围的速度又不快,也才一百多兆的SDRAM,而且问题是上电之后,flash的片选信号啥反应都没有。
原理上似乎也说不出哪里问题,也有两个板子能启动。
bootloader也没法说出什么问题,个别板子还是启动了,同样的bin。

请各位帮忙想一下可能是什么原因?

10 个解决方案

#1


电源、复位、时序。

#2


发现SDRAM的型号可能选的不对,选用了CL=2的133MHz,好像主芯片默认的控制器配置的是CL=3的,还需要进一步的研究,是不是内存芯片不匹配的话就无法正常初始化内存控制器了?因为没有仿真器,没法单步跟踪,不知道在哪里跑飞了或进了死循环。
我的理解,对于主芯片本身的初始化,应该和外围的内存没有关系吧?因为SDCLK,SDCS等都是主芯片输出的,怎么会不正常呢,奇怪,明天买新的CL=3的内存试试看再说。

#3


既然有两块能够起得来  那是不是在某一个特定的地方焊的有问题
例如时钟链路或者是FLASH及SDRAM附近

#4


引用 3 楼 Heaven_Redsky 的回复:
既然有两块能够起得来  那是不是在某一个特定的地方焊的有问题 
例如时钟链路或者是FLASH及SDRAM附近


有可能是焊接的问题, 以前做 2410时, LCD 就是不行,点不亮

同一批板子,有的可以,有的就不可以

最后查啊查啊, 发现是某个BGA封装的片没焊好。。。。

#5


刚开始5块,我们也怀疑是没有焊接好,只出来一块,后来重新做了,换了个厂家焊接,也同样,只出来一块,还有一块没有调试,差不多的,所以又不能明确说明是焊接问题。

#6


270输出的SDRAM时钟是104MHz,你选133MHz的,完全可用。各家的sdram都是兼容的,没有特殊需求,除非要宽温度等级。

“flash的片选信号啥反应都没有”,这就比较明显了:CPU根本没有正常启动。

因为配置SDRAM的时钟,是必须在cpu正常启动后,读取并运行flash内的eboot时才做的工作。

这里是纯硬件的问题,软件工作先放下。

查焊接,查复位信号和VCC_BBAT的时序(一定要严格符合要求),查电源(是否正常供电,供电是否稳定)。

#7


引用 5 楼 bruce0525 的回复:
刚开始5块,我们也怀疑是没有焊接好,只出来一块,后来重新做了,换了个厂家焊接,也同样,只出来一块,还有一块没有调试,差不多的,所以又不能明确说明是焊接问题。



有的时候可能是因为设计上的原因导致某一块的焊接问题 例如焊盘设计小了等等

#8


1,通过能起来的板子和起不来的板子的比较,主要区别在于reset结束后,RESET_OUT高电平,复位结束,正常板子能够产生flash的片选信号,而不正常板子没有。
2,上电顺序,nRESET,Vbatt,SYS_EN,PWR_EN,nRESET_OUT以及对应上电,好板子和坏板子没有明显差异,而且
基本上都和芯片说明里面的时序差不多。
3,电压,VCCIO3.3,Vcore,Vsram,Vpll,好坏板子比较后差不多。
4,焊接问题,本来也怀疑这个,但是通过JTAG口JFlashmm软件,可以烧录flash,并且验证正确,说明焊接正常。
5,把好的板子外围内存,flash全部去掉,芯片reset结束后,正常板子能产生flash的片选,而不正常的就没有,基本上没有其他的外围了。把flash对调后,好板子就是能起来。
6,板子在兴森做的,6层板,top-gnd-int1-int2-power-bottom.我想应该不会做坏。

现在没有头绪中。。。。。。

#9


你好,我也在做270,生产了几个,同样遇到sdram起不来的问题,正在写bootloader,能否大家交流,我的QQ 37882833
embedchina@yahoo.com.cn 

#10


这种硬件问题最好是拿一块好板作对比,用示波器测各关键点的波型,电压.一部分一部的排除.

#1


电源、复位、时序。

#2


发现SDRAM的型号可能选的不对,选用了CL=2的133MHz,好像主芯片默认的控制器配置的是CL=3的,还需要进一步的研究,是不是内存芯片不匹配的话就无法正常初始化内存控制器了?因为没有仿真器,没法单步跟踪,不知道在哪里跑飞了或进了死循环。
我的理解,对于主芯片本身的初始化,应该和外围的内存没有关系吧?因为SDCLK,SDCS等都是主芯片输出的,怎么会不正常呢,奇怪,明天买新的CL=3的内存试试看再说。

#3


既然有两块能够起得来  那是不是在某一个特定的地方焊的有问题
例如时钟链路或者是FLASH及SDRAM附近

#4


引用 3 楼 Heaven_Redsky 的回复:
既然有两块能够起得来  那是不是在某一个特定的地方焊的有问题 
例如时钟链路或者是FLASH及SDRAM附近


有可能是焊接的问题, 以前做 2410时, LCD 就是不行,点不亮

同一批板子,有的可以,有的就不可以

最后查啊查啊, 发现是某个BGA封装的片没焊好。。。。

#5


刚开始5块,我们也怀疑是没有焊接好,只出来一块,后来重新做了,换了个厂家焊接,也同样,只出来一块,还有一块没有调试,差不多的,所以又不能明确说明是焊接问题。

#6


270输出的SDRAM时钟是104MHz,你选133MHz的,完全可用。各家的sdram都是兼容的,没有特殊需求,除非要宽温度等级。

“flash的片选信号啥反应都没有”,这就比较明显了:CPU根本没有正常启动。

因为配置SDRAM的时钟,是必须在cpu正常启动后,读取并运行flash内的eboot时才做的工作。

这里是纯硬件的问题,软件工作先放下。

查焊接,查复位信号和VCC_BBAT的时序(一定要严格符合要求),查电源(是否正常供电,供电是否稳定)。

#7


引用 5 楼 bruce0525 的回复:
刚开始5块,我们也怀疑是没有焊接好,只出来一块,后来重新做了,换了个厂家焊接,也同样,只出来一块,还有一块没有调试,差不多的,所以又不能明确说明是焊接问题。



有的时候可能是因为设计上的原因导致某一块的焊接问题 例如焊盘设计小了等等

#8


1,通过能起来的板子和起不来的板子的比较,主要区别在于reset结束后,RESET_OUT高电平,复位结束,正常板子能够产生flash的片选信号,而不正常板子没有。
2,上电顺序,nRESET,Vbatt,SYS_EN,PWR_EN,nRESET_OUT以及对应上电,好板子和坏板子没有明显差异,而且
基本上都和芯片说明里面的时序差不多。
3,电压,VCCIO3.3,Vcore,Vsram,Vpll,好坏板子比较后差不多。
4,焊接问题,本来也怀疑这个,但是通过JTAG口JFlashmm软件,可以烧录flash,并且验证正确,说明焊接正常。
5,把好的板子外围内存,flash全部去掉,芯片reset结束后,正常板子能产生flash的片选,而不正常的就没有,基本上没有其他的外围了。把flash对调后,好板子就是能起来。
6,板子在兴森做的,6层板,top-gnd-int1-int2-power-bottom.我想应该不会做坏。

现在没有头绪中。。。。。。

#9


你好,我也在做270,生产了几个,同样遇到sdram起不来的问题,正在写bootloader,能否大家交流,我的QQ 37882833
embedchina@yahoo.com.cn 

#10


这种硬件问题最好是拿一块好板作对比,用示波器测各关键点的波型,电压.一部分一部的排除.