Bootloader pic 32

OP #4096028
Lesenswert?

Wiedermal der pic 32 mz!

Ich möchte einen Bootloader schreiben.
Da der pic Code auch aus dem RAM ausführen kann, könnte doch folgendes 
Konstrukt einfach und funktionsfähig sein:

In meiner Anwendung, die ich in den pic programmieren will, ist der 
Bootloader immer dabei. Die Bootloader-Funktionen versehe ich mit dem
ramfunc Attribut, d.h. der Code wird von der Start-up in den RAM 
kopiert und von dort ausgeführt.
Bei meiner Bootloader-Funktion sorge ich dafür, dass sie auf keine 
Konstanten o.Ä, aus dem Flash zugreift, und nie wieder zurückkehrt. Dann 
müsste ich doch eigentlich den Flash komplett neu überschreiben können 
und nach dem Reset das neue Programm vorfinden?

Gibt es da irgendeinen Denkfehler?
OP #4096079
Lesenswert?

Was ist der Unterschied zwischen Boot- und ProgrammFlash?
Ich muss doch dafür sorgen, dass sich der Bootloader-Code während seiner
Ausführung auf eine anderen Bank befindet, als die zu beschreibende.
Wenn ich also z.B. den Bootloader in BootFlash 1 unterbringe (wie mache 
ich das eigentlich), kann ich den ProgrammFlash 1 nicht beschreiben.
Ah! Ich kann den ProgrammFlash 1 trotzdem beschreiben, muss aber damit 
Leben, dass die CPU während des Schreibevorgangs ihre Aktivität 
einstellt, was aber nicht weiter schlimm ist. Habe ich das richtig 
verstanden?

Zu meiner Idee: Ich hatte gehofft, damit keine Anpassungen im 
Linker-Skript vornehmen zu müssen!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren