工具/软件:Code Composer Studio
突然、下面的闪存区域被重新写入0xffffffff。
00018880 _PMBus_DCDC_cal_constants
0001888c _PMBus_DCDC_cal_nonpge_constants
00018890 _PMBus_DCDC_CONFIG_constants
000188d0 _PMBus_DCDC_CONFIG_NONPaged_constants
00018900 _PMBus_CHECKSUM
我确信、参数不会在 Fusion Digital Power Studio 中重写。
我怀疑 flash.c erase dflash 区域中的 start_erase_task ()、因为这是我可以找到的唯一擦除整个 dflash 区域的代码。
start_erase_task()被称为以下 if 子句。
if ((校验和! = PMBus_CHECKSUM)&&(PMBus_CHECKSUM! = 0x87654321))
我认为(校验和! = PMBus_CHECKSUM)始终为 true 并且(PMBus_CHECKSUM! = 0x87654321)通常为 false。 我想(PMBus_CHECKSUM! = 0x87654321)变为 ture。
PMBus_CHECKSUM 是否可能会被噪声破坏或误读 PMBus_CHECKSUM?
