海思芯片HI3531D复位调试记录

Cpu:HI3559A+HI3531d

FLASH:S25FL512SAGMFI

实现功能:HI3559A与HI3531D为主从关系,31D负责采集图像,59A负责其余工作。采用PCIE x1级联,为了实现PCIE同步,需要59A reboot时对31D进行复位(物理层)

问题:当59A对31D进行复位后,31D串口打印空格,没有内容输出

解决方法:更换flash芯片型号为S25FL512SAGMFIG10,之前flash不支持硬复位

调试步骤

  1. 怀疑31D复位时间有问题,datesheet要求100ms~300ms,修改复位时间为250ms,现象不变
  2. 怀疑硬件配置问题,修改BOOT启动模式,现象不变
  3. 修改SFC_BOOT_MODE为1后,直接上电串口就打印空格。(SFC_BOOT_MODE为0时,开机spi nor flash 使用3 byte模式,SFC_BOOT_MODE为1时,开机spi nor flash 使用4 byte模式)

所以怀疑flash有问题,与31D通信异常

 

4.31D硬件设计文档要求FLASH复位必须先于31D,所以直接不复位FLASH进行实验,现象不变

5.因为S25FL512S默认是3byte模式,但是3Byte最大只支持16Mb,所以开机后我们配置S25FL512S为4byte模式,来使用剩余空间。猜测flash复位后byte模式没有更改,还是4byte模式,所以在上图选择byte模式增加跳线,上电开机配置SFC_BOOT_MODE为0,使用3byte模式开机,开机后将SFC_BOOT_MODE改为1,然后进行复位,发现31D成功复位.

6.查阅S25FL512S datesheet后发现,这款芯片不同MARK功能差异很大,图贴在下方,我们选用的型号为S25FL512SAGMFI,刚好缺少reset support的要求,可能采购在购买时买的芯片不具备reset功能

7.最终选取了S25FL512SAGMFIG10,待明天回来后进行测试

 

最终结果:更换FLASH芯片型号后,59A输出200ms复位信号到31D RSTN,复位成功

 

未完待续.........

发布了12 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/oliverJ/article/details/103480539