3.5.5 How Can I Speed Up Programming Times?

The linker can allocate sections to both ends of program memory: some sections initially placed at a low address and built up through memory; other sections assembled at a high address and extended down. This does not affect code operation and makes linking easier, but it can produce a HEX file covering the entire device memory space. Programming this HEX file into the device may take a long time.

To reduce programming times in this situation, instruct the linker to not use all the device’s program memory. Use the -mreserve option to reserve the upper part of program memory (see 4.6.1.18 Reserve Option).