CCS 6.0.1.00040 was being used to investigate a Possible TM4C123 hardware bug using the example project attached to the referenced post.
A watchpoint was set to trap a write of zero to the FLASH_CTRL_FLASH_FMA register:
The watchpoint behaves correctly, in that when the problem program runs the watchpoint is triggered before the first flash sector gets incorrectly erased.
However, if the watchpoint is left enabled when attempt to load the program, the load fails with CCS reporting:
To get the program to successfully load again I have to disable the watchpoint in the CCS Breakpoints window before loading the program.CORTEX_M4_0: GEL Output:
Memory Map Initialization Complete
CORTEX_M4_0: Flash Programmer: Error while writing to Flash memory
CORTEX_M4_0: GEL: File: /home/Mr_Halfword/workspace_v6_0/TIVA_flash_write_bug/Debug/TIVA_flash_write_bug.out: Load failed.
Therefore, it appears that CCS enables watchpoints before attempting to load the program into flash, and if the watchpoint gets hit while programming flash the programming fails. Is this the expected behavior, or a bug?



