Hallo, ich möchte Hardware mit Mega32 anbieten, die über Bootloader vom Kunden programmiert werden kann. Die fertige Hardware wird mit Bootloader ausgeliefert, der dann einen Copyright-String beinhaltet. Die Applikationssoftware (verschiedene Typen) kann jeder aus dem Netz ziehen und aufspielen. Diese liest beim Start dann den String im Bootloader und startet, wenn alles passt. Problem: wie kann ich den auslesegeschützten Bootloader aus der Applikation lesen? Wie müssen die Lockbits gesetzt werden? Danke für die Zeit, die ich euch raube Harald
Offensichtlich kann man den geschuetzten Bootloader nicht lesen. Du moechtest moeglicherweise eine Bootloader Funktionalitaet ausfuehren ? Das kann man machen. Der Bootloader kann erkennen, ob ein powerup reset ansteht oder auch nicht. Ferner kann der Bootloader Ansprungpunkte haben. Man kann den Entry 0000:0000 fuer den Reset Vektor reservieren, und der adresse 0000:0004 eine andere Funktionalitaet zuweisen. zB mit einem Parameter. Dann dort den Parameter evaluieren, etwas machen, zB einen String anderswohin kopieren und wieder zurueckspringen.
Hallo, Danke für den Tip. Werde mal sehen, was machbar ist. Gruß Harald
Unabhängig von der Stellung der Lockbits kann eine Applikation im Atmega jede Stelle ihres Flashs auslesen, also auch den Bootloader. Das ist ja essentiell für jedes Programm, das die Assembler-Instruktion lpm oder die C-Funktionen pgm_read_*() nutzt. Oder habe ich Dich falsch verstanden?
Abhängig von der Stellung der Lockbits kann eine Applikation im Atmega jede Stelle ihres Flashs auslesen, also auch den Bootloader. So wäre der Satz korrekt.
> So wäre der Satz korrekt.
Stimmt. Das war mir neu.
Falls Befehle wie LDI auch im kaputtgelockten Bootloader funktionieren sollte es kein Problem sein, ebendort eine hübsche 'Mir san mir und schreim uns uns'-Antwort zusammenzusbasteln. Wenn auch LDI nicht funktioniert (was ich mir nicht vorstellen kann, aber man weiss ja nie..), dann wirds allerdings eng. HTH
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.