深度解析与求助:PXA3XX的Boot ROM的全部功能与CODE

kyzf 2009-12-11 10:36:07
加精
公司用MARVELL的PXA系列做了一些项目;
目前有个PXA3XX的项目,在打板回来后,竟然PXA3XX的标配13MHz的晶振无法启振(以前曾未有过的故障)


解决故障的大体步骤如下:
<一>、
首先进行多块单板分别测试,结果都是13MHz的晶振无法启振,说明此问题不是个体问题,很可能是共性问题;
接着检测了焊接,通过更换IC,并检测相关阻抗,得出此故障非焊接的问题;

<二>、
后来根据PXA3XX的Power Up Reset Timing,进行测量:
1、首先系统电源正常;32.768KHz晶振也正常;
2、VCC_BBATT(RTC功能模块的电源)与PXA3XX的nRESET(复位输入信号)以及nBATT_FAULT等对应的时序都正常;
3、SYS_EN、VCC_MVT、VCC_SYSEN、PWR_EN、PWR_SCL、PWR_SDA、nRESET_OUT等电源与信号都已按照相关时序,正确给出。
4、对应的PMU也正常给出VCC_APPS, VCC_SRAM,
因为之前已研发出几款PXA3XX的产品,所以时序等问题,基本都不可能存在问题。

<三>、
当时怀疑由于PCB布局与布线可能存在问题,导致相关信号的信号完整性不好,从而导致13MHz无法启振,主要进行下列排除:
1、13MHz的参考电源VVC_MVT,通过相关测量该电源已经供上,且13MHz功能电路的PXTAL_OUT已经输出1.8V(参考电源VVC_MVT即为1.8V),又PXTAL_IN为0,这些都正常,从而排除VVC_MVT电源信号完整。
2、VCTCXO_EN(PXA3XX使能外部晶振的使能管脚)对应的参考电源VCC_IO1,通过相关测量该VCC_IO1的确存在,而且幅度很符合要求;

<四>、
但是通过测量其他PXA33XX项目的单板的13MHz启振前,VCTCXO_EN会从低电平变成高电平,之后PXTAL_OUT与PXTAL_IN才会产生
1.8V的振荡信号,这是一个疑点;暂时MARK。

<五>、
为了验证与排除NAND FLASH与代码的影响,我把其他PXA3XX项目的单板的NAND FLASH 直接焊接掉,测量时钟,13MHz还是能正常输出。故可排除 OBM代码的影响。

<终>
最后通过仔细排查,发现VCC_SRAM_1P4V存在问题,即PMU采用LDO输出VCC_SRAM,在信号命名上位:VCC_SARM_1P4V;而PXA3XX上则为VCC_SRAM_1P4V,所以两边信号名不一样,从而导致PMU输出的1.4V并没有供给PXA3XX的VCC_SRAM;
最后通过飞线,把它们连接到一起,故障得以解决,13MHz启振。


<疑问>
虽然故障得以解决,但深度问题还是是没有彻底弄清楚,恳请牛人解答,同请大家共同探讨,非常感谢;具体深度问题如下:
1、PXA3XX的Boot ROM的全部功能与CODE
2、13MHz晶振的启动是需要软件进行怎样的配置?
3、软件配置后,VCTCXO_EN即输出高电平,也既是说VCTCXO_EN可当成软件配置13MHz的一个标志?
...全文
660 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
zm864680106 2010-09-13
  • 打赏
  • 举报
回复
好帖……
znaly 2010-08-03
  • 打赏
  • 举报
回复
不错,学习了
whalezyz 2010-05-28
  • 打赏
  • 举报
回复
学习了,多谢。
huxianfangyuan 2010-05-20
  • 打赏
  • 举报
回复
那个专讲boot rom的文档在哪里,哪位大哥给传一份啊,我qq 632713169
yinzhenhui 2009-12-15
  • 打赏
  • 举报
回复
回复 ,mark,赚分罢了,无奈啊
tian1215225lu 2009-12-15
  • 打赏
  • 举报
回复
学习下 感谢
haosq123 2009-12-15
  • 打赏
  • 举报
回复
ding
kyzf 2009-12-15
  • 打赏
  • 举报
回复
谢谢大家! 结贴啦!
以后遇到PXA3XX系列处理器的故障,欢迎找我,一起交流,共同提高。
lihong297 2009-12-15
  • 打赏
  • 举报
回复
好资料,thank you
louisa7647 2009-12-14
  • 打赏
  • 举报
回复
顶一下,非常不错。
faked 2009-12-14
  • 打赏
  • 举报
回复
It's impossible for us to get bootrom's source code. If you'd like to dig this, there's one suggestion: go step by step in jtag.
And by default on Zylonite , there's one LDO output connected to vcc_sram and dynamically changed thru PMIC LDO control register.
xz22503c 2009-12-13
  • 打赏
  • 举报
回复
很好的帖子呢!!!
jking1989 2009-12-13
  • 打赏
  • 举报
回复
这个好
richyy1987 2009-12-13
  • 打赏
  • 举报
回复
好东西 谢谢 啊啊
lhslktg 2009-12-13
  • 打赏
  • 举报
回复
jf
wxh5656 2009-12-12
  • 打赏
  • 举报
回复
还是不懂
kyzf 2009-12-12
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 xz22503c 的回复:]
很好的帖子呢很好的帖子呢
[/Quote]

谢谢夸奖,大家一起探讨,共同进步。
xz22503c 2009-12-12
  • 打赏
  • 举报
回复
很好的帖子呢很好的帖子呢
dbd27 2009-12-12
  • 打赏
  • 举报
回复
观望大牛
bcl258586301 2009-12-12
  • 打赏
  • 举报
回复
不懂....
加载更多回复(12)

6,125

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧