Hallo Zusammen,
ich (Atmega328) möchte das Speicherlayout des Controllers gern in Stage0-Bootloader (echter Bootloader), Stage1-Bootloader und Firmware aufteilen. Stage0 bleibt konstant; Stage1 und Firmware sollen sich untereinander updaten können.
Problem - logisch - wie kann ich Flash schreiben der sich nicht im Bootloader befindet. Es muss (mindestens) eine Lösung Names spminterface geben und eine ominöse AN106 geben. Kennt sich damit jemand im Zusammenhang mit Bascom aus?
Meine Idee war es die Update-Daten in den RAM abzulegen; mit goto an die Loaderadr. (Stage0-Bootloader) zu springen; dort SPM (spmcsr=0b11=3=page erase) auszuführen. Leider bleibt der controller an dieser Stelle für immer stehen. Vermutlich wird beim Aufruf von goto _RESET die Ausführung von SPM gesperrt.
Dank und Gruß.
ich (Atmega328) möchte das Speicherlayout des Controllers gern in Stage0-Bootloader (echter Bootloader), Stage1-Bootloader und Firmware aufteilen. Stage0 bleibt konstant; Stage1 und Firmware sollen sich untereinander updaten können.
Problem - logisch - wie kann ich Flash schreiben der sich nicht im Bootloader befindet. Es muss (mindestens) eine Lösung Names spminterface geben und eine ominöse AN106 geben. Kennt sich damit jemand im Zusammenhang mit Bascom aus?
Meine Idee war es die Update-Daten in den RAM abzulegen; mit goto an die Loaderadr. (Stage0-Bootloader) zu springen; dort SPM (spmcsr=0b11=3=page erase) auszuführen. Leider bleibt der controller an dieser Stelle für immer stehen. Vermutlich wird beim Aufruf von goto _RESET die Ausführung von SPM gesperrt.
Dank und Gruß.