专栏底层软件变砖后,flash镜像烧写失败

变砖后,flash镜像烧写失败

默认014722026-07-06
101
14

硬件环境:MARTIX_SIP_J6X_V2P0

问题描述:使用flash.py烧写MCU镜像之后,板子启动不可,电流在0.11A左右,在执行官方手册中提供的空片/救砖的方法后,fastboot烧写失败。

恢复的步骤:

1.将SW2-2拨到ON的状态,确认此时MCU的串口在打印UUU.

2.按照J6系统软件手册/J6X MCU指导手册1.2.4章节的步骤

.\dfu-util-static.exe -d 3652:6610 -a 0 -D .\cmd_load_sbl

.\dfu-util-static.exe -d 3652:6610 -a 0 -D .\sbl.pkg

.\dfu-util-static.exe -d 3652:6610 -a 0 -D .\cmd_exit

.\dfu-util-static.exe -d 3652:6620 -a 0 -D .\u-boot-spl_ddr.bin -R

.\dfu-util-static.exe -d 3652:6620 -a 0 -D .\J6_MCU_DEBUG.bin -R

.\dfu-util-static.exe -d 3652:6625 -a 0 -D .\hobot-j6x-bl31.dtb

.\dfu-util-static.exe -d 3652:6625 -a 1 -D .\bl31.bin

.\dfu-util-static.exe -d 3652:6625 -a 2 -D .\tee-pager_v2.bin

.\dfu-util-static.exe -d 3652:6625 -a 3 -D .\u-boot.bin -R

这一步执行完毕后,Acore的串口可以看到uboot启动了

3.紧接着在Acore的串口中输入命令

dcache off

fastboot 0

4.调用flash_all.sh去进行恢复,第一步执行时就出现了错误,执行的命令.\fastboot.exe flash fpt fpt.img

此时报错fpt partition size:0,fpt image size:262144

有人知道这个应该怎么进行恢复吗?

附件:
底层软件
DSP征程6
+1
评论4
0/600
  • 默认01472
    Lv.1

    追加一条信息,fastboot模式下打印这个错误的时候,Uboot的窗口会打印以下的错误码:

    hb_ipc_is_remote_ready failed,ret:-11

    MTD device fpt not found,ret,-19

    Failed to get mtd partition info:fpt

    2026-07-07
    0
    2
    • 费小财回复默认01472:
      uboot下试试mtd list,看看能不能看到分区表,可以的话就./flash_all.sh -m disk
      2026-08-07
      0
    • 默认01472回复费小财:
      这个试过了,mtd list返回的的是hb_ipc_is_remote_readt failed, ret : -11 \ List of MTD devices: \ no MTD device found
      2026-08-07
      0
  • 费小财
    Lv.5

    你有改啥吗,看着是区别表没有刷好,你是按照文档整刷的吗

    2026-07-09
    0
    4
    • 默认01472回复费小财:

      刷写脚本的话,从sh改成了cmd,然后命令行里面调用的命令从fastboot改成了.\fastboot.exe,其他刷写的逻辑和命令上确认了是一致的。然后调用的时候 命令是 flash_all.cmd -m all -s a -b mmc -r true -f MCU_J6M_SIP_Matrix_V2.0.img 这样全刷的

      现在在问题排查的过程中确认了在,uboot模式下mtd list的回复是hb_ipc_is_remote_readt failed, ret : -11 \ List of MTD devices: \ no MTD device found

      我查看了一下mtd的信息来源应该是mcu这边,通过xspi,ipc传递到Acore这边的,然后用run bootcmd进入内核态去查看内核日志dmesg | grep -i spi,它有一个错误打印, hobot_vspiflash:hb_ipc_is_remote_readt failed, ret : -11

      2026-07-09
      0
    • 费小财回复默认01472:

      你直接刷disk吧,./flash_all.sh -m disk

      2026-08-07
      0
    • 默认01472回复费小财:

      好的 我试一下

      2026-08-07
      0
    • 默认01472回复默认01472:
      执行了之后,还是之前的问题。
      fastboot flash mode [disk]

      fastboot slot mode [default]

      fastboot get board env...

      bootintf=[scsi], secflag=[0], soc_name=[J6M], hw_name=[SIP_Matrix], version=[V2.0], lifecycle=[0]

      fastboot set mode...

      security_mode=[false], mcu_img=[MCU_J6M_SIP_Matrix_V2.0.img]

      flash disk img=[flash_disk_J6M_SIP_Matrix_V2.0_nonsec.img]

      this will flash disk img to mtd device

      OKAY [ 0.001s]

      Finished. Total time: 0.002s

      Warning: skip copying hb_vspiflash image avb footer (hb_vspiflash partition size: 0, hb_vspiflash image size: 26738688).

      2026-08-12
      0
  • 你的名字
    Lv.1

    step2主要是将bin文件加载到ddr和sram,并未发生刷写mcu侧flash的动作,导致执行step4的时候出现获取fpt分区失败。执行完step3之后,先刷写mcu侧vspiflash,保证soc侧能获取到fpt分区信息,指令如下:

    fastboot oem interface:mtd

    fastboot flash hb_vspiflash flash_disk_J6M_Matrix_V2.0.img

    刷写成功之后,再执行step4。

    2026-08-07
    0
    0
  • zsy
    Lv.4

    看你描述,dfu能救活板子,能进uboot对吧? 看着像你的fastboot刷的镜像有问题或者刷写有问题;此前是否fastboot刷过板子?

    2026-08-07
    0
    4
    • 默认01472回复zsy:
      可以进入到uboot,但是通过mtd list去查询分区表的时候 返回了错误 hb_ipc_is_remote_readt failed, ret : -11 \ List of MTD devices: \ no MTD device found
      2026-08-07
      0
    • 费小财回复默认01472:

      这个ipc没有对上啊, 当前dfu启动的镜像, acore和mcu的vxspi ipc没有通

      2026-08-11
      0
    • 默认01472回复费小财:

      那现在还有什么办法可以恢复吗

      2026-08-12
      0
    • zsy回复默认01472:
      感觉是你前序步骤已经有问题了,可以尝试一下以下两种方式,1. tftp进入到内核后dd img方式来强行刷镜像; 2. 我们对外有救砖工具的,使用工具靠谱点, 不需要手动敲.\dfu-util-static.exe命令(推荐2)
      2026-08-13
      0