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.