Bare Minimal 2 | .init0 | naked | .ctors | signal | -nostartfiles - Advanced AVR 3.0 Core
AVR-Libc comes with a lot of trash. Bare Minimal is the idea of bypassing them while getting the MCU to work properly, how to get interrupt to work without the vector mapping, for instance. Hard-code interrupt is actually very simple and straightforward.
Able to play around this level is critical not only to save few bytes, but to have full control and create more sophisticated application. A lot of the documentation are copy-and-paste, and to see what does what, and how, the codes are compiled and checked. Essentially, on this level, it's possible to code in assembly using pure c code, and I don't mean that so-called inline asm code, but an almost assembly experience using c. For instance, I can define a constant 16-bit array, but it's actually a hand-wired assembly code that can be called by another variable in another memory location. It's not possible to do that in inline asm.