Ecriture dans FRAM au chargement du programme
Bonjour à tous,
Je cherche à écrire un certains nombre d'informations à une adresse précise de la FRAM de mon MSP430 au moment du flashage. Ces informations ne seront jamais lues par le programme mais par le bootloader (il s'agit en fait de n° de version entre autres). Pour cela, j'ai déclaré une structure en volatile static const mais, même malgré cela, les info ne sont écrites que si j'accède au moins une fois à un champs de cette structure dans le programme (ce qui ne m'intéresse pas). Aucune section ne se créée dans le map file si je n'accède pas aux données.
Après pas mal de recherches, j'en suis à ce résultat, mais même malgré les "volatile", "attribute((used))" et autres mots clés, je n'arrive pas à écrire ces données sans avoir à y accéder au moins une fois!
Code:
1 2 3 4 5 6
|
#pragma LOCATION(version, 0xFF5C)
__attribute__((used)) volatile static const Firmware_t version =
{
...
}; |
Pour info, les optimisations sont désactivées, mais j'aimerais pouvoir les activer par la suite!
Merci d'avance et bonne journée! :)