GPIO
Le premier périphérique qu'on met en marche traditionnellement quand on démarre une carte en bare-metal est le contrôleur de GPIO, de façon à pouvoir allumer / éteindre une LED. Les GPIO sont des broches du processeur qu'on peut configurer à volonté en entrée ou en sortie. Lorsqu'elles sont en entrée, on peut lire leur état dans un registre spécial. Lorsqu'elles sont en sortie, on peut les mettre à l'état haut ou bas, en écrivant dans un registre spécial.
La plupart des GPIO peuvent avoir des configurations supplémentaires :
- on peut leur demander de générer une interruption si le signal qui arrive dessus change d'état, ou fait un front montant ou un front descendant,
- on peut configurer l'intensité qu'elles peuvent débiter (ce qu'on appelle le slew-rate), ce qui influe sur leur vitesse de commutation,
- activer des résistances de pull-up / pull-down,
- etc.