first step to ARM Cortex M implementation