Hi all,
First, @khchiang I hope my makefile has not left you completely bald headed :-)
I have tried setting up the make system, such that changed dependencies are recompiled automatically. However I must admit that I have seen that changes to only header files will not trigger recompilation! The issue is on my todo list.
Therefore: If changes are in only header files, with no changes to .cpp files - please do a make clean
Flashing display
This is a runtime exception / error. (@raute_at interpretation is indeed correct.) If the CPU encounters an invalid instruction (by executing data for example), or it tries to access protected memory, then a hardware exception is triggered. By default all exceptions are handled by a routine that flashes the display, and turns the User button into a software reset button. The code can be seen here.
About mono_default_main.o
This is just the default main() function, its content never changes. I guess compilers works in mysterious ways, since removing it has an effect.
I hope this help to clarify the system. Please do not hesitate to ask, if you have something you been wondering about.