Moin.

Welche (brauchbaren) Möglichkeiten gibt es, um zwischen dem Programm und dem Bootloader eines AVR (ATmega8/16/32 etc.) Daten auszutauschen? Es geht hierbei um einzelne Bytes, keine ganzen Datensätze oder "Strings".

Die derzeitige Lösung ist eine Section im RAM, die beim Start beider einfach nicht mit 0 initialisiert wird; d.h. ein Teil schreibt einen Wert hier rein, der andere Teil liest ihn einfach aus.

Nachteil dieser Section ist, dass die dann in der zu flashenden .hex auftaucht und die üblichen ISP-Programmer natürlich keine Möglichkeit haben, Daten ins RAM zu flashen; d.h. die .hex muss vor dem Flashen erst manuell von dieser Section befreit werden.

Gibts da noch was "eleganteres", ein Byte hier hin und her zu schicken?
Bzw. gibt es eine Möglichkeit, dass in der .hex-Datei auch wirklich nur der Flash-Bereich steht und nichts aus den RAM-Sections?

mfG