Mémoire

Le LPC2106 possède donc 128Ko de mémoire Flash et 64Ko de mémoire RAM statique.

Il est à noter que la mémoire RAM n'est pas sauvegardée et que les données sont donc perdues à l'extinction du microcontrôleur.

Malgré sa structure de bus internes complexe, l'espace mémoire du LPC2106 reste linéaire pour l'utilisateur. Du fait de sa structure 32 bits, cet espace adressable total est de 4Go.

La mémoire Flash contiendra donc nos programmes, et pourra être effacée/reprogrammée plus de 100.000 fois, avec une durée de rétention de plus de 20 ans.

Le programme sera injecté dans la flash soit par la liaison série du LPC2106 (In Situ Programming), soit par son bus JTAG, soit remodifé par le programme lui-même dans la cas de In Application Programming.

Le LPC2106 bénéficie donc de deux modes de programmation: ISP et IPA.

En ce qui concerne la mémoire flash, il existe un module très important dont nous parlerons plus tard. Il s'agit du Memory Accelerator Module, ou MAM. La mémoire flash étant une mémoire relativement lente, NXP a intégré ce MAM pour gérer et accélérer considérablement les accès mémoire programme.

En ce qui concerne la programmation de la flash, divers utilitaires sont disponibles sous Windows et Linux. Nous aborderons ces points lors de notre premier projet.

Mapping mémoire:

Source: manuel NXP du LPC2106.

On remarquera ici que la mémoire et les périphériques se retrouvent bien dans le même espace mémoire.