F29P329SM-Q1: Debug报错:C29xx_CPU1: Error occurred during flash operation: Target failed to write register PC_FORCE

Part Number: F29P329SM-Q1

你好,

我在使用F29P329SM2-Q时,首次调试时出现图中的报错,使用Start Project-less Debug能连接上微控制器,读取RESC寄存器后显示有NMIWDRSn和WDRSn被置位,请问为什么会导致这种情况,应该怎么解决。

d3026c80-c40a-4a02-8dca-06f4b565cd0a.png

356d1375-5cc8-4fb2-acba-0e73ee6ef3f8.png

  • 您好,

    已经收到了您的案例,调查需要些时间,感谢您的耐心等待。

  • Boot-ROM状态如下:

    C29xx_CPU1: Bootrom Status
    C29xx_CPU1: Reset Cause is XRSn
    C29xx_CPU1: Reset Cause is WDRSn
    C29xx_CPU1: Reset Cause is NMIWDRSn
    C29xx_CPU1: Bootloader is unlocked
    C29xx_CPU1: Device State is HS-FS
    C29xx_CPU1: Link0 Error is Nmi
    C29xx_CPU1: Bootflow Status
    C29xx_CPU1: Raminit : NA
    C29xx_CPU1: Hwpatch : PASS
    C29xx_CPU1: ErrorStsPin : PASS
    C29xx_CPU1: Zone0Pwd : PASS
    C29xx_CPU1: Uid : PASS
    C29xx_CPU1: FriWs : PASS
    C29xx_CPU1: WdEnable : PASS
    C29xx_CPU1: PmmTrim : NA
    C29xx_CPU1: OscTrim : NA
    C29xx_CPU1: ApllTrim : NA
    C29xx_CPU1: FlashTrim : NA
    C29xx_CPU1: CriticalTrim : PASS
    C29xx_CPU1: DevConfig : PASS
    C29xx_CPU1: LockDCx : PASS
    C29xx_CPU1: RescClr : NA
    C29xx_CPU1: FlashTrimLock : PASS
    C29xx_CPU1: EsmLockCommit : PASS
    C29xx_CPU1: UppRev : PASS
    C29xx_CPU1: XtalEnable : NA
    C29xx_CPU1: SsuPost : NA
    C29xx_CPU1: SsuInit : PASS
    C29xx_CPU1: PmmDbgTrim : PASS
    C29xx_CPU1: AdcRefTrim : PASS
    C29xx_CPU1: AdcOffTrim : NA
    C29xx_CPU1: AdcInlTrim : NA
    C29xx_CPU1: DacOffTrim : NA
    C29xx_CPU1: SSU Config Status
    C29xx_CPU1: BankmgmtCpu1 : PASS
    C29xx_CPU1: BankmgmtCpu3 : PASS
    C29xx_CPU1: EccBankmode : PASS
    C29xx_CPU1: GetBankmode : PASS
    C29xx_CPU1: ReadError : PASS
    C29xx_CPU1: EccSsumode : PASS
    C29xx_CPU1: GetSsumode : PASS
    C29xx_CPU1: SeccfgCpu1 : PASS
    C29xx_CPU1: SeccfgCpu3 : FAIL
    C29xx_CPU1: SsuCfgCpu1 : PASS
    C29xx_CPU1: SsuCfgCpu3 : NA
    C29xx_CPU1: AprConfig : NA
    C29xx_CPU1: Winning Bankmgmt Cpu1 = 0x10D80000
    C29xx_CPU1: Winning Bankmgmt Cpu3 = 0x10D80000
    C29xx_CPU1: Valid Seccfg Cpu1 = 0x10D81000
    C29xx_CPU1: Valid Seccfg Cpu3 = 0xDEADCAFE
    C29xx_CPU1: Bankmode = Mode0
    C29xx_CPU1: SwapCpu1 = Default
    C29xx_CPU1: SwapCpu3 = Default
    C29xx_CPU1: SecvalidCpu1 = Base
    C29xx_CPU1: SecvalidCpu3 = Base
    C29xx_CPU1: Ssumode = Mode1
    C29xx_CPU1: Nmi Status
    C29xx_CPU1: DR1 Error Type :ACC_ACK_ERR
    C29xx_CPU1: DR1 Error Addr = 0x700A40CA
    C29xx_CPU1: DR1 PC Addr = 0x0000FAB8
    C29xx_CPU1: DW Error Type :ACC_ACK_ERR
    C29xx_CPU1: DW Error Addr = 0x700A40CA
    C29xx_CPU1: DW PC Addr = 0x0000FAB8

  • 您好,

         出现此报错是由于更改了 CPU1 的 codestart,这个值需要像默认的cmd文件里一样,设置为 0x10001000。

       在刷入无效的 codestart 程序后,如果要重新刷写 Flash,需要把启动模式从 11(Flash 启动)改为 00,然后执行 CPU 复位或者断电重启,再重新连接并刷入有效的 codestart 程序。

  • 可是我还没有刷入过程序,芯片是一颗全新的芯片,首次刷入时即报了这个错误。当然,我可以调整启动模式再次尝试。