Introduction
Pour de nombreuses applications (automobile, électroménager, téléphones, baladeurs audio...), on réalise des cartes électroniques spécifiques (par opposition aux cartes standard : API, PC industriels, plus coûteux et utilisés dans les applications industrielles).
Les principaux composants qui gèrent l'automatisme des appareils et effectuent des calculs sont des composants programmables. Ils sont de trois types :
les micro-contrôleurs
les circuits logiques programmables (FPGA, CPLD)
les PSoC (circuits mixtes qui ont en leur sein des structures analogiques, associées à un micro-contrôleur) que l'on rencontre plus rarement
En préalable à la programmation, il convient de définir l'organisation du programme, on parle d'algorithmie. L'algorithme (et sa représentation sous forme graphique : un algorigramme) est un moyen pour le programmeur de présenter son approche du problème à d'autres personnes de manière lisible, même par un non-informaticien, précise, concise, structurée et de haut niveau.
L'algorithme doit pouvoir ensuite être traduit en n'importe quel langage de programmation, il ne doit donc pas faire appel à des notions techniques relatives à un matériel particulier ou bien à un système d'exploitation donné.
Les notions relatives aux algorithmes, algorigrammes et structures algorithmiques élémentaires sont présentées dans un autre module : « Comportements informationnels des systèmes »
.
Des outils de programmation spécifiques à chaque famille de circuit sont nécessaires. Des langages différents sont utilisés (assembleur, C, VHDL, langages graphiques).