Assim, o desenvolvimento deste material é desafiador por várias razões. Primeiro, os sistemas computacionais apresentam um rápido ritmo de mudança, bem como as necessidades e aplicações desses sistemas. Segundo, existem diversas tecnologias que podem ser utilizadas no desenvolvimento de sistemas embarcados, apresentando os mais variados recursos e dependências. Apesar disso, existem muitos conceitos fundamentais que são invariantes à tecnologia utilizada.