MSP430: BSL Funktionalität

Gast #2152451
Lesenswert?

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
Gast #2152470
Lesenswert?

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.
#2152500
Lesenswert?

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.
#2152505
Lesenswert?

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.
Gast #2152530
Lesenswert?

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

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