Forum: Mikrocontroller und Digitale Elektronik STM32F4-Discovery Flashprogrammierung MacOS -> Nervt :-)


von Dirk B. (devnull)


Lesenswert?

Hallo Leute,

ein frohes neues Jahr Euch allen. Über die Feiertage ist der Wunsch 
entstanden, mal was anderes als einen AVR zu benutzen, v.a. weil ich 
gerade eine Applikation habe, bei der ich großen Aufwand treiben müsste, 
um ohne Gleitkomma-Rechnerei hin zu kommen.

Mein Problem ist nun die Flashprogrammierung des STM32F4-Discovery. 
Weder mit OpenOCD noch mit stlink kann ich vom MacOS aus den Flash 
programmieren. Dabei spielt es keine Rolle, ob ich die Programme von der 
Kommandozeile starte oder mit GDB fernbediene. Die Fehlermeldung lautet 
immer "Target not halted". Wenn ich das gleiche Board mit ST-Link (von 
ST) oder Coocox aus einer VirtualBox-VM mit Windows XP heraus 
programmiere, klappt das.

Libusb, OpenOCD und stlink habe ich aus aktuellen Quelle (git) 
übersetzt, dabei war nichts auffälliges. Google findet nix konkretes, 
nur gefühlte 100 Tutorials, die ich alle mehr oder weniger "durch" habe 
(meist weniger, weil andere MCU, andere Toolchain oder 5 Jahre alt).

Hier noch ein kleines Beispiel:
1
Trying 127.0.0.1...
2
Connected to localhost.
3
Escape character is '^]'.
4
Open On-Chip Debugger
5
> reset halt
6
target state: halted
7
target halted due to debug-request, current mode: Thread 
8
xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc
9
> flash write_image erase blabla.hex
10
device id = 0x10016413
11
flash size = 1024kbytes
12
Target not halted
13
failed erasing sectors 0 to 2
14
in procedure 'flash'

Vielleicht hat jemand von Euch den entscheidenden Hinweis :-)

Vielen Dank und Grüße,

Dirk

von Jim M. (turboj)


Lesenswert?

Vorm flashen immer "reset init" benutzen. Das macht bei eingein Chips 
nötige Handgriffe mehr.

von Dirk B. (devnull)


Lesenswert?

Hallo,

ich habe es jetzt hin bekommen :-) Das Problem waren nicht gesetzte 
Option Bits nRST_STOP und nRST_STDBY. Nachdem ich diese unter XP mit 
ST-Link gesetzt hatte, ließ sich das Board ohne Fehlermeldung 
programmieren.

Grüße,
Dirk

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.