One issue that I noted in the article was that it appeared when programming with a Segger J-Link, you must first tell it to do a full erase of the target flash
This was a workaround for a bug in default behavior where the J-Link programming algorithm will only erase “dirty” sectors. With the default programming behavior, I noticed that I could get the CPU to hard fault when I would make trivial changes to a simple “LED Blink” sample project. It looked like that the dirty sector erase behavior was not functioning correctly and the image programmed to flash would not be correct. Performing a full erase before programming would fix this issue. Performing a full erase can be time consuming when a developer is in a debug/programing/test loop. Having this fixed would greatly improve productivity.
My project to test the issue is here (The IO_Toggle project) :