Forum: Mikrocontroller und Digitale Elektronik STM32F407 G-DISC1 Board an Mac und Parallels VM anschließen


von Christoph K. (chriskuku)


Lesenswert?

Habe auf meinem MacbookPro verschiedene Windows VMs und möchte das 
STM32F407-DISC1 board dediziert mit einem der Rechner verbinden.

Weiß jemand, wie man das erzwingen kann? (Parallels VM)

Grüße
Christoph

von pegel (Gast)


Lesenswert?

Mit VirtualBox unter Linux kann ich ein USB Gerät beliebig einem Gast 
zur Verfügung stellen, oder entziehen.

Oder meinst Du etwas anderes?

von Christoph K. (chriskuku)


Lesenswert?

pegel schrieb:
> Mit VirtualBox unter Linux kann ich ein USB Gerät beliebig einem Gast
> zur Verfügung stellen, oder entziehen.
>
> Oder meinst Du etwas anderes?

Ich meine etwas anderes - siehe Text meiner Frage: Ich meine nicht 
VirtualBox und Linux sondern macOS und Parallels.

Im Moment holt sich das macOS immer die COM-Schnittstelle. Das Discovery 
hat auch noch nicht das USB-Device SMT32Fxx, das z.B. das Nucleo board 
hat.

Danke, scheint sich aber gerade erledigt zu haben: Man kann das 
Verhalten bei Parallels auch einstellen, ob eine Frage nach der 
Zuweisung gestellt werden soll.

: Bearbeitet durch User
von Tassilo H. (tassilo_h)


Lesenswert?

Klicke oben in der Menüzeile auf das Paralells-Icon (zwei parallele 
Balken :-), wähle aus den oberen Einträgen des Menüs die VM, für die du 
das einstellen willst. Dann klicke da nochmal, Geräte -> USB & Bluetooth 
-> Das USB-Gerät, das mit der VM verbunden werden soll (Häkchen davor 
heißt ist mit der aktuellen VM verbunden)

von Christoph K. (chriskuku)


Lesenswert?

Tassilo, danke. Ja, das hatte ich jetzt auch gefunden. Problem ist 
zusätzlich noch, daß der ST-Treiber mit Windows 8.1 nicht läuft. Muß mal 
auf die Site gucken (ja, ich kann nichts dran machen, daß das System 
gerade unter Windows 8.1 läuft)

von Christoph K. (chriskuku)


Angehängte Dateien:

Lesenswert?

Jetzt wird's konkret: Treiber nachgeladen und USB-Device jetzt da. Das 
Windows 8.1 System, das ich jetzt vor mir habe, hat auf dem Desktop als 
Einziges, was nach Programmer/Flash Loader aussieht, etwas, das sich "ST 
Flashloader Demo". Das Windows 8.1 System stammt vom vorherigen Besitzer 
(†) und er hatte darauf die Entwicklungs- und Programmierumgebung. Es 
sieht so aus, als sei dies das einzige Tool, das ich auf dem System 
finden kann, mit dem geflasht wurde.

Aber das Programm findet kein Board. Baudrate? (19200 und 115200 
probiert) Hier könnte ich Hilfe gebrauchen. Es wurde ein binäres Abbild 
des Programms geflasht, wie es scheint. Kein .ELF-Format.

Grüße
Christoph

: Bearbeitet durch User
von Johannes S. (Gast)


Lesenswert?

dazu muss man den µC in den Bootloader starten, wird über spezielle Pins 
Boot0/1 ausgewählt.
Das modernere Tool ist der STM32CubeProgrammer, der könnte auch nativ im 
Mac laufen. Dieser Programmer unterstützt STLink, USB, UART. STLink ist 
doch auch auf dem Disco drauf?

von Christoph K. (chriskuku)


Lesenswert?

Johannes S. schrieb:
> dazu muss man den µC in den Bootloader starten, wird über spezielle Pins
> Boot0/1 ausgewählt.
> Das modernere Tool ist der STM32CubeProgrammer, der könnte auch nativ im
> Mac laufen. Dieser Programmer unterstützt STLink, USB, UART. STLink ist
> doch auch auf dem Disco drauf?

Ich habe aber am STM32F407 keine speziellen Vorkehrungen (irgendwelche 
Boot0/1 pins) getroffen, als ich es letztens mal programmiert hatte 
(st-flash aus macOS Terminal und auch aus dem STM32CubeIDE unter Windows 
10).

: Bearbeitet durch User
von Johannes S. (Gast)


Lesenswert?

Dann wirfst du die Tools durcheinander.
STMFlash Loader Demo aus dem Screenshot programmiert über die serielle 
Schnittstelle und dazu muss man über BOOT0=1 in den Bootloader, das ist 
so.
https://www.st.com/en/development-tools/flasher-stm32.html

st-flash oder der Programmer aus der IDE benutzen den STLink. Der sitzt 
genau wie bei den Nucleos als zusätzlicher F103 auf dem Disco. Das 
ältere Disco hat den V2, das neuere den V2/A mit einem F103 mit mehr 
Flash. Über den wirst das programmiert haben.

von Christoph K. (chriskuku)


Lesenswert?

OK, ich habe die AN2606 dazu konsultiert. Laut 
https://www.st.com/resource/en/user_manual/dm00039084-discovery-kit-with-stm32f407vg-mcu-stmicroelectronics.pdf, 
Seite 13 (Kap. 6.1.3         ST-LINK/V2-A         VCP 
configuration) soll/kann man sich ja den Port, den man auf das VCP legen 
will, per Drahtbrücken verbinden.

Das habe ich gemacht. Habe PB10/PB11 genommen und damit ja USART3 
ausgewählt. Den muß ich dann also dann konfigurieren (sollte ich das 
wirklich machen- scheint mir schon ziemlich umständlich):

*USART1_RX (PA10), USART3_RX (PC11), CAN2_RX (PB05), OTG_FS_DM (PA11) 
and OTG_FS_DP (PA12) pins must be kept at a high or low level during the 
detection phase*

Ich müßte also diese Pins z.B. am Anfang (nach Reset?) auf Low halten?
Ich glaube, ich laß das und benutze die STM-Link Tools.

-------

Habe das STM32-Link-Utility runtergeladen und installiert. Bekomme beim 
Start eine Fehlermeldung:

Das Programm kann nicht gestartet werden, da mfc140.dll auf dem Computer 
fehlt :( Versuche gerade das VS 2015 Redist Paket zu installieren, um zu 
schauen, ob das Abhilfe bringt.

: Bearbeitet durch User
von Christoph K. (chriskuku)


Lesenswert?

Da der Rechner (Windows 8.1) nie am Internet war, war wohl auch nicht 
die passende DLL (mfc140.dll) drauf. Einspielen des VS2015 Redist (x86) 
packages, brachte es. Danach durfte ich allerdings noch warten bis 154 
Updates von Windows eingespielt wurden.
Thema erledigt.

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.