FreeRTOS est un noyau de système d'exploitation temps réel faible empreinte pour microcontrôleur. Il est publié sous licence libre GNU General Public License (GPL).

FreeRTOS propose différents portages, notamment pour ATmega323, mais pas pour ATmega328. En effet, certains registres et vecteurs d'interruption relatifs au Timer 1 ont été renommés. Cet article propose d'y remédier de manière didactique, en réalisant le portage pas à pas. Ainsi la démarche pourra être reproduite pour tout autre microcontrôleur ATmega.

L'ATmega328 étant relativement proche de l'ATmega323, le portage de ce dernier servira de base.

La cible utilisée dans cet article est une carte Arduino Uno R2 embarquant un microcontrôleur ATmega328P.