A good embedded system design needs to have its software free from side effects and also the embedded software should consider the limitations of the hardware itself. Here you can find technical articles focused on embedded C and C++ concepts, design constraints and semantics.