arm-cortex-m3 generic firmware library