arm microcontroller firmware development framework