分享一个MPU板卡调试案例
0赞
发表于 12/3/2019 1:48:59 PM
阅读(2375)
前段时间参考官方交换机设计方案,设计了一款交换机。
这款交换机很简单,交换机功能就是由一颗交换机芯片实现,
出于特殊需求,加了一颗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:总结下,硬件板卡自己焊接时候还是要注意物料信息,另外尽量避免虚焊接。
另外,板卡工作前最好按照电轨、时钟、基本配置等顺序检查一遍。
