Je me trouve dans de nombreuses situations que j'aurais dû stocker un tableau ou un tas de structures dans la ROM au lieu de RAM. Ensuite, je passe en revue tout le code et apporte des modifications comme ajouter PROGMEM, pgm_read_word(), pgm_read_byte(). C'est une tâche difficile à faire surtout après avoir écrit comme 4000 lignes de code.Y a-t-il un moyen facile en C (programmation AVR) de choisir si une variable doit être stockée dans la RAM ou la ROM et de la gérer à travers tout le code?
Y at-il un truc qui pourrait être fait pour faciliter cela?
Un truc? Utiliser un compilateur qui supporte correctement l'architecture serait un début. Vous ne devriez pas avoir à vous soucier de l'activité de 'pgm_read_read', le moyen raisonnable est un qualificateur pour marquer les espaces de mémoire du programme. – doynax
Le placement de la mémoire est généralement géré par l'éditeur de liens – user3528438
@ user3528438: L'éditeur de liens alloue des variables _dans un espace d'adressage, il ne sélectionne généralement pas le segment dans lequel les placer. L'AVR en particulier est une architecture de Harvard qui nécessite différents types d'instructions à générer pour la ROM par rapport à la RAM, la première étant quelque peu restreinte en comparaison. – doynax