hard_01

分享一个MPU板卡调试案例

0
阅读(74) 评论(0)

前段时间参考官方交换机设计方案,设计了一款交换机。

这款交换机很简单,交换机功能就是由一颗交换机芯片实现,

出于特殊需求,加了一颗MPU,外挂DDR2和FLASH,用来跑linux。

在调试板卡时候,我太过于期待结果,毕竟是头次设计带有BGA封装的6层板卡,直接上电看结果。

上电后发现交换机功能没有启动,MPU本来要跑linux ,也没有boot起来。

一个大写的SAD

后来,还是按照顺序,从电轨电压、时钟、配置阻容相关信息查看,

发现交换机功能没有实现是因为焊接的外部晶振大小不对,更换后即可实现交换功能。Good Job。

但是至于linux没有boot起来也是很郁闷。

打印信息仅有MPU内置的romboot工作,正常是随后会把FLASH的第二级bootloodaer 引导到内部SRAM,进行初始化。

反复对比查看,发现问题又是时钟。第二级bootloader源码中关于时钟的操作是配置为晶体,而我用的是晶振,

这俩的寄存器配置还是有差异的。

随后更改为外部时钟配置,再次boot。

感谢天感谢地,一切ok,linux打印信息行云流水,Happy。


PS:总结下,硬件板卡自己焊接时候还是要注意物料信息,另外尽量避免虚焊接。

另外,板卡工作前最好按照电轨、时钟、基本配置等顺序检查一遍。


幸运飞艇官网 澳洲幸运10开奖结果 极速PK拾 极速快乐8 福建11选5走势 吉林快3代理 幸运飞艇官网 平安彩票 极速11选5 极速快3