JLink Problem mit einem STM32?

OP #7663457
Lesenswert?

Moin Leute,

Bin gerade was am programmieren/ausprobieren als mir am Oszi auffaellt das sich mein STM32L451 nicht so verhaelt wie ich den Programmiere.

Der J-Link hat wohl Probleme da was reinzuflashen:

1
STM32 (Protection Detection): Unexpected IDCODE DEV_ID 0x0462 found. Only checking the 1st flash bank for write protection.

Hab mich mal von Hand mit dem Teil verbunden und dort ein "erase" eingetippt:

1
Erasing device (STM32L451CC)...
2
Comparing flash   [100%] Done.
3
Erasing flash     [010%]
4
****** Error: Failed to erase sectors 0 @ address 0x08000000 (Algo87: Unspecified error #1)
5
100%] Done.
6
Verifying flash   [100%] Done.

Der Mikrocontroller selber funktioniert und fuehrt das zuletzt reingeflashte Programm aus!

Hat das schonmal einer gesehen?

Sieht so aus als wenn da nun irgendein Schreibschutz gesetzt ist. Ich bin mir keiner Schuld bewusst. :-D

Vanye

OP #7663533
Lesenswert?

Dein Jlink kennt den STM32L451 noch nicht => Update noetig!

Nein, der kennt den allerbestens und redet andauernd mit ihm und hat es ja auch heute bis zum auftreten meines Problems getan. .-)

Es gibt aber von Segger ein kleines Tool:

JLinkSTM32Exe

Damit kann man die ganzen Protectionbits automatisch loeschen:

1
Please select the correct device family: 13
2
Connecting to J-Link via USB...O.K.
3
Using SWD as target interface.
4
Target interface speed: 1000 kHz.
5
VTarget = 3.314V
6
Reset target...O.K.
7
Reset option bytes to factory settings...
8
Resetting FLASH_OPTR...
9
Reset target...O.K.
10
Reset target...O.K.
11
Resetting Write protection (WRP) and PCROP...O.K.
12
Reset target...O.K.
13
Option bytes reset to factory settings.
14
Press any key to exit.

Jetzt funktioniert wieder alles!

Vanye

OP #7663654
Lesenswert?

Ich konnte das Problem uebrigens gerade noch ein paar mal reproduzieren, verstehen und loesen. Lernt was draus. :)

Ich hab am Controller einen SX1262 Lora-Transceiver den ich programmiere und wo ich ein Problem in der SPI-Übertragung vermutet habe. Das war ich eigentlich am debuggen.

Tatsaechlich lief der aber irgendwann und ich hatte mein Labornetzteil auf 50mA Strombegrenzung stehen. Die Schaltung zieht im Mittel so 20mA. (SX1262, STM32, Oled)

Allerdings wenn der SX1262 fuer 10ms seinen Sender einschaltet dann kann das Modul bis zu 120mA ziehen. Das war so nicht gross sichtbar, reicht aber wohl aus damit der STM32 eine kurze Unterspannung sieht. Interessant das dies ausgerechnet zu so einem Fehlerbild fuehrt.

Vanye

OP #7663772
Lesenswert?

Gut, daß Du diesen Fehler beobachtet und hier beschrieben hast.

Ich bin echt baff erstaunt von der Reproduzierbarkeit. Waehrend ich neuen Source in den Controller flashe ist der SX1262 ja aus. Ich hab schon ueberlegt ob der Sendebetrieb in den Controller einstreut, das ist hier jetzt nicht der beste Aufbau, aber ich hab an der Antenne einen UF.L Pigtail mit 50R Abschluss dran. Da sollte erstmal nicht soviel raus gehen. Andererseits, wenn ich nicht sende gibt es kein Problem. Kann also nur Stromaufnahme sein. Und es ist nicht so das Controller im Betrieb abstuerzt, das wuerde ich im Diagnoseterminal sehen.

Hier mal ein Bild mit der Stromaufnahme im +14dBm Sendebetrieb. Bei 22dBm sind es noch 100mA mehr. :) Gemessen mit iProber als Kabelsonde also nicht 100% genau!

Aber gut zu wissen das es extra ein Programm zum zurueckstellen gibt, waer ja doof wenn man jedesmal von Hand die Register beschreiben muesste.

Vanye

Angehängte Dateien:

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