Forum: Mikrocontroller und Digitale Elektronik STM32CubeProgrammer und Security Bit (Option Byte)


von A.S. (Gast)


Lesenswert?

Hallo zusammen,

wir setzen den STM32F407 in unseren Produkten ein. Aktuell flashen wir 
diese über den UART (Boot Mode), in den Hex Files ist das SecuritY Bit 
schon gesetzt (Level 2 -- Read/Write Protection). Zum flashen benutzen 
wir das Demoprogramm "Flash Loader" von STM. Da dieses Programm manchmal 
aus unerfindlichen Gründen, einfach abstürzt, hat sich unser Entwickler 
auf die Suche nach einem neuen Programm gemacht, und ist auf den 
"STM32CubeProgrammer" aufmerksam geworden.

Nun haben wir folgendes Problem:
Das erstmalige flashen eines Prozessors funktioniert problemlos. Möchte 
man aber ein Firmwareupdate eines schon geflashten Prozessors machen, 
dann weist uns STM32CubeProgrammer daraufhin, dass das Security Bit 
gesetzt ist und kann deswegen den Flashspeicher nicht löschen.

Mit dem "Flash Loader" funktioniert das tadellos. Erkennt das Security 
Bit, wenn man weitermacht wird der Flash gelöscht, anschließend kann man 
neu flashen.

Meine Frage nun, geht das gar nicht mit dem STM32CubeProgrammer?

Hinweis:
Andere Programmier Methoden, sind keine Option da nur der UART nach 
außen geführt wurde um evtl. Firmwareupdates einzuspielen, ohne dass das 
Gerät geöffnet werden muss.

Ich danke schon mal für eure Hilfe ...

von A. B. (Gast)


Lesenswert?

Wenn RDP-Level 2 ist, wird das Debug-Interface komplett deaktiviert. 
Logisch, dass dann gar nichts damit mehr geht. Im RM ist ausführlich 
beschrieben, was in den verschiedenen RDP-Stufen noch möglich ist ...

von Vincent H. (vinci)


Lesenswert?

Datenblatt S.93

Level 2: debug/chip read protection disabled
The read protection Level 2 is activated by writing 0xCC to the RDP 
option byte. When the read protection Level 2 is set:
– All protections provided by Level 1 are active.
– Booting from RAM or system memory bootloader is no more allowed.

von A.S. (Gast)


Lesenswert?

Sry, hab mich Security Level vertan ...

Security Level 1 (OB 0xBB, Read Protection) ist Aktiv

Hab den Security Level mit einem anderen µC verwechselt.

von Vincent H. (vinci)


Lesenswert?

Ich hab vor kurzem die CLI Version des STM32CubeProgrammer für das 
Programmieren eines STM32L4 genutzt und dort wird ein Mass Erase 
ausgeführt sofern RDP Level1 aktiv ist.

von A.S. (Gast)


Lesenswert?

Dankeschön ...

Mit der CLI Version hat es funktioniert. Konnte den RDP Level 
zurücksetzen.

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
Noch kein Account? Hier anmelden.