Forum: Mikrocontroller und Digitale Elektronik Lock Level abfragen beim STM32F429


von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Hey!
Ich habe hier einige Handheld-Messgeräte von einem deutschen 
Lehrmittelhersteller, die alle die gleiche Firmware Macke haben, um die 
sich ein Verwandter von mir kümmert. Recht nette HW mit LCD, SRAM, 
Touchwheel, 2*USB, SDCard etc.

Ich aber möchte die Dinger gerne anderweitig verwenden und habe sie so 
gut wie komplett re-engineered, was Pinbelegung etc. betrifft.
Netterweise ist ein J-Link Port auf der Platine, an die ich mit einem 
ST-Link rangehen kann.
ST-Link erkennt sofort den MC Typ und liest die ersten 48k des Flashes 
aus.

Jetzt die Fragen:
1. Wenn nur 48k ausgelesen werden, sind die höheren Blöcke 
auslesegeschützt?
2. Kann ich mit ST-Link auf irgendeine Weise den Lock Zustand abfragen?
3. Bedeutet mein teilweise erfolgreiches Auslesen, das ich den Chip 
löschen kann und Level 2 nicht gesetzt ist?

Die Firma bietet Firmware Updates per USB Stick an. Bedeutet das, das 
Lock Level 2 nicht benutzt wird? Denn Level 2 bedeutet imho, das nie 
wieder jemand an den Chip rangehen kann.

von pegel (Gast)


Lesenswert?

J-Link für ST-Link?

Meinst Du ST-Link-Utility?

48k ist keine Blockgrösse, kann das mit den Einstellungen für das lesen 
zu tun haben?
Oder schlimmer, mit irgendwelchen J-Link Lizenzen?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

pegel schrieb:
> J-Link für ST-Link?
>
> Meinst Du ST-Link-Utility?

Auf der Platine befindet sich ein 20-pol. Landing für den J-Link 
Verbinder von z.B. Segger. Zwei dieser Pads führen zu SWCLK und SWDIO, 
so das ein als ST-Link verdrahteter VL-Discovery per SWD auf den 
STM32F429 zugreifen kann.

pegel schrieb:
> 48k ist keine Blockgrösse, kann das mit den Einstellungen für das lesen
> zu tun haben?

Es wären 3 16k Blöcke und soweit ich das Datenblatt verstehe, kann man 
jeden einzelnen 16k Block freigeben bzw. sperren.

pegel schrieb:
> Oder schlimmer, mit irgendwelchen J-Link Lizenzen?

Damit habe ich nichts zu tun, denn ich benutze ja keinen J-Link. Ich 
habe das ST Link Utility von STM.
Der 48k Block ist insofern auffällig, als das die letzen ca. 6k nur als 
FF ausgelsen werden. Es sieht so aus, als wär in den ersten 3 16k 
Blöcken ein Loader oder sowas.

von pegel (Gast)


Lesenswert?

Matthias S. schrieb:
> jeden einzelnen 16k Block freigeben bzw. sperren

Ja, stimmt habe im Cubeprog nachgesehen, 16k Blöcke wenn ich das recht 
verstehe, nur für Write Protection. Read Protection für alle.

von A. B. (Gast)


Lesenswert?

Wenn es tatsächlich um F429 geht: Der hat nur Auslesesperre über RDP, da 
gibt's dann aber nur die Alternativen ganz oder gar nicht. Wenn also 
teilweise auslesbar, dann ist das RDP Level 0.

Allerdings gibt es noch PCROP, damit kann man Sektoren gegen Auslesen 
durch Debugger UND CPU (!) sperren. Um das zu deaktivieren, muss man 
RDP auf 1 und danach wieder auf 0 setzen. Damit wird aber auch komplett 
gelöscht. Details s. RM ...

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

A. B. schrieb:
> Wenn es tatsächlich um F429 geht

Ja, warum nicht? Steht auf dem MC drauf und ST-Link erkennt ihn auch als 
solchen. 'STM32F429IIT6' ist die genaue Bezeichnung. 2MB Flash sollte er 
haben.

A. B. schrieb:
> Der hat nur Auslesesperre über RDP

RDP = Read Data Protection?

Wenn ich den Chip also per Mass Erase oder Full Erase lösche, habe ich 
ihn dann komplett programmierbar?

von A. B. (Gast)


Lesenswert?

Wie schon geschrieben: RDP erst auf 1, dann auf 0, Details s. RM 3.7.5

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

So, Problem gelöst - man muss halt lesen können. Mein ST-Link Utility 
hatte den Bereich ab 0x20000000 gelesen, der Flash sitzt aber bei 
0x80000000 :-P

Es zeigte sich, das nichts gelockt und der komplette Flash auslesbar 
ist. Vielen Dank und nichts für ungut.
2MB auslesen dauert etwas, aber der kleine Boardcontroller auf dem VL 
Discovery schlägt sich sehr gut und vertrug sogar das Update der ST-Link 
Firmware.

von pegel (Gast)


Lesenswert?

Au weia, ;)

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

pegel schrieb:
> Au weia, ;)

Jo, hat mich auch gewundert, das die Jungs aus Köln nichts verriegelt 
haben. Habe meine Firmware programmiert - nichts ging, aber die alte 
Firmware kannste zurückspielen und es geht wieder wie vorher. Muss jetzt 
ein wenig  rumfummeln, damit ich main Projekt auf neuer IDE lauffähig 
bekomme.

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.