Hallo,
ich mach gerade mit dem Controller internen EEprom rum.
Das habe ich mit der Standard Arduino IDE gemacht.
Auch mit Boarderweiterungen klappt das.
Sobald ich jedoch eine aktuellere avr-gcc Toolchain verwende (9.4 ...
11.2), dann ist Bspw.:
1 | Arduino IDE Portable\AVR128DB\arduino-1.8.16\portable\packages\DxCore\hardware\megaavr\1.3.6\libraries\EEPROM\src/EEPROM.h:70:5: error: '_PROTECTED_WRITE_SPM' was not declared in this scope
|
Dann begann die Recherche was das fehlt und bin mit der xmega.h fündig
gewurden. In all meinen Toolchain gibts in avr\include\avr\xmega.h in
denen es jedoch nur das Makro _PROTECTED_WRITE gibt, aber nicht
_PROTECTED_WRITE_SPM.
In der Standard Toolchain 7.3.0 die die Arduino IDE verwendet existiert
das _PROTECTED_WRITE_SPM Makro in der xmega.h. Hat das Arduino selbst
hinzugefügt oder ist das in späteren avr-gcc Version abhanden gekommen?
Ich stehe vor der Frage ob ich das fehlende Makro nur ergänzen muß (was
funktioniert) oder ob dabei noch eine größere Falle lauert die ich nicht
sehe?