Option de compilation différente par cartes

Bonjour à tous,

J'aimerais pouvoir avoir un fichier platform.txt spécifique en fonction de certaine carte par exemple, j'aimerais que pour une de mes cartes les options d'optimisation soit différente, est-ce possible ?
J'ai essayé de créer un fichier platform.txt dans le dossier de ma carte mais çà ne fonctionne pas j'ai aussi essayé d'ajouter un fichier platform.local.txt mais aucun effet non plus, quand je compile ça prend toujours les options de mon fichier platform.txt qui est dans le dossier parent qui contient tous mes variants de cartes. Est il possible de faire ça?

il y a de la doc à lire ici:

https://arduino.github.io/arduino-cli/0.20/platform-specification/

Merci pour le lien :smiley:. Donc si j'ai bien compris je dois modifier mon fichier board.txt qui contient la définition de toutes mes cartes et je met dans mon board.txt des extras flag
# this can be overriden in boards.txt build.extra_flags

qui est contenu dans le fichier global platfom.txt ?

je n'ai jamais joué en détail avec cela mais oui, je pense qu'en changeant de board ce sera plus simple de définir exactement votre environnement de compilation

Je crois que ce n'est pas possible j'ai je crois tout essayé sans succès je ne sais pas si on peut spécifier des flags d'optimisation en fonction des cartes.

c'est bizarre car on peut changer les options du compilateur en fonction de la carte (compiler pour AVR ou ESP32 par exemple)

il y a aussi cette discussion à lire

Je dois surement mal m'y prendre alors j'ai essayer dans le fichier board.txt d'ajouter une ligne du genre ma_carte.compiler.optimization_flags=-g -O1mais rien n'y fait quand ca compile ça me prend toujours le compiler.optimization_flags du fichier platfom.txt dans cette ligne
compiler.cpp.flags=-mcpu={build.mcu} -mthumb -c -g {compiler.optimization_flags} {compiler.warning_flags} -std=gnu++14 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -MMD

J'ai aussi tenté de modifier CC_ESC_4_2.build.extra_flags en ajoutant -g -O1 je retrouve bien dans les lignes de compilation mon flag mais j'ai toujours au début le compiler.optimization_flags du fichier platfom.txt

vous avez essayé de suivre pas à pas ce qu'il dit ici:

(je ne suis pas devant mon mac, je ne peux pas tester)

Oui je comprend bien la manip mais je ne vois pas comment le fichier platform.local.txt peut être spécifique pour une carte si il est dans le même dossier que le fichier platfom.txt en faite...

ça dépend ce qu'on appelle "carte". J'ai l'impression que c'est un moyen de modifier les flags de compilation pour toutes les mêmes 'boards'

je pense aussi que c'est une manière de faire ça globalement et non pas spécifiquement par carte pour moi le suel moyen de réussir et de passer par le fichier board.txt

j'ai trouvé aussi cela