So, das zweite Problem, dass mich heute noch laust, ist, wie es bei den LPCs mit dem Bootloader steht. Ich bin nun bereit, vom AVR auf ARM umzurüsten und werde in diesem Zuge auch gleich von5V auf 3V3 umsteigen (zwangsläufig). Die 3V3 Umstellung schiebe ich jetzt auch schon fast zwei Jahre vor mir her... Zum Thema: Also ich habe mehrere LPC2294 aus bereits fertigen Geräten ausgebaut. Jetzt werde ich aus den verschiedenen Datenblattquellen nicht schlau: im einen steht, dass der BL fest drin ist und nicht verändert werden kann, wo anders steht, dass man den BL nur via ISP verändern kann. Ja was denn nun? Kann ich davon ausgehen, dass der Philips BL immernoch im Chip ist oder muss ich diesen erst wieder mit ominösen Adaptern etc flashen? Ich merke schon, ein ARM ist was anderes wie nen AVR! Klarer Fall! BTW, gibt's bei den LPCs auch sowas wie Lockbits, also um zu verhindern, dass jemand die Firmware ausliest? Gruß Bob
Die Implementierung der Bootloader ist innerhalb der LPC2000-Famile unterschiedlich geloest. So etwas wie explizite Lockbits gibt es nicht wirklich. Man kann die Software dadurch schuetzen, dass an einer bestimmten Stelle im Flash ein definierte Zahlenfolge abgelegt wird (Relativ am Anfang, es ist allerdings davor noch Platz fuer die Interrupt-Vektoren und eine kleine FIQ-ISR) Details im Datenblatt Stichwort Code Read Protection. Damit ist dann nur noch "Chip Erase" ueber ISP/Bootloader moeglich. Bei den frühen LPC2000 (LPC2106 z.B.) funktioniert der Schutz nicht, bei allen neueren LPC2000 (wohl auch LPC22xx) ist dieser Fehler dann behoben. Auch kann bei den "ganz Alten" (wieder LPC2106 als Beispiel) der Bootloader per ISP aktualisiert und somit auch ueberschrieben werden - war auch noetig wg. Fehlern in der ersten Fassung. Weitere Information auch in der lpc2000 yahoo-Gruppe. Softwareschutz und Bootloader waren dort schon einige Male Anlass zu teilweise episch langen Diskussionen - ich habe irgendwann aufgehoert mitzulesen... Robert Teufel wird sicher mehr mehr Details aufwarten können.
Ganz kurz, derzeit ist es noch moeglich die Bootloader mit dafuer bestimmten Routinen zu ueberschreiben. Keine Angst, der Bootloader wird sich nicht selbst ueberschreiben, da sind Adressvergleicher in der Software, die das verhindern. Aller Wahrscheinlichkeit nach wird in zukuenftigen Teilen der Bootloader fix drin sein, die Diskussionen dazu sind noch nicht beendet. Ein paar neue Varianten haben bereits einen ROM-bootloader (LPC2101/2/3) aber es ist auch moeglich bei Flash ein loeschen / reprogrammieren zu verhindern. Der Auslesenschutz ist ein "alles oder nichts" Ansatz und kann nur funktionieren wenn kein Code von extern abgearebeitet wird. Da der LPC2294 einen externen Bus hat, koennte das bereits die ganze Sache erledigen, wenn Du auch von dort beabsichtigst ausfuehrbaren Code zu speichern. Ansonsten ist der Ausleseschutz ein disable von Debug, sowohl JTAG als auch Trace Interface ETM. Also bei einem SingleChip System wo aller Code im internen Flash sitzt laesst sich damit der Code schuetzen. Gruss, Robert
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.