Go to Keil.com/demo/eval/arm.htm and download MDK 5.29 (approximately 900 MB).

Update 7 changed the default handling of the ARM_LIB_STACKHEAP region. If your linker script uses custom heap symbols, you may need to add * (.heap) explicitly.

If your code uses nullptr (C++11), ensure you compile with --cpp11. Otherwise, the compiler defaults to C++03.