Hallo, kann mir bitte mal jemand was zu BSL beim MSP430 sagen? Aus der TI Dokumenation werde ich nicht ganz schlau. Sehe ich das richtig, dass ... ... wenn die Security Fuse gefeuert wurde, dass man trotzdem via BSL noch in den Chip kommt wenn man das Passwort kennt? ... man den Code neu flashen kann ? (z.B. um Fehler zu korrigieren) Wie funktioniert das mit dem Passwort ? Wo wird es hinterlegt im Chip? Wo wird das beim BSL Tool angeben? Kann man es ändern ? Welche BSL Tool giebt es überhaupt? (TI selber bietet keines) Danke für ernsthafte Antworten schon mal. Grüsse bsl
BSL geht auch, wenn die Security Fuse nicht mehr intakt ist. Ob man auslesen kann, wenn vorher per JTAG geflasht wurde und kein explizites Passwort hinterlegt, bin ich mir nicht sicher, aber man kann in jedem Fall löschen und neu flashen. Elprotronic FlashPro 430 kennt eine Passwortdatei, die man auswählen kann. Muß mit dem BSL zusammenhängen.
BSL geht immer. Auslesen über BSL geht aber nicht, weil man dazu das Original-File haben müsste. Also geht nur Verify. Das Passwort ist das Prog-File selbst, bzw. die Interrupt-Vektor-Tabelle (bei den neueren noch ein bissl mehr). Das ist ein auf den ersten Blick seltsames System, aber interessant. Jedes Programm hat seine spezifische Tabelle, weil die ISRs immer an einer anderen Stelle im Flash stehen. Ohne das Programmierfile, was im MSP430 drin ist, kannst du nur löschen und neu beschreiben. Das geht immer. Verify geht nur mit dem File selbst als Passwort. Der BSL ist übrigens fest drin in jedem MSP430. BSL geht sehr einfach mit dem Tool MSPFET.
Hier nochmal die Stelle aus dem BSL User Guide (SLAA089D)
1 | The password itself consists of the 16 interrupt vectors located at addresses FFE0h to FFFFh (256 bits), |
2 | starting with the first byte at address FFE0h. After mass erase and with unprogrammed devices, all |
3 | password bits are logical high (1). |
4 | |
5 | BSL versions 2.00 and higher have enhanced security features. These features are controlled by the flash |
6 | data word located beneath the interrupt vector table addresses (e.g., for the MSP430F2131, address |
7 | 0xFFDE). If this word contains: |
8 | · 0x0000: The flash memory will not be erased if an incorrect BSL password has been received by the |
9 | target. |
10 | · 0xAA55: The BSL is disabled. This means that the BSL will not be started with the default initialization |
11 | sequence shown in Section 2. |
12 | · All other values: If an incorrect password is transmitted, the entire flash memory address space will be |
13 | erased automatically. |
Tip am Rande: Beim BSL werden alle kalibrierten Konstanten DCO/DAC/... gelöscht.
Vielen Dank für die sehr aufschlussreichen Informationen! Glaube ich habe es jetzt verstanden. Für eine neues Projekt möchte ich gerne meinen Code kopierschützen, aber mir nicht den Weg für Updates oder Fehlerbehebung verbauen. Ich brauche also zunächst dann nur die beiden BSL-RX und BSL-TX Pins am JTAG Stecker zugänglich machen, alles andere was man für BSL braucht ist dann schon da. (Nach einer Doku zu BSL von Eplrotronic z.B.) >Beim BSL werden alle kalibrierten Konstanten DCO/DAC/... gelöscht. Damit sind die 2*128 Byte Informastion Memory gemeint, richtig ? Vielen Dank nochmals , hat mir sehr geholfen. Schönen Tag noch. Gruss bsl
Ja, das ginge über den BSL dann. Update geht noch, aber kein Auslesen. Für den BSL bauchst du P1.1, P2.2, TEST und RST.
@Christian, Danke. Ich will den MSP430F2416 einsetzen. Der hat kein TEST mehr. Brauche ich da einen anderen Pin ? Gruss bsl
Achso, bei den großen ist das TCK statt TEST. Steht im FET-User Guide beispielsweise....
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.