Forum: Mikrocontroller und Digitale Elektronik Billiges Cortex-M4-Board STM32F4DISCOVERY jetzt erhältlich


von Xenu (Gast)


Lesenswert?

Von ST gibt es jetzt das neue Cortex-M4-Board STM32F4DISCOVERY:

http://www.st.com/internet/evalboard/product/252419.jsp

Bei Watterott und Digikey erhältlich. 16,66 € bei Watterott.
Mit DAC und Klasse-D-Verstärker. Das Ding schreit ja quasi nach 
MP3-Player.

von hp-freund (Gast)


Lesenswert?

Gibt es auch bei RS.

Wollte es nur noch mal nach vorn bringen.

Tolle Sache das...

von Markus 1234 (Gast)


Lesenswert?

Hat jemand einen Eclipse Workspace für die Nutzung des STM32F4 mit 
Yagarto und kann diesen zur Verfügung stellen? Ich habe das für diesen 
Prozessor noch nicht lauffähig bekommen.

von Tim (Gast)


Lesenswert?

Atollic True Studio sollte den F4 auch in der Lite Version von Haus aus 
unterstützen. Probier das mal. Ist auch ein Eclipse Ableger

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Hart kalkuliert, der Prozessor kostet bei digikey schon 13,xx€ 
(natürlich als einzelstück)
Aber 1M flash und vor allem 192k Ram sind schon beeindruckend für 
LQFP100

von Markus 1234 (Gast)


Lesenswert?

Habe Atollic schon erfolgreich in Betrieb, würde aber gerne trotzdem 
Yagarto nutzen. Das Board ist für den Preis echt sehr günstig, dass kann 
man sogar für kleiner Projekte nutzen, wo es überdimensioniert ist, 
einfach weil es so günstig ist.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Gibt es von ST noch kein "Programming Manual" speziell auch zu den "dsp 
instructions"? Ich habe dort nur eines für die älteren Typen gefunden:

http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/PROGRAMMING_MANUAL/CD00228163.pdf

Von ARM selbst gibt es etwas:

http://infocenter.arm.com/help/topic/com.arm.doc.ddi0439b/DDI0439B_cortex_m4_r0p0_trm.pdf#page=33

Aber wie vollständig ist das von ST umgesetzt?

von Hannes S, (Gast)


Lesenswert?

Christoph Kessler (db1uq) schrieb:
> Gibt es von ST noch kein "Programming Manual" speziell auch zu den "dsp
>
> instructions"?

Alles was den Core betrifft (CPU, FPU, NVIC, MPU...) ist Sache von ARM. 
ST verwendet die Module 1:1 und schließt daran lediglich eigene 
Peripherie an.
Es kann jöchstens sein, dass mal ein Modul weggelassen wird, wie z.B. 
die MPU bei den 103ern. Wenn es aber implemtiert ist, dann gilt die Doku 
von ARM.

Ansonsten ist das kleine Board wirklich das coolste Teil, das ich jemals 
für unter 20€ gekauft hab. Zu meiner Überraschung klingt der Audio DAC 
auch ganz gut. Und nachdem das mit WAV schon super klappt, bin ich 
gerade mal am schauen, was man da so mit AAC oder OGG anstellen könnte. 
Falls jemand dazu ein paar Tipps hat und mich in die richtige Richtung 
schubsen könnte? Hab mir gerade mal FAAD 2.7 downgeloadet.... die Doku 
dazu ist doch eher sehr spärlich...

von spaltpol (Gast)


Lesenswert?

Kann man das auch unter Linux zB. mit OpenOCD benutzen ?
Hab kein Fensterchen. Aber das Board hätte ich gerne :)

von fddgddg (Gast)


Lesenswert?

hab das dingen jetz auch liegen

der 3achsen sensor hat auch seinen reiz :)

morgen mal etwas mit spielen

von Knut (Gast)


Lesenswert?

Wäre cool wenn ihr Euere Ergebnisse mal
postet. Ich hab mir auch Son Ding bestellt.


Knut

von hp-freund (Gast)


Angehängte Dateien:

Lesenswert?

Ich bekomme mein F4 auch vermutlich morgen, aber da ich kein Freund von 
Beschränkungen bin hab ich mir schon mal ein GCC Makefile gebastelt.
Es wird das Projekt IO_Toggle im seinem Verzeichnis erstellt und die 
main.* ins Hauptverzeichnis kopiert.

1. die Dateien Makefile und Makefile.common in das gleiche Verzeichnis 
legen in dem sich auch STM32F4-Discovery_FW_V1.1.0/ befindet

2. make erzeugt das Projekt (arm-none-eabi-*)

3. es kann damit auch ein Makefile Projekt in eclipse angelegt werden

4. als Loader/Debugger werde ich https://github.com/texane/stlink 
(STLINKv2)
verwenden. Läuft schon mit stm32l.

Das Ganze kann schon mal als Vorlage für andere eclipse/Makefile 
Projekte aus der STM32F4-Discovery_FW_V1.1.0/ benutzt werden.

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

Bekomme unter GCC 4.6 aus Yagarto Toolchain folgende Fehlermeldung 
(siehe Anhang) (Windows). Arbeitest du unter Linux oder Windows?

von Bernd (Gast)


Lesenswert?

Ich schaue mir gerade die Cortex M3 Familie an und finde die sehr 
interessant.
Unterscheiden sich die M3 und M4 Familien sehr stark?
Kann man da die gleiche Toolchain nutzen?
Das Bord klingt sehr interessant!

von Bernd (Gast)


Lesenswert?

Das Datenblatt verrät es:

2.1 Full compatibility throughout the family

The STM32F405xx and STM32F407xx are part of the STM32F4 family. They are 
fully pin-to-pin, software and feature compatible with the STM32F2xx 
devices, allowing the user to try different memory densities, 
peripherals, and performances (FPU, higher frequency) for a greater 
degree of freedom during the development cycle.

The STM32F405xx and STM32F407xx devices maintain a close compatibility 
with the whole STM32F10xxx family. All functional pins are pin-to-pin 
compatible. The STM32F405xx and STM32F407xx, however, are not drop-in 
replacements for the STM32F10xxx devices: the two families do not have 
the same power scheme, and so their power pins are different. 
Nonetheless, transition from the STM32F10xxx to the STM32F40x family 
remains simple as only a few pins are impacted.

von hp-freund (Gast)


Lesenswert?

Tom schrieb:
> Bekomme unter GCC 4.6 aus Yagarto Toolchain folgende Fehlermeldung
> (siehe Anhang) (Windows). Arbeitest du unter Linux oder Windows?

Ich benutze gcc 4.6.1 unter Linux.

Existiert eine readlink(.exe) Datei und ist diese auch im Suchpfad?

Hat schon jemand das Makefile unter Window$ erfolgreich getestet?

von Frank K. (fchk)


Lesenswert?

Bernd schrieb:

> Unterscheiden sich die M3 und M4 Familien sehr stark?

Der M4 ist von der Software-Seite her ein M3 plus DSP-Befehlserweiterung 
plus Gleitkommaeinheit (sofern vom Chiphersteller verbaut).

> Kann man da die gleiche Toolchain nutzen?

Ja. Die sollte natürlich die zusätzlichen M4-Befehle nutzen, sonst hast 
Du vom M4 nichts.

fchk

von Stefan V. (vollmars)


Lesenswert?

Das könnte speziell auch für Linux interessant sein:

http://www.versaloon.com/bbs/viewtopic.php?f=2&t=13630&hilit=STM32F4DISCOVERY

von hp-freund (Gast)


Lesenswert?

@Tom

alternativ kannst Du TOP= am Anfang vom Makefile.common auch von Hand 
setzen.

von Uwe Bonnes (Gast)


Lesenswert?

Mit
 git://github.com/texane/stlink.git
kann man den STLINKV1/2 unter Linux benutzen.

von ARM-Gast (Gast)


Lesenswert?

Hallo,
hat schon jemand Erfahrung mit der VFP 
(Vector-Floating-Point-Coprozessor), Floating point unit (FPU), wie man 
den aktiviert und ob er in TrueStudio (free Version) unterstützt wird. 
Ich habe irgendwo gelesen, dass der VFP in CodeSourcery G++ lite nicht 
unterstützt wird, stimmt das?
danke

von Dirk B. (garag)


Lesenswert?

Moin moin,

@hp-freund:
Verwendest du die Makefiles unter Linux ?
Welche Toolchain benutzt du ?
Um eine Toolchain zu bekommen hatte ich das Script 
"summon-arm-toolchain" aus dem git Repository 
"https://github.com/esden/summon-arm-toolchain.git"; verwendet. Geht 
soweit auch, jedoch wird soweit ich weiss keine Hardware FPU 
unterstützt.

Mit dem STlinkV2 Loader/Debugger von 
https://github.com/texane/stlink.git konnte ich bereits ein Programm aus 
dem RAM ausführen.

Gruß
Garag

von hp-freund (Gast)


Lesenswert?

Dirk B. schrieb:
> Verwendest du die Makefiles unter Linux ?

ja - LFS

> Welche Toolchain benutzt du ?

eine angepasste auf Grundlage von http://fun-tech.se/stm32/gcc/index.php 
und anderen. Für die HW FPU müsste man vielleicht noch etwas ändern...
Gibt es readlink unter Win?

von Matthias K. (matthiask)


Lesenswert?

Ist das Mini USB Kabel dabei?

von Hubert (Gast)


Lesenswert?

Matthias K. schrieb:
> Ist das Mini USB Kabel dabei?

Nein.

von Tom (Gast)


Lesenswert?

Matthias K. schrieb:
> Gibt es readlink unter Win?
´
Ok also ich  konnte readlink bei mir unter WinXP nicht finden. Habe die 
Zeile ausgetauscht gegen festen Pfad:
TOP="C:\Dokumente und 
Einstellungen\test\Desktop\stm32f4discovery_firmware_new"
und jetzt kompiliert er auch, beendet aber mit einer Fehlermeldung (im 
Anhang), hat aber trotzdem ein Hex und Bin File erzeugt, dass sich 
flashn lässt und soweit scheinbar funktioniert.

Matthias K. schrieb:
> Ist das Mini USB Kabel dabei?

Nein, kann man bei dem Preis aber auch nicht verlangen.

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

Anhang vergessen.
Übrigens schon mal vielen Dank an hp-freund für die Bereitstellung der 
Make-Files. Schön wäre eine Anpassung an das Beispiel aus dem 
Demonstrations Ordner mit allen USB Bibos etc. Ich werde es mal selbst 
versuchen.

von hp-freund (Gast)


Angehängte Dateien:

Lesenswert?

Wieso steht
arm-none-eabi-size: 'main.elf': No such file
bei dir vor dem cp? Hast Du die Reihenfolge geändert/Dualcore?

Leerzeichen im Pfad könnten auch Probleme bringen, würde ich vermeiden.

Tom schrieb:
> Schön wäre eine Anpassung an das Beispiel aus dem
> Demonstrations Ordner mit allen USB Bibos etc. Ich werde es mal selbst
> versuchen.

Und dann wieder hier bereitstellen.
Genau das war mein Ziel :-)

Hier noch mal für das Projekt DAC_SignalsGeneration:

Das Ganze geht sicher auch besser, aber ich erstelle meine Makefiles 
extra so das ich keinerlei Veränderungen im STM32F4-Discovery_FW_V1.1.0 
Verzeichis vornehmen muss.

Vielleicht schreibt noch einer ein Universal Makefile für alle und 
eigene Projekte...

von Such! (Gast)


Lesenswert?

hp-freund schrieb:
> Gibt es auch bei RS.

Wo? (Bitte einen Link, ich finde es nicht)

von Such! (Gast)


Lesenswert?

Sorry, die Suche nach "Discovery" findet es nicht. "STM32F4DISCOVERY" 
dagegen schon. 14,73

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Best.Nr. 745-8434

von Matthias K. (matthiask)


Lesenswert?


von Matthias K. (matthiask)


Lesenswert?

Christoph Kessler (db1uq) schrieb:
> Best.Nr. 745-8434

Was für ein Mini USB Kabel braucht man genau? Kannst Du bitte mal ein 
Foto von der USB Buchse machen?

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Das Ding hat zwei USB-Buchsen, eine "Mini" für den ST-Link ( dafür sitzt 
noch ein zweiter kleinerer ARM-Cortex drauf) und eine "Micro" für den 
USB-OTG direkt am Controller.

Hab es erst heute bekommen, am USB-Port des PC angeschlossen blinken ein 
paar LEDs im Kreis herum. Es soll auch ein Testprogramm für den 
Bewegungssensor installiert sein.

http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/USER_MANUAL/DM00039084.pdf
das Handbuch mit Schaltplänen

von Matthias K. (matthiask)


Lesenswert?

Vergleich der STM32 Atollic Voll- und Lite Version hier:
http://www.atollic.com/download/2.2/Atollic_TrueSTUDIO_Feature_comparison_v2.2.pdf
(pdf 2MB)

von Gnubbel (Gast)


Lesenswert?

Christoph Kessler (db1uq) schrieb:
> am USB-Port des PC angeschlossen blinken ein
> paar LEDs im Kreis herum. Es soll auch ein Testprogramm für den
> Bewegungssensor installiert sein

Jupp, durch drücken des blauen Tasters kann man das Programm starten. 
Dann meldet sich das Board über die Micor-USB-Buchse als Maus an.

von Frank K. (fchk)


Angehängte Dateien:

Lesenswert?

Und wer jetzt anfangen will zu basteln, für den gibts hier die passende 
Eagle-Library von mir.

fchk

von hp-freund (Gast)


Lesenswert?

Weiss jemand wo es diese Einzel-,Doppel- oder Mehrfach Steckbuchsen mit 
Kabel gibt, so wie die PC LED und Schalterkabel zu Motherboard? Ich 
glaube es gab hier schon mal einen Beitrag, komme aber nicht mehr auf 
den Namen der Teile...

von hp-freund (Gast)


Lesenswert?

Noch vergessen: die sollten auch auf den kurzen Stiften auf der 
Oberseite sicher halten.

von Xenu (Gast)


Lesenswert?

Die Crimpkontakte und Gehäuse findest Du hier (nach "Crimp" suchen).

http://www.csd-electronics.de/de/index.htm

Ist der einzige mir bekannte Händler, der auch 1-polige Gehäuse führt.
Ab 2-polig und aufwärts bekommt man sie auch woanders (Farnell, etc.).
Passende Zange gibts da auch (Crimpzange LPV/CV).

Ich bin mir aber ziemlich sicher, dass die nicht auf den kurzen Stiften 
auf der Oberseite halten (kanns nicht testen, hab das Board nicht hier).

von Noname (Gast)


Lesenswert?

Hat jemand evt. schon ein "Blinky" (Source Code, Linker-Script, ...)
für den STM32F4 für gcc und kann es hier in den Thread hochladen ?

von Dirk B. (garag)


Lesenswert?

Unter https://github.com/texane/stlink gibt es für Linux einen GDB 
Server für den STLink auf dem Board. Zusätzlich gibt es zwei 
Beispielprojekte.

Das ganze zusammen mit dem summon-arm-toolchain Script ( 
https://github.com/MikeSmith/summon-arm-toolchain ) ergibt eine nette 
Entwicklungsumgebung.

Momentan bin ich noch dran das Ganze mit zusammen mit Eclipse zum Laufen 
zu bekommen.

von Lutz Schulze (Gast)


Lesenswert?

Was haltet ihr von diesem Board? Wollte mir das zu Weihnachten schenken 
:-)
Kostet ca. 60 Teuronen und hat ein 3.2" TFT, LPC1768.
http://www.ebay.de/itm/NXP-LPC1768-ARM-Development-Board-3-2-TFT-LCD-Module-/270653509451?pt=BI_Electrical_Equipment_Tools&hash=item3f0434cf4b

von hp-freund (Gast)


Lesenswert?

Xenu schrieb:
> Ich bin mir aber ziemlich sicher, dass die nicht auf den kurzen Stiften
> auf der Oberseite halten (kanns nicht testen, hab das Board nicht hier).
>
Effektiv sind ca. 4mm Stiftlänge nutzbar, könnte reichen.
Danke für die richtigen Stichworte. Dadurch bin ich auf die ebay Suche:

female jumper wire

gekommen. Werd mir mal einen Vorrat anlegen.

****************************************

@Noname

wenn Du die ST Library nutzen willst, nimm dieses Makefile:
Beitrag "Re: Billiges Cortex-M4-Board STM32F4DISCOVERY jetzt erhältlich"

Bei Bedarf kannst Du auch alle nötigen Dateien in ein Verzeichniss 
kopieren.

von Simon H. (simi)


Lesenswert?

Lutz Schulze schrieb:
> Was haltet ihr von diesem Board? Wollte mir das zu Weihnachten schenken
> :-)

Und ich habe mir soeben das (gebraucht) geleistet:

http://www.dolphin-ebike.ch/

... Aber das gehört auch nicht in diesen Thread. :-)

von Lutz Schulze (Gast)


Lesenswert?

Simon Huwyler schrieb:
> Und ich habe mir soeben das (gebraucht) geleistet:
Danke Simon, Fahrradfahren ist ja auch gesünder als tagelang nur sitzen, 
sitzen und sitzen und programmieren. Ich habe mir jetzt auch dieses 
Büciklett bestellt.

von Noname (Gast)


Lesenswert?

Kann mir jemand die *.bin Files vom blink und blink_flash
von https://github.com/texane/stlink
zur Verfügung stellen ? Ich habe sie zwar selbst gebaut,
aber irgendwo ist der Wurm drin, es blinkt nix...
Funktionieren die beiden *.bin Files, die erzeugt werden, überhaupt ?

Generelle Frage:
Muss man im Fall des Ausführens aus dem Flash wirklich so eine lange
Init-Sequenz ausführen (RCC_Configuration, RTC_Configuration, ...),
bzw. warum ist dies beim Ausführen aus dem RAM nicht nötig ?

von Simon H. (simi)


Lesenswert?

Und ich hatte schon Angst, Dir zu fest auf die Füsse getreten zu sein. 
:-) Schön, dass Du Humor hast! :-))

So. Und jetzt zurück zum Thema, sobald ich bei Mouser genug 
zusammengekrömelt habe, um mir so ein Ding versandkostenfrei schicken zu 
lassen, teste ich das Ding nämlich auch mal aus!

von hp-freund (Gast)


Lesenswert?

Noname schrieb:
> blink_flash

funtionier bei mir auch nicht. Aber hol dir mal das aktuelle git, da 
gibt es jetzt ein Verzeichnis stm32f4.

Die Projekte funktionieren.

von Frank K. (fchk)


Lesenswert?

Lutz Schulze schrieb:
> Was haltet ihr von diesem Board? Wollte mir das zu Weihnachten schenken
> :-)
> Kostet ca. 60 Teuronen und hat ein 3.2" TFT, LPC1768.
> 
http://www.ebay.de/itm/NXP-LPC1768-ARM-Development-Board-3-2-TFT-LCD-Module-/270653509451?pt=BI_Electrical_Equipment_Tools&hash=item3f0434cf4b

Hmm. Ja. Ganz nett. Denke daran, dass das TFT relativ langsam angebunden 
ist. Der Bildschirmspeicher liegt nicht im Adressraum des Prozessors, 
d.h. Du kannst nur ziemlich indirekt über den Controller im Display 
darauf zugreifen. Für statische Grafik reichts, für Video usw ist das zu 
langsam. Da brauchst Du einen Prozessor, der den TFT-Controller direkt 
eingebaut hat, plus dazu passend ein controllerloses Display.

Und für ein Linux ist das Teil auch zu klein - das war Dir aber wohl 
vorher schon klar gewesen, oder?

fchk

von Noname (Gast)


Lesenswert?

@hp-freund: Vielen Dank für den Hinweis ! Jetzt blinkts !!!

Noch ein paar Fragen an die Wissenden:

1) Weiß jemand, ob es ein (kleines) Win32 Command Line Tool (ohne GUI)
gibt, mit dem man den STM32F4 via SWD programmieren kann ?
Oder kann man das STLINK V2 Tool mit einem Command-Line
Parameter aufrufen, um ein *.bin / *.hex ins Flash zu laden ?
(OpenOCD geht bestimmt, dachte mehr an ein kleines, eigenständiges Tool,
dass man einfach via Batchdatei aufrufen kann...)

2) Stichwort: Debug-Ausgaben
Kann man die Ausgaben einer der seriellen Schnittstelle via STLINK V2
Hardware zum PC übertragen und sich dort anzeigen lassen ?
Vielleicht auch Daten vom PC zurück zum STM32F4 ?

von Marco S. (masterof)


Lesenswert?

Hallo

Hat jemand einen Link Mac-kompatiblen Tool für den STLINKV2 ?

Gruß Marco

von hp-freund (Gast)


Lesenswert?


von suchender (Gast)


Lesenswert?

Gibt es eigentlich ein Datenblatt, in dem die Pinbelegung des 
verwendeten Mikrocontrollers STM32F407 bzw, die Bedeutung der 
Abkürzungen auf dem Board (z.B. PH0, PH1, etc) dokumentiert sind ?

von hp-freund (Gast)


Lesenswert?


von fddgddg (Gast)


Lesenswert?

Lutz Schulze schrieb:
> Was haltet ihr von diesem Board? Wollte mir das zu Weihnachten schenken
> :-)
> Kostet ca. 60 Teuronen und hat ein 3.2" TFT, LPC1768.
> Ebay-Artikel Nr. 270653509451

evtl alternative
http://www.steitec.net/ARM-Boards/

von Noname (Gast)


Lesenswert?

Im User Manual UM1472 ist die Schaltung des STM32DISCOVERY zu finden:
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/USER_MANUAL/DM00039084.pdf
(ab Seite 30)

Alle Details zur Peripherie finden sich im Reference Manual RM0090:
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/REFERENCE_MANUAL/DM00031020.pdf

Pin-Belegung (ab Seite 38) und
Alternate Function Mapping (ab Seite 49) gibt es
im Data Sheet STM32F405xx STM32F407xx:
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/DM00037051.pdf

von Tom (Gast)


Lesenswert?

Noname schrieb:
> 1) Weiß jemand, ob es ein (kleines) Win32 Command Line Tool (ohne GUI)
> gibt, mit dem man den STM32F4 via SWD programmieren kann ?
> Oder kann man das STLINK V2 Tool mit einem Command-Line
> Parameter aufrufen, um ein *.bin / *.hex ins Flash zu laden ?
> (OpenOCD geht bestimmt, dachte mehr an ein kleines, eigenständiges Tool,
> dass man einfach via Batchdatei aufrufen kann...)

Ja das STM32 ST-LINK Utility kann man über Console bedienen. Im Programm 
unter Help den ersten Punkt kommst du zum Datenblatt mit Beschreibung 
wie man das als Batch Datei machen kann ... Nutze das hier in der Firma.

von Noname (Gast)


Lesenswert?

@Tom: Danke !

Das Tool ist im UM0892 Kapitel 4 beschrieben. Man kann aber scheinbar
nicht mehr das ST-Link Utility selbst aufrufen, sondern es gibt eine
Command-Line Version ST-LINK_CLI (im gleichen Verzeichnis wie die
GUI Version).

Beispiel für das Programmieren eines HEX-Files und anschließendem Start:
1
"C:\Program Files (x86)\STMicroelectronics\STM32 ST-Link Utility\ST-Link Utility\ST-LINK_CLI.exe" -c SWD -P firmware.hex -V -Rst

von Lutz Schulze (Gast)


Lesenswert?

Frank K. schrieb:
> Und für ein Linux ist das Teil auch zu klein - das war Dir aber wohl
> vorher schon klar gewesen, oder?
Nein. Danke Frank K. für diese wertvollen Infos. Werde mich dann wohl 
weiter umsehen müssen.

von stm (Gast)


Lesenswert?

mein STM32 Discovery ist grade von RS gekommen. hat schon jemand ein 
paar nette spielereien auf dem board realisiert? wofür bietet es sich 
an?

ich werde jetzt erstmal keil ans rennen bringen und schauen das ich ein 
paar der examples ausprobiere

von stm (Gast)


Lesenswert?

irgendwie mag keil das board nicht ^^
die beispielprojekte sind ja eigentlich auch als keil projekt vorhanden 
und auch die einstellungen des programmieradapters sind bereits 
voreingestellt. trotzdem meldet keil immer das es keinen st link 
findet..

von Martin M. (capiman)


Lesenswert?

Probiers mal mit dem Treiber von
http://www.st.com/internet/evalboard/product/251168.jsp
(Registerkarte "Design support", USB Treiber V2 !)
Du kannst für erste Schritte auch das ST-Link Utility benutzen.
Damit kannst du auch prüfen, ob das Board generell antwortet.

von stm (Gast)


Lesenswert?

habe die treiber und das stm utility bereits installiert. das utility 
findet mein board aber auch nicht. win 7 64 bit problem?

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Schaue mal unter Systemsteuerung > Gerätemanager ob da irgend ein USB 
Gerät mit einem gelben Ausrufezeichen oder anderem Warn-Symbol zu sehen 
ist, wenn dein Board ein gesteckt ist.

von Matthias K. (matthiask)


Lesenswert?

Hier ein einfaches Blinky mit dem Atollic TrueStudio Lite V 2.2.0.
Die blaue LED sollte etwa im Sekundentakt blinken.

Ablauf:

In einem Workspace ein neues Projekt anlegen. Als EVA-Board im 
Assistenten gleich das F4Discovery auswählen. Dann werden einige 
Voreinstellungen automatisch gemacht. Alle anderen Einstellungen 
unverändert lassen.

Projekt Properties / C/C++ General  Paths und Symbols  #Symbols
Ein neues Symbol mit ADD anlegen Name: HSE_VALUE Value: 8000000
(Legt die Quarzfrequenz als Basis für die PLL fest).

Dann in die main.c folgenden Inhalt kopieren:
1
//***********************************************************************************************
2
// Hardwarebasis:   F4DISCOVERY
3
// Programm:        Blinky ohne SysTick
4
// Mikrocontroller: STM32F407VG (ARM 32-bit CORTEX-M4) F4-DISCOVERY Board
5
// Speicher:        1MB FLASH, 192KB SRAM
6
// Taktfrequenz:    Quarz: 8MHz, mit PLL auf: 168MHz
7
// Stand:           17.11.2011
8
// IDE/Compiler:    Atollic TrueStudio STM32-Lite 2.2.0
9
// STM FW-Lib:      V 1.0.0 RC1
10
//***********************************************************************************************
11
12
/* Includes */
13
#include <stddef.h>
14
#include "stm32f4xx.h"
15
16
/*
17
  Achtung!!
18
  HSE_VALUE = 8000000 als globales Symbol setzen (Quarzfrequenz 8MHz)
19
  Defaultwert ist 25MHz, sonst stimmt die PLL nicht.)
20
  Systemtakt wird dann automatisch auf 168MHz gesetzt.
21
22
  Alternativ: HSE_VALUE in stm32f4xx.h auf 8000000 setzen
23
*/
24
25
//***********************************************************************************************
26
// Defines
27
//***********************************************************************************************
28
#define LD_6_AUS      GPIO_ResetBits(GPIOD,GPIO_Pin_15) /* blaue LED  */
29
#define LD_6_EIN      GPIO_SetBits(GPIOD,GPIO_Pin_15)
30
31
//***********************************************************************************************
32
// Verzögerungsfunktion ohne Timer/SysTick
33
//***********************************************************************************************
34
void my_delay(void) {
35
  volatile uint32_t z = 1500000;
36
  while(z--);
37
}
38
39
//***********************************************************************************************
40
// Hauptprogramm
41
//***********************************************************************************************
42
43
// SystemInit(); wird automatisch vor der MAIN-Funktion
44
// vom startup_stm32f4xx.s gerufen
45
46
int main (void) {
47
48
  GPIO_InitTypeDef  GPIO_InitStructure;
49
50
  // GPIOD Takt freigeben
51
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
52
53
  // LED-GPIO als Ausgang konfigurieren
54
  GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_15;
55
  GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_OUT;
56
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
57
  GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL;
58
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
59
  GPIO_Init(GPIOD, &GPIO_InitStructure);
60
61
  // Hauptschleife
62
  while(1) {
63
    LD_6_EIN;
64
    my_delay();
65
    LD_6_AUS;
66
    my_delay();
67
  }
68
}

von Matthias K. (matthiask)


Lesenswert?

stm schrieb:
> habe die treiber und das stm utility bereits installiert. das utility
> findet mein board aber auch nicht. win 7 64 bit problem?

Richtiges Mini USB B Kabel? Es gab ganz früher mal abweichende 
Belegungen.

von Marco S. (masterof)


Lesenswert?

@hp-freund

Danke für den link hat aber leider nicht funktioniert.
Aber es hat mir geholfen, da es mich auf den Parameter CONFIG_USE_LIBSG 
aufmerksam gemacht hat.

Ich habe das Repo https://github.com/texane/stlink verwendet und 
compilert mit
"make CONFIG_USE_LIBSG=0"

gruß marco

von Daniel (Gast)


Lesenswert?

Hallo,

ich arbeite unter Linux und versuche mich "mal wieder" an der Sache. 
Dank der git-Repositories, ist der Start inzwischen ja sehr einfach 
geworden. Die Beispiele funktionieren soweit.

Da stellt sich mir die Frage, wie man das bei eigenen Projekten sauber 
angeht.
Ich möchte mit Eclipse arbeiten, jedoch trotzdem möglichst unabhängig 
von der IDE bleiben. Daher bieten sich m.E. Makefiles an, wie sie auch 
in den Beispielen benutzt werden.

Wie binde ich eins der Beispiele in die IDE ein, sodass alles, also auch 
das Debugging funktioniert? Oder muss das Makefile dann spezielle 
Targets haben, damit es funktioniert?

Kann mir da jemand einen kleinen Einstieg geben? Es gibt zwar ne Menge 
Informationen dazu im Netz, aber man weiß nicht so richtig, ob man auf 
dem richtigen Pfad ist... So ein, zwei Sätze, wie man da rangeht, würden 
mir sehr helfen.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Hier gibt es
http://www.mikrocontroller.net/articles/STM32_Eclipse_Installation
ein
"Blink-LED, komplettes Eclipse-Workspace von MmVisual"
(STM32F1xx)

Da sollte alles drin sein.

von Maxx (Gast)


Lesenswert?

Wie sehe ich, ob das Teil wirklich mit 168MHz läuft?

HSE_VALUE habe ich auf 8000000 gesetzt, also die 8MHz Quarzfrequenz.

Der GPIO Ausgang ist auf 100MHz konfiguriert.

..
1
while(1) {
2
    GPIOB->BSRRH = GPIO_Pin_15; //PB15 = L;
3
    GPIOB->BSRRL = GPIO_Pin_15; //PB15 = H;
4
}
Ich messe:

L = 75ns
H = 130ns

Kommt mit etwas zu lang vor, für die 168 MHz.

Auch kommt bei mir nicht 168MHz raus, wenn ich die Berechnungsangaben in 
der system_stm32f4xx.c nachvollziehe.

/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
#define PLL_M      25
#define PLL_N      336

/* SYSCLK = PLL_VCO / PLL_P */
#define PLL_P      2

von Tom (Gast)


Lesenswert?

Maxx schrieb:
> Auch kommt bei mir nicht 168MHz raus, wenn ich die Berechnungsangaben in
>
> der system_stm32f4xx.c nachvollziehe.

Unter der folgenden Adresse gibt es unter Configuration Utilitys ein 
Excel Sheet mit dem du die Einstellungen überprüfen und eine 
system_stm32f4xx.c erzeugen lassen kannst. Vielleicht hilft es dir.

Alternativ kannst du auch eine Peripherie wie zum Beispiel den Timer, 
welcher von bestimmten Systemclocks abhängig ist, konfigurieren und 
nachmessen, z.B. PWM Signal am Oszi die eingestellte Frequenz 
überprüfen.

von Tom (Gast)


Lesenswert?


von Maxx (Gast)


Lesenswert?

Tom schrieb:
> Link vergessen
> http://www.st.com/internet/mcu/product/252140.jsp

Tolles Tool, kannte ich noch nicht!

In der Tat stimmt die Berechnung in der system_stm32f4xx.c nicht für den 
8MHz Quarz. Der µC rennt also nur mit 53,76 MHz.

/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
#define PLL_M      8   /* 25 */
#define PLL_N      336 /* 336 */

/* SYSCLK = PLL_VCO / PLL_P */
#define PLL_P      2 /* 2 */

also muss neben HSE_VALUE = 8000000 auch noch PLL_M angepasst werden.
PLL_M muss von 25 in 8 geändert werden. Dann läuft der µC mit 168 MHz.

Ich messe jetzt:

L = 23ns
H = 40ns

Das passt jetzt.

von Knut (Gast)


Lesenswert?

So, ich hab auch das "BlinkProjekt" mal ausprobiert. Funktioniert. 
Jedoch würde ich gern das erzeugte Hex-File mit einem seperaten Tool 
flashen. Gibt's da was? Ich habe noch keinen Button "Flashn" gefunden. 
Nur wenn ich über debug gehe wird der Controller geflasht und danach der 
Debugger gestartet.

Zum Verständnis, ich will nur den Code (Hexfile) mit True Studio 
erstellen und das Hexfile seperat flashen.


Gruß
Knut

von Matthias K. (matthiask)


Lesenswert?

Knut schrieb:
> o, ich hab auch das "BlinkProjekt" mal ausprobiert. Funktioniert.
> Jedoch würde ich gern das erzeugte Hex-File mit einem seperaten Tool
> flashen.

Welcher Compiler?

von Martin M. (capiman)


Lesenswert?

Du kannst dafür das ST-Link Utility (unter Windows) benutzen:
http://www.st.com/internet/evalboard/product/251168.jsp
(lässt sich auch ohne GUI aufrufen, siehe oben,
Stichwort: ST-LINK_CLI.exe)

von Knut (Gast)


Lesenswert?

Atollic hat soweit ich weiß den GCC.



Knut

von Matthias K. (matthiask)


Lesenswert?

Knut schrieb:
> Atollic hat soweit ich weiß den GCC.

Atollic kann in der Lite-Version kein Hexfile erzeugen, sondern nur ein 
.elf File. Um daraus ein .hex zu erzeuen brauchst Du ein objcopy aus 
einer anderen WINARM Installation, zB. arm-none-eabi-objcopy von 
YAGARTO:

Aufruf:
arm-none-eabi-objcopy -O ihex "Blinky.elf" "Blinky.hex"

Das ganze kann man bei Atollic als Afterbuild dann automatisch machen 
lassen.

ST-Link Utility geht dann zum flashen des .hex. Der STM32 hat auch einen 
UART-Bootloader ab Werk. Dazu müsstest Du aber noch einen RS-232 Treiber 
dazwischen bauen.

In der Software zum Board (STM32F4-Discovery_FW_V1.1.0) ist auch ein 
Projekt FW_Upgrade, welches per USB (Laufwerk) die Firmware flasht. Habe 
es noch nicht ganz verstanden und noch nicht ausprobiert.

von Knut (Gast)


Lesenswert?

Kannst du bitte etwas genauer beschreiben wie das mit dem Afterbuild In 
Atollic geht?


Gruß
Knut

von Matthias K. (matthiask)


Lesenswert?

Nochwas:

Das Geschwindigkeitsproblem hatte ich auch. Mit den 
Standardeinstellungen nach einer Projekt-Neuanlage mit Atollic wird von 
einem 25MHz Quarz ausgegangen. Das Board hat aber nur 8MHz. Somit läuft 
es viel zu langsam.

HSE_VALUE = 8000000 als globales Symbol reicht allein nicht aus.

In der system_stm32f4xx.c noch ändern:

#define PLL_M      8   /* zuvor 25 */

Mit beiden Änderungen läuft der F4 dann mit seinen 168 MHz, also mehr 
als 3x schneller als zuvor. Dein Blinky wird sich feuen...

von Matthias K. (matthiask)


Angehängte Dateien:

Lesenswert?

Knut schrieb:
> Kannst du bitte etwas genauer beschreiben wie das mit dem Afterbuild In
> Atollic geht?

Schreib das ganze in eine afterbuild.bat und trage sie bei den Projekt 
Properties ein, siehe Bild.

von Knut (Gast)


Lesenswert?

Sitze grad nicht am PC, daher noch ne dumme Frage:

Jagarto installieren, die non-arm-eabi-objcopy.?exe? in mein Verzeichnis 
kopieren und dann eine *.bat schreiben die obigen Aufruf macht und diese 
dann im Truestudio mit einbinden?

Sorry für die vielen Fragen, bin aber auf dem Zebit völliger Neuling.



Gruß Knut

von Knut (Gast)


Lesenswert?

Kannst du nicht die non-arm... hochladen, das währe später auch für 
einen neuen Artikel hier gut! Gibt sicher nochmehr Leute die dA Probleme 
haben.


Gruß
Knut

von Fritz M. (Gast)


Lesenswert?

Matthias K. schrieb:
> Atollic kann in der Lite-Version kein Hexfile erzeugen, sondern nur ein
> .elf File.

Knut schrieb:
> So, ich hab auch das "BlinkProjekt" mal ausprobiert. Funktioniert.
> Jedoch würde ich gern das erzeugte Hex-File mit einem seperaten Tool
> flashen.

Matthias K. schrieb:
> Atollic kann in der Lite-Version kein Hexfile erzeugen, sondern nur ein
> .elf File.

Etwas aufwendiger, aber es funktioniert:

Beitrag "TrueSTUDIO+Bootloader+ST Flash Loader Anleitung"

von Knut (Gast)


Lesenswert?

Cool, werd ich morgen gleich ausprobieren.


Knut

von Matthias K. (matthiask)


Lesenswert?

Knut schrieb:
> Kannst du nicht die non-arm... hochladen, das währe später auch für
> einen neuen Artikel hier gut! Gibt sicher nochmehr Leute die dA Probleme
> haben.

Das Problem wurde hier schon mehrfach besprochen.

Knut schrieb:
> Sitze grad nicht am PC, daher noch ne dumme Frage:
>
> Jagarto installieren, die non-arm-eabi-objcopy.?exe? in mein Verzeichnis
> kopieren und dann eine *.bat schreiben die obigen Aufruf macht und diese
> dann im Truestudio mit einbinden?
>

ja.

Fritz M. schrieb:
> Etwas aufwendiger, aber es funktioniert:
>
> Beitrag "TrueSTUDIO+Bootloader+ST Flash Loader Anleitung"

oder so

von Knut (Gast)


Angehängte Dateien:

Lesenswert?

So, ich habs ausprobiert wie Fritz M. es gemacht hat. Leider bekomme ich 
noch eine Fehlermeldung mit der ich nichts anfangen kann und der Build 
wird unterbrochen: (siehe Anhang)


Was habe ich übersehen?


Gruß
Knut

von Knut (Gast)


Lesenswert?

OK, wenn ich den Namen der zu Hexenden Datei so angebe wie von Matthias 
K. erhalte ich ein *.Hex File (Juhu). Aber das is doch müßig, in der 
anderen Variabnte ist sicherlich nur n Syntax-Fehler.



Gruß
Knut

von Knut (Gast)


Lesenswert?

Habs:

arm-atollic-eabi-objcopy -O ihex  "${BuildArtifactFileBaseName}.elf" 
"${BuildArtifactFileBaseName}.hex"

da Fehlten die Gänsefüßchen!


Besten Dank
Knut

von Matthias K. (matthiask)


Lesenswert?

Knut schrieb:
> Besten Dank
> Knut

Hast Du

#define PLL_M      8
und
HSE_VALUE = 8000000

mal geändert?

von Fritz M. (Gast)


Lesenswert?

Knut schrieb:
> Habs:
>
> arm-atollic-eabi-objcopy -O ihex  "${BuildArtifactFileBaseName}.elf"
> "${BuildArtifactFileBaseName}.hex"
>
> da Fehlten die Gänsefüßchen!

Bei mir funktioniert es, wenn ich unter Project > Properties > C/C++ 
Build > Settings > Build Steps > Post-build Steps > Command:

arm-atollic-eabi-objcopy -O ihex ${BuildArtifactFileBaseName}.elf 
${BuildArtifactFileBaseName}.hex

eintrage. Ohne Gänsefüßchen!

Die Datei arm-atollic-eabi-objcopy.exe befindet sich beim mir (WIN7 64) 
unter:

C:\Programme(x86)\Atollic\TrueSTUDIO for STMicroelectronics STM32 Lite 
2.2.0\ARMTools\bin

Grüße
Fritz M.

von Fritz M. (Gast)


Lesenswert?

Wichtig ist das Leerzeichen zwischen

ihex ${BuildArtifactFileBaseName}.elf ${BuildArtifactFileBaseName}.hex
                                     ^

Das wird eventuell verschluckt beim kopieren.

Grüße
Fritz M.

von Matthias K. (matthiask)


Lesenswert?


von der A. (the_a)


Lesenswert?

die wollen wohl die Leute hungrig machen ...
der einzelne Controller kostet noch über 20Euro bei RS. Fast doppelt 
soviel wie das ganze Board!

Adib.

von Uwe Bonnes (Gast)


Lesenswert?

Bei Mouser gibt es einen 512 kB STM32F4 für 6.84 Euro. Die Preise bei RS 
sind jenseits von Gut und Böse...

von Willi (Gast)


Lesenswert?

Uwe Bonnes schrieb:
> Die Preise bei RS sind jenseits von Gut und Böse...

Ja und nein.
Wegen des portofreien Versands können sich kleine Stückzahlen dort 
sehrwohl lohnen. Auch spezielle Teile (z.B. TCXOs von Taitien) sind dort 
sehr günstig.

von Thomas K. (tomk)


Lesenswert?

Hi,

das Discovery-Board sieht ja ganz nett aus ... zur Ergänzung des 
Controller-Zoo's! :-)

Aber by the way: der STM32F407 hat ja ein Ethernet-Interface ob Board - 
gefällt mir. Nur: irgendwie bin ich noch nicht schlau genug, was ich an 
Hardware wie verschalten muss, um das Ganze real als Netzknoten mit 
Standard-TP-verkabelung zu nutzen. So einfach eines der üblichen 
Ethernet-Mag's anschließen scheint wohl nicht zu funktionieren. (wie 
z.B. bei dem MicroChip-ENC-Baustein)

Hat irgend jemand da schon mal einen funktionierenden Schaltplan zu 
gesehen?

Schönen Abend noch, Thomas

von hp-freund (Gast)


Lesenswert?


von Frank K. (fchk)


Lesenswert?

Thomas K. schrieb:

> Hat irgend jemand da schon mal einen funktionierenden Schaltplan zu
> gesehen?

Du wirst das Problem haben, das einige vom (R)MII-Interface benötigte 
Pins schon für andere Dinge auf dem Board verwendet werden. Ärgerlich!

fchk

von hp-freund (Gast)


Lesenswert?

Will hoffen das es trotz dem möglich ist.
Hab mir den bestellt: ebay 260868624339

Auf der Seite gibt es auch einen Download für uns...

von Thomas K. (tomk)


Lesenswert?

Hi,

Frank K. schrieb:
> Du wirst das Problem haben, das einige vom (R)MII-Interface benötigte
> Pins schon für andere Dinge auf dem Board verwendet werden. Ärgerlich!

Jetzt hab ich's begriffen. Irgendwie scheint mir das die ENC-Variante 
einfacher (in Sachen Aufwand als Hobby-Bastel-Lösung!), auch wenn's ganz 
sicher langsamer ist. Und da sollte es dann auch keine Strubbeleien mit 
irgendwelchen schon verwendeten Pin's geben.

Schönen Tag noch, Thomas

von Tobias W (Gast)


Lesenswert?

ich suche gerade verzweifelt den Pinout von dem Class-D Verstärker, wo 
die beiden Lautstärker Ausgänge rauskommen (laut Datenblatt soll man da 
ja bis zu 2*1 Watt ohne weitere Beschaltung raus bekommen - wenn man 
denn so viel Strom zur Verfügung hätte ;-))

Hab ich die Lautsprecherausgänge des Verstärkers übersehen, oder ist der 
Class-D Verstärker nur Deko im Datenblatt (also wird im Endeffekt nur 
der Line-Out/Kopfhörer benutzt)?

von moooaaahhrhrr (Gast)


Lesenswert?


von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Bei Farnell gibt es die F4 jetzt auch:

http://de.farnell.com/STM32F4

Leider nicht die LQFP100 Typen :-(

von moooaaahhrhrr (Gast)


Lesenswert?

aber laut schaltplan

http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/USER_MANUAL/DM00039084.pdf

is der class D  speaker ausgang nicht beschaltet

schade ...

von Fritz M. (Gast)


Lesenswert?

Tobias W schrieb:
> Hab ich die Lautsprecherausgänge des Verstärkers übersehen, oder ist der
> Class-D Verstärker nur Deko im Datenblatt (also wird im Endeffekt nur
> der Line-Out/Kopfhörer benutzt)?

Wenn ich das Schaltbild (Figur 14 auf Seite 33) im Datenblatt richtig 
interpretiere, sind die Lautsprecherausgänge nicht beschaltet.

http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/USER_MANUAL/DM00039084.pdf

Grüße
Fritz M.

von Dario B. (abcd)


Lesenswert?

Bei den Preisen ist es ja günstiger, die Boards zu kaufen, und den Chip 
und das Hühnfutter runter zu löten.

von moooaaahhrhrr (Gast)


Lesenswert?

Dario B. schrieb:
> Bei den Preisen ist es ja günstiger, die Boards zu kaufen, und den Chip
> und das Hühnfutter runter zu löten.



wenn das nicht soch wer gemacht hat ^^

2tes discovery geholt
M4 runtergefönt auf eigenes board drauf

den sensor , das mic und den DAC in die grabbelkiste und gut is  :)

von Tobias W (Gast)


Lesenswert?

@moooaaahhrhrr, Fritz,
vielen Dank, das hatte ich schon befürchtet, aber gehofft, dass ich 
irgendwas übersehen hab. Mist, dann muss der China-Mann wohl nen Class D 
Amplifier dazu liefern :-(

von Mathias K. (Gast)


Lesenswert?

Hallo,

Noname schrieb:
> (OpenOCD geht bestimmt, dachte mehr an ein kleines, eigenständiges Tool,
> dass man einfach via Batchdatei aufrufen kann...)

OpenOCD kennt den ST-Link-Adapter "noch" nicht, da es sich um keinen 
Low-Level JTAG-Adapter handelt.

Mit OpenOCD könntest du auch über eine Batch-Datei NUR das Flash 
brennen. Ich denke das meintest du mit "kleines, eigenständiges Tool"!?


Grüße.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Kann es sein, dass man mit dem ST-LINK_CLI.exe Tool den STM32F4xx nicht 
flashen kann?

Mit dem GUI Tool klappt das.

Die Kommandozeilenparameter:
-ME -P BlinkLED_ROM.bin 0x08000000 -V -Hardrst

Mit dem STM32F103 klappt das CLI Tool. Ich wollte es so in Eclipse 
einbinden damit ich schneller über den im Discovery Board einbebauten 
ST-Link flashen kann.

von Tom (Gast)


Lesenswert?

Doch das STM32F4Discovery Board lässt sich damit prima flashn. Läuft bei 
mir auch in Eclipse.

Noname schrieb:
> Beispiel für das Programmieren eines HEX-Files und anschließendem Start:
>
> "C:\Program Files (x86)\STMicroelectronics\STM32 ST-Link Utility\ST-Link 
Utility\ST-LINK_CLI.exe" -c SWD -P firmware.hex -V -Rst

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Wie erzeugst Du die HEX-Datei?

Denn wenn die auf Adresse 0x00000000 gemacht wird, kann der nicht 
flashen?

So mache ich das:
1
arm-none-eabi-objcopy -O ihex --change-addresses 0x08000000 BlinkLED_rom.elf BlinkLED_rom0800.hex

von Tom (Gast)


Lesenswert?

Hatte das von oben nur zitiert aber selbst nicht gestestet. Mein Aufruf 
ist folgender:
1
-c SWD -P "D:\ARM_Dev\main.bin" 0x08000000 -V "D:\user\ARM_Development\main.bin" -Rst

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Der -c Parameter hat bei mir noch gefehlt, wahrscheinlich war es das, 
denn das Board hat ja nur SWD OnBoard.
Ich kann das jetzt grad nur nicht testen.

von Andreas H. (andreas_h88)


Lesenswert?

schon was gefunden? Ich bin auch interessiert!

von Martin M. (capiman)


Lesenswert?

Andreas H. schrieb:
> schon was gefunden? Ich bin auch interessiert!

An was ? Der Thread ist schon so lang.
Auf was bezieht sich dein Interesse ?

von Uwe (Gast)


Lesenswert?

Diese Lite Edition von Mentor scheint in nichts beschränkt zu sein ! Die 
Andern können oft kein Floting Point oder SIMD oder sind in der Laufzeit 
oder Codegröße beschränkt.

http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/

man braucht dann noch die Tools und Libs von ST und irgendeine IDE und 
man hat Alles umsonst.

von Jörg B. (joerg-sh)


Lesenswert?

Neues Release

Release notes for Atollic TrueSTUDIO for STMicroelectronics STM32 Lite
Version 2.3.0

Toolchain updates
    * New library using HW implementation of floating point.

von Jörg B. (joerg-sh)


Lesenswert?

Nach vielen hin und her habe ich es nun endlich geschafft mit TrueStudio 
per Debug mein erstes selbst angepasstes Programm in die MCU zu 
bekommen.

Wie bekomme ich es jetzt aber hin, dass ich es ohne Debug per Klick aus 
dem TrueStudio in die MCU bekomme?

Grüße

Jörg

von Matthias K. (matthiask)


Lesenswert?

Jörg B. schrieb:
> Wie bekomme ich es jetzt aber hin, dass ich es ohne Debug per Klick aus
> dem TrueStudio in die MCU bekomme?

Nimm das STM32 ST-LINK Utility.

von Jörg B. (joerg-sh)


Lesenswert?

Matthias K. schrieb:
> Nimm das STM32 ST-LINK Utility.

Das heißt dann aber, ich muss wie hier schon beschrieben ein hex file 
erzeugen, welches ich dann mit dem ST-Link Utility dann ich die MCU 
schreibe.

von faux pa (Gast)


Lesenswert?

Ja, in diesem Fall musst du leider ein HEX-file erzeugen.

von Jörg B. (joerg-sh)


Lesenswert?

Ok, kann man mit leben. Wo TrueStudio Lite ja kostenlos ist, sogar für 
Kommerzielle Anwendungen bei Nennung des Herstellers in der 
Bedienungsanleitung des Gerätes.

von Matthias K. (matthiask)


Lesenswert?

Wie man ein .hex-File erstellt im TrueStudio Lite (kann das von Haus aus 
nicht) wurde im Forum schon mehrfach beschrieben, findest Du bestimmt 
selber...

von Jörg B. (joerg-sh)


Lesenswert?

jo hatte ich schon gelesen. Auch in diesem Beitrag. Nur weiter oben.

von Jörg B. (joerg-sh)


Angehängte Dateien:

Lesenswert?

Ich übe jetzt schon Stunden am Uart herum. Vielleicht kann sich mal 
jemand erbarmen und schaut sich das angehängte TrueStudio Projekt an?

Ich bekomme diese eine Fehlermeldung nicht weg...

"undefined reference to `STM_EVAL_COMInit'"

von hp-freund (Gast)


Lesenswert?

Die Funktion STM_EVAL_COMInit wird in deinem Projekt auch nirgend wo 
definiert.
Da fehlt wohl eine stm32xxx_eval.c/.h für dein Board. Wenn keine passt, 
such diese Funktion in einer anderen stm32xxx_eval.c und pass sie für 
dich an.

von Jörg B. (joerg-sh)


Lesenswert?

hmmm in my_f4_discovery.h

ist

void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* 
USART_InitStruct);


definiert.

Meinst du nicht das?

von hp-freund (Gast)


Lesenswert?

http://public.beuth-hochschule.de/~kempfer/skript_c/Kap09.html#prototyp

Das bedeutet: die Funktion ist bekannt aber leer...

von Jörg B. (joerg-sh)


Lesenswert?

hp-freund schrieb:
> Das bedeutet: die Funktion ist bekannt aber leer...

Danke, jetzt hab ich es geschafft.

Aller Anfang ist schwer ;)

von riki (Gast)


Lesenswert?

Hi,

 ich habe soweit alles mit Linux am laufen. Ich kann debuggen aus 
Eclipse heraus und den Flash beschreiben.

Was mich gerade aber ziemlich stutzig macht: Warum gibt es kein malloc? 
Weil ich gar keine libc zur Verfügung habe?

Danke.

Gibts eigentlich irgendwo ein einfacheres Beispielprogramm wie man ein 
USB-HID Gerät baut?

von Jörg B. (joerg-sh)


Lesenswert?

Ich bekomme es nun übtragen, aber es kommt nichts über die RX Leitung...

#define EVAL_COM1                        USART3
#define EVAL_COM1_CLK                    RCC_APB1Periph_USART3
#define EVAL_COM1_TX_PIN                 GPIO_Pin_8
#define EVAL_COM1_TX_GPIO_PORT           GPIOD
#define EVAL_COM1_TX_GPIO_CLK            RCC_AHB1Periph_GPIOC
#define EVAL_COM1_TX_SOURCE              GPIO_PinSource8
#define EVAL_COM1_TX_AF                  GPIO_AF_USART3
#define EVAL_COM1_RX_PIN                 GPIO_Pin_9
#define EVAL_COM1_RX_GPIO_PORT           GPIOD
#define EVAL_COM1_RX_GPIO_CLK            RCC_AHB1Periph_GPIOC
#define EVAL_COM1_RX_SOURCE              GPIO_PinSource9
#define EVAL_COM1_RX_AF                  GPIO_AF_USART3
#define EVAL_COM1_IRQn                   USART3_IRQn

Ursprünglich war das PortC und Pin 10 und 11. Die sind aber belegt und 
laut der Beschreibung liegen RX und TX von USART3 auch auf diesen Ports.

Ich hatte irgendwo mal was über Pin Umleitungen gelesen. hmmmmm

von Matthias K. (matthiask)


Lesenswert?

In der "stm32f4discovery_fw.zip" sind auch die USB-Libs mit drin und 
auch paar USB Beispiele. Ansonsten bei den F1 gibts auch ein HID Demo, 
zur Orientierung vielleicht einen Blick Wert-.

von Matthias K. (matthiask)


Lesenswert?

Jörg B. schrieb:
> Ich hatte irgendwo mal was über Pin Umleitungen gelesen. hmmmmm

Das nennt sich REMAP. Was möglich ist an alternativen Pinbelegungen 
steht im Datenblatt.

von Jörg B. (joerg-sh)


Lesenswert?

Jörg B. schrieb:
> #define EVAL_COM1_TX_GPIO_CLK            RCC_AHB1Periph_GPIOC
> #define EVAL_COM1_RX_GPIO_CLK            RCC_AHB1Periph_GPIOC

muss natürlich D und nicht C

aber es kommt trotzdem nichts :-/

von Jörg B. (joerg-sh)


Lesenswert?

Was ist denn GPIO_Pin und GPIO_PINSOURCE ?

von hp-freund (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal meine gcc/eclipse-Version eines Webservers für unser Board.
Es ist eine angepasste Version des Standalone httpserver aus:
http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f4x7_eth_lwip.zip

-PHY ist ein DP83848
-DHCP (Voreinstellung) oder manuelle IP
-PC2 als analoger Eingang Anzeige in mV im Browser
-LED schalten im Browserfenster

Die angehängte zip im gleichen Verzeichnis wie die 
stm32f4x7_eth_lwip.zip entpacken. Kann auch als makefile Project in 
eclipse geöffnet werden.
In der ST Firmware wird nichts verändert.


Viel Spass...

von Daniel (Gast)


Lesenswert?

riki schrieb:
> ich habe soweit alles mit Linux am laufen. Ich kann debuggen aus
> Eclipse heraus und den Flash beschreiben.

Kannst du dazu ein paar Worte sagen? Ich bin soweit, dass das direkte 
flashen usw. funktioniert. Ich habe es aber noch nicht geschafft, das 
Debuggen in Eclipse zum Laufen zu bekommen. Ich denke, ich mache noch 
eine Kleinigkeit falsch. In Eclipse wird das neue Programm nicht 
geflashed.

Ich benutze:
Toolchain: https://github.com/esden/summon-arm-toolchain
ST-Link:   https://github.com/texane/stlink

Toolchain und ST-Link installiert nach dieser Anleitung: 
https://github.com/texane/stlink/blob/master/doc/tutorial/tutorial.pdf?raw=true

Dann bin ich hiernach vorgegangen:
http://www.chibios.org/dokuwiki/doku.php?id=chibios:guides:eclipse1
http://www.chibios.org/dokuwiki/doku.php?id=chibios:guides:eclipse2
http://www.chibios.org/dokuwiki/doku.php?id=chibios:guides:stlink_eclipse

Allerdings wird in der Anleitung die Installation mit der Truestudio 
Toolchain beschrieben. Daher habe ich das für den texane-gdb Server 
angepasst, aber wohl irgendwas falsch gemacht.

Vielleicht sieht ja jemand auf die schnelle eine Sache, die bei 
texane-stlink anders gemacht werden muss als üblich. Mich irritieren ein 
wenig die Linker(?)-Adressen, die in dem Tutorial angegeben werden. Hat 
das damit etwas zu tun, dass es nicht geht?

von hp-freund (Gast)


Lesenswert?

Sorry, hab geade gesehen das das noch ein unaufgeräumtes Makefile ist.
Bitte alle auskommentierten Zeilen löschen, dann wird es 
übersichtlicher...

von Matthias K. (matthiask)


Lesenswert?

hp-freund schrieb:
> Hier mal meine gcc/eclipse-Version eines Webservers für unser Board.

Kannst bitte das KiCad Projekt für den Webserver hochladen.

von hp-freund (Gast)


Lesenswert?

Matthias K. schrieb:
> Kannst bitte das KiCad Projekt für den Webserver hochladen.

Das ist es schon. Es ist je ein Modul. Die Skizze zeigt nur die 
Verbindugen.
[Schleichwerbung] ebay 260868624339 [/Schleichwerbung]
Auf der Seite ist auch ein Download mit Codebeispiel und Schaltplan.

von Martin M. (capiman)


Lesenswert?

hp-freund schrieb:
> [Schleichwerbung] ebay 260868624339 [/Schleichwerbung]

Hast du evt. noch 1 bis 2 solche Module übrig,
die du mir verkaufen könntest ? Zu welchem Preis ?
Oder gibt es Erfahrungen, wie lange so eine Bestellung dauert ?

von hp-freund (Gast)


Lesenswert?

Da ich unter 22 Euro bleiben musste hab ich nur 2 bestellt.
Muss auch noch mal welche besorgen ;)

Versand ging zwar schnell bis D, ist dann aber leider doch beim Zoll 
hängengeblieben. Wurden damit über 3 Wochen.

von Matthias K. (matthiask)


Lesenswert?

hp-freund schrieb:
> [Schleichwerbung] ebay 260868624339 [/Schleichwerbung]

Ich würde auch eins nehmen. Oder kennst Du eine deutsche Bezugsquelle?

von hp-freund (Gast)


Lesenswert?

Bei RS gibt es den DP83848 als IC aber ein Modul hab ich auf die 
Schnelle in D nicht gefunden.

von Martin M. (capiman)


Lesenswert?

Die habe ich vorher via Google gefunden, habe aber keinen Preis
(zumindest bei dem aus Deutschland) sowie auch keine Info,
ob es am STM32F4 benutzbar ist:

Deutschland:
http://www.morethanip.com/boards_10_100_dp83848.htm

Schweden:
http://www.limetronic.com/shop/index.php?main_page=product_info&cPath=10&products_id=25

Thailand:
http://www.thaieasyelec.net/index.php/Ethernet-Module/DP83848-Ethernet-Phy-Breakout-Board/p_179.html

Weiss jemand weitere billige Break-Out-Boards mit DP83848 ?

von Dennis P. (dennisp)


Lesenswert?


von Dirk B. (garag)


Lesenswert?

Zwei von den Modulen haben ich mir auch bestellt und wurden ohne 
Probleme geliefert.

@Dennis
Wie hast du die Module angeschlossen und hast du vielleicht ein 
lauffähiges Projekt ?

Gruß

von Dennis P. (dennisp)


Angehängte Dateien:

Lesenswert?

Es geht ja nur per RMII:

Beitrag "Re: STM32F4 USART1"

Das reine Ethernetprojekt habe ich mal angehangen. Ist ne modifikation 
des großen Evalboards des STM32F4`s.

In einem anderen Projekt hab ich die Webseiten auf ne SD Karte 
ausgelagert und arbeite grade an der FTP integration.

von Jörg B. (joerg-sh)


Lesenswert?

Hallo Dennis,
danke für deine Webserversoft.
Bei mir werden allerdings die LEDs nicht geschaltet und der AD Wert wird 
auch nicht angezeigt.

Gruß

Jörg

von Dennis P. (dennisp)


Lesenswert?

Das war nur ein schneller Test ob das Ethernet an sich funktioniert. Das 
die Leds bzw. der ADC funktioniert musste selber anpassen. Ist auch kein 
großes Ding.

von Jörg B. (joerg-sh)


Lesenswert?

Hallo Dennis, ich noch mal,
es werden die Standard libs wie studio.h usw. nicht gefunden.
Wie bekomme ich den Pfad nachträglich da hinein?

Gruß Jörg

von Jörg B. (joerg-sh)


Lesenswert?

Ich hab es schon selber raus gefunden.
Habe unter Properties c/C++ General Path and Symbols aus einen von True 
Studio erzeugten Projekt die Pfade nachgetragen.

von Jörg B. (joerg-sh)


Lesenswert?

Die LEDs auf das Board anzupassen war nicht schwer.

Einfach in der

stm324xg_eval.h

die Pins anpassen (Port D 12 bis 15).

und in der main.c

die "//" vor LCD_LED_Init(); wegnehmen.

Blöde ist ja nun, das der Status der LED´s nicht angezeigt wird....

von Jörg B. (joerg-sh)


Lesenswert?

Ich versuche jetzt den ADC zum laufen zu bringen.

Original ist es ADC3 den es ja auf dem DSICOVERY Board ja nicht gibt.

Ich scheine aber irgend etwas zu übersehen.
1
static void ADC_Configuration(void)
2
{
3
  ADC_InitTypeDef ADC_InitStructure;
4
  ADC_CommonInitTypeDef ADC_CommonInitStructure;
5
  GPIO_InitTypeDef GPIO_InitStructure;
6
7
  /* Enable ADC3 clock */
8
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
9
10
  /* Configure ADC Channel 7 as analog input */
11
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
12
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
13
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
14
  GPIO_Init(GPIOA, &GPIO_InitStructure);
15
16
  /* ADC Common Init */
17
  ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent;
18
  ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div6;
19
  ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled;
20
  ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles; 
21
  ADC_CommonInit(&ADC_CommonInitStructure); 
22
23
  /* ADC3 Configuration ------------------------------------------------------*/
24
  ADC_StructInit(&ADC_InitStructure);
25
  ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;
26
  ADC_InitStructure.ADC_ScanConvMode = DISABLE;
27
  ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
28
  ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None; 
29
  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
30
  ADC_InitStructure.ADC_NbrOfConversion = 1;
31
  ADC_Init(ADC1, &ADC_InitStructure);
32
33
  /* ADC3 Regular Channel Config */
34
  ADC_RegularChannelConfig(ADC1, ADC_Channel_4, 1, ADC_SampleTime_56Cycles);
35
36
  /* Enable ADC3 */
37
  ADC_Cmd(ADC1, ENABLE);
38
39
  /* ADC3 regular Software Start Conv */ 
40
  ADC_SoftwareStartConv(ADC1);
41
}

von hp-freund (Gast)


Lesenswert?


von Jörg B. (joerg-sh)


Lesenswert?

Die Version von Dennis läuft bei mir. Deine bekomme ich nicht hin.

Deswegen über ich jetzt mit Dennis seiner herum.

von Dennis P. (dennisp)


Lesenswert?

Hast du auch diese Zeile geändert?
1
ADCVal = ADC_GetConversionValue(ADC3);

von Jörg B. (joerg-sh)


Lesenswert?

Da war ich wohl von Blindheit geschlagen ;) genau das war es.

Danke Dennis

von Jörg B. (joerg-sh)


Lesenswert?

Ich Versuche gerade eine STM32F417ZGT (144 Pin) am STLINK V2 zum 
"laufen" zu bringen. Funktioniert leider noch nicht.

Was muss außer VDD, VDDA, VSS, VSSA, VCAP1+2 noch beschaltetet sein?

Das JTag habe ich laut ST Doku angeschlossen.

PDR_ON auf Masse gelegt

Was ist mit BOOT0 und BOOT1 ?

von Gnubbel (Gast)


Lesenswert?

Beim 103er muss Boot0 auf Masse liegen damit er vom Flash startet. Wenn 
der floatet kann es Probleme geben.

von Jörg B. (joerg-sh)


Lesenswert?

Das war es nicht mit Boot0
Wenn ich mit ST-Link Utility eine Verbindung herstellen will kommt:

20:23:21 : No target connected
20:23:26 : Cannot connect to ST-LINK!

danach leuchtet die LED schwach Orange würde ich sagen.

von Jörg B. (joerg-sh)


Lesenswert?

Einen Quarz braucht es doch eigentlich nicht, oder?

Gibt es ansonsten eine Möglichkeit zu testen oben die MCU "lebt" ?

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Schaue mal hier:
http://www.mikrocontroller.net/articles/JTAG#Der_10-polige_JTAG_Stecker_von_mmvisual

Ich nutze den Stecker und diese Pin-Belegung und das klappt mit SWD und 
JTAG.

von Jörg B. (joerg-sh)


Lesenswert?

Dazu müsste ich mir dann den Adapter auf 20 Pol vom STLink bauen. Für 
den Schaltungsentwurf ist es sicher zu überlegen später. Im Moment 
bringt es mich aber nicht wirklich weiter.

Ich habe jetzt die ganzen Spannungen usw. noch mal überprüft. Morgen 
werde ich noch mal einen Chip auf eine neue Adapterplatine löten. 
Vielleicht bringt das was...

von Jörg B. (joerg-sh)


Lesenswert?

Ich mal wieder ;-)

Ich arbeite mich gerade durch die stm32f4xx_dsp_stdperiph_lib mit 
TrueStudio.

Da soll ich jetzt

Add the "stm324xg_eval_sdio_sd.c" file (under 
Utilities\STM32_EVAL\STM3240_41_G_EVAL) to the project source list

Wie macht man das im TrueStudio?

Grüße und Dank an alle die mir bis jetzt geholfen haben!

Jörg

von Jörg B. (joerg-sh)


Lesenswert?

Habe es geschafft. Die Video Tutorials von Atollic sind doch sehr 
lehrreich :)

von ole (Gast)


Lesenswert?

Hi,

ich komme vom AVR und möchte für zukünftige Projekte auf 32-bit cores 
umsteigen. Das STM32F4 Discovery Board hört sich ja sehr interessant an 
:)
Wo ich noch nicht ganz durchblicke:
Das Board hat ja diesen STLink direkt drauf, sodass man im Grunde per 
USB direkt an den PC kann und keinen extra Programmer braucht. Das würde 
ich mir gerne für mein eigenes Board klauen :) Also STM32F4 und davor 
direkt so einen STLink. Leider habe ich bisher weder Schematics vom 
Discovery-Board, noch konkretere Hinweise gefunden, wie sowas zu 
realisieren wäre. Hat da jemand schon Ehrfahrungen gemacht, die er 
teilen würde ?

gruß

von Helmut L. (helmi1)


Lesenswert?

ole schrieb:
> Leider habe ich bisher weder Schematics vom
> Discovery-Board,

Die gibt es bei ST auf der Webseite.

von klaus (Gast)


Lesenswert?

Helmut Lenzen schrieb:
>> Leider habe ich bisher weder Schematics vom
>> Discovery-Board,
>
> Die gibt es bei ST auf der Webseite.

Gibt den die Firmware für den eingesezten µC beim STLink zum selber 
"brennen"?

von Gerhard G. (xmega)


Lesenswert?

Hallo,


> Leider habe ich bisher weder Schematics vom
> Discovery-Board, noch konkretere Hinweise gefunden

Hier das Board:

http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/USER_MANUAL/DM00039084.pdf

Gruß xmega

von Thomas R. (tinman) Benutzerseite


Lesenswert?

klaus schrieb:
>
> Gibt den die Firmware für den eingesezten µC beim STLink zum selber
> "brennen"?


klar, und passende STM32 "samples" noch dazu
wo? na auf dem STM32F4Discovery board, der STM32F407VGT6
kostet einzeln mehr als auf dem board, so gesehen ist
der STLink kostenlos und schon sogar vorprogrammiert
und getestet (wieder zeit gesparrt)

von ole (Gast)


Lesenswert?

Danke für die schnellen Antworten! Hab die Schematics übersehen...

von Jörg B. (joerg-sh)


Lesenswert?

Ich versuche immer noch mein selbst gebautes Board zum laufen zu 
bringen.

Klappt soweit auch, bin mir jetzt nur nicht sicher ob der Externe Takt 
läuft.

Wenn ich mit Atollic ein neues Projekt mache, dann gibt es nur einen 
loop wo 1 Variable hoch gezählt wird. Das lässt sich auch Debuggen.

Meine Frage, wird da der interne Takt benutzt oder der externe?

von Max P. (eizo)


Lesenswert?

ole schrieb:
> Das Board hat ja diesen STLink direkt drauf, sodass man im Grunde per
> USB direkt an den PC kann und keinen extra Programmer braucht. Das würde
> ich mir gerne für mein eigenes Board klauen :)

Das wird so ohne weiteres nicht gehen, wenn du nicht die Firmware für 
den kleine Controller hast, der als ST Link programmiert ist. Du kannst 
aber so ein STM32F4Discovery Board nehmen um andere Controller zu 
programmieren und zu Debuggen über die SWD Pin-Leiste. Musst nur die ST 
Link Jumper setzen/wegnehmen. Somit hast du dein Programmer und Debugger 
für 16 Euro.

von Matthias K. (matthiask)


Lesenswert?

Jörg B. schrieb:
> Meine Frage, wird da der interne Takt benutzt oder der externe?

ja, aber der µC läuft nur mit knapp 54MHz, weil die STM FW Lib von einen 
25MHz Quarz ausgeht, aber nur ein 8MHz auf dem Discovery verbaut ist.

Wenn Du die 168MHz erreichen willst, musst Du folgendes ändern

In der "system_stm32f4xx.c" PLL_M auf 8 ändern
/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
#define PLL_M      8   /* 25 */
#define PLL_N      336 /* 336 */

und
HSE_VALUE = 8000000
in den Projektproperties von Atollic als globales Sysmbol eintragen.

Dann läuft das System mit externen Quarz und 168MHz.

von Olli (Gast)


Lesenswert?

Guten Morgen!

Hat zufällig noch jemand ein ungeflashtes Board rumliegen oder noch ein 
Backup? Ich hätte gerne nochmal das Binary von dem Demo-Programm, was 
bei der Auslieferung drauf war.

(Also das mit den LEDs, die in Abhängigkeit von der Lage blinken und der 
Maus-Emulation).

Danke und gute Nacht,
Olli

von Christoph H. (mc-entwickler)


Lesenswert?

Das findest unter 
STM32F4-Discovery_FW_V1.1.0/Project/Demonstration/Binary

von Jörg B. (joerg-sh)


Lesenswert?

Ich versuche seit Stunden das Demo Projekt Audio_playback_and_record als 
Media USB Key so einzurichten, dass man es verändern , sprich codefiles 
hinzufügen kann.

Compilieren lässt es sich nur wenn man die source nicht mit kopiert beim 
Import nach TrueStudio.


Ich habe mir also die Mühe gemacht es in ein neues Projekt zu kopieren.

Jetzt kommt aber immer der Fehler:

fatal error: ARMCM4.h: No such file or directory  arm_math.h 
/MEDIA_USB_KEY/Libraries/CMSIS/Include  line 263  C/C++ Problem

Hat jemand da einen Tip?

Grüße

von Helmut L. (helmi1)


Lesenswert?

Jörg B. schrieb:
> fatal error: ARMCM4.h: No such file or directory  arm_math.h
> /MEDIA_USB_KEY/Libraries/CMSIS/Include  line 263  C/C++ Problem

Hast du diese Datei nicht? Die ist in 
STM32F4-Discovery_FW_V1.1.0\Libraries\CMSIS\Include

Kann auch sein das dein Suchpfad für includes nicht richtig gesetzt ist.

von Jörg B. (joerg-sh)


Lesenswert?

Ok das hab ich nun gefunden.

Keine Ahnung warum, aber es werden sämtliche Beispiele in 
Unterverzeichnissen mit compiliert...

von Jörg B. (joerg-sh)


Lesenswert?

Ich werde Morgen das ganze noch mal von vorne machen und die Libs nicht 
mit ins Verzeichnis, ich glaube das ist mein Fehler gewesen.

von Gerhard G. (xmega)


Angehängte Dateien:

Lesenswert?

Hallo,

> Compilieren lässt es sich nur wenn man die source nicht mit kopiert beim
> Import nach TrueStudio.

Mit TrueSTUDIO v2.2 konnte man wunderbar importieren.

Mit TrueSTUDIO v2.3 geht gar nichts mehr.

Ich verwende mittlerweile die Keil-Software. Da funktioniert alles.

Nochmals zum TrueSTUDIO-Problem: wenn du unter der alten Version was 
erstellt hast, kann man es auch für die neue Version verwenden.

Man kann aber ein leeres STM32F4DISCOVERY-Board Projekt erstellen und 
die neuen Dateien (aus anderen Projekten) rein kopieren! Das haut super 
hin.

Als Anlage ein funktionierendes Projekt.

Gruß xmega

von Jörg B. (joerg-sh)


Lesenswert?

Ich habe es jetzt auch noch mal mit der 2.2 Version probiert. Damit 
funktioniert der Import mit kopieren der Sourcen nicht....

von Gerhard G. (xmega)


Lesenswert?

Hallo,

holst du die Daten von hier: STM32F4-Discovery_FW_V1.1.0/Projekte

Ich hab mir mit der Version  TrueSTUDIO v2.2  alle Projekt in meinem 
Workspace angelegt.

Kannst du nur das Demo Projekt Audio_playback_and_record nicht starten 
oder gehen andere Projekte auch nicht?

Gruß xmega

von Jörg B. (joerg-sh)


Lesenswert?

Genau aus der STM32F4-Discovery_FW_V1.1.0/Projekte

Wenn ich die Sourcen nicht kopieren lassen dann laufen die projekte. 
Egal ob 2.2 oder 2.3

Wenn ich mit kopieren importiere wir zwar einiges kopiert, ab längst 
nicht alles.

Mich interessiert nur das Media_USB_KEY Projekt. Wenn du es exportieren 
kannst als Zip hätte ich das Zip dann gerne ;)

von Gerhard G. (xmega)


Angehängte Dateien:

Lesenswert?

Hallo,

als erstes mal MEDIA_USB_KEY.axf mit Keil µVision4 erzeugt.

Funktioniert bei mir!

Leider habe ich gerade das Teil nicht im Workspace. Vieleicht hat es 
auch nicht funktioniert! Ich weis es nicht mehr.

Ich würde dir empfehlen, die neue Keil µVision4 zu installieren.

Hier funktioniert wirklich alles. Die kennt das STM32F4-Discovery-Board 
und den St-Link.

Ich werde mich mal in den nächsten Tagen mit deinem Problem 
beschäftigen.


Gruß xmega

von Gerhard G. (xmega)


Angehängte Dateien:

Lesenswert?

Hallo,

hab ich vergessen!

Das Programm als Hex-File.

Das kannst du mit dem STM32 ST-LINK Utility flashen.

Gruß xmega

von Jörg B. (joerg-sh)


Lesenswert?

Hallo Gerhard,
ich bekomme das Programm ja compiliert, nur bekomme ich es nicht 
verändert.
Wie schon geschrieben, das Problem ist, dass ich es nicht aus dem 
Beispiel Projekt heraus "mit kopieren der Source" in das Workspace von 
Atollic bekomme.

Gruß

Jörg

von Gerhard G. (xmega)


Lesenswert?

Hallo Jörg,

Fehler gefunden, es funktioniert nur, wenn man keine Kopie im Workspace 
anlegt. Also Häckchen bei Copy projects into workspace entfernen!

Beide Anwendungen laufen dann sofort und fehlerfrei.

Getestet mit Atollic 2.3

Viel Spaß und Gruß xmega

von Jörg B. (joerg-sh)


Lesenswert?

Hallo Gerhard,
das habe ich doch schon ein paar mal geschrieben.

Ich will die aber kopieren!!!! Weil ich das Projekt dann erweitern / 
ändern möchte.

Versuch mal in das User Verzeichnis eine Datei einzufügen... die 
erscheint dann gleich 2 mal im Dateibaum und es gibt compilerfehler 
dadurch...

Das echt alles großer Mist, ich möchte allerdings nicht weg von Atollic, 
die 30 K Codebegrenzung ist mir ein Dorn im Auge bei Keil.

Gruß

Jörg

von Olli (Gast)


Lesenswert?

@ Christoph: Danke, habs gefunden! ;)


Ich versuche nun schon seit Tagen das alles mir unter Mint/Debian 
einzurichten und bin auch schon zwei Anleitungen befolgt:

http://www.mikrocontroller.net/articles/STM32F4-Discovery
http://de.system-failures.org/projects/stm32f4discovery-board-unter-linux/

Aber irgendwie bringt mir das rein gar nichts. Ich bekomme nichts 
kompiliert, da der die "cstart_thumb2.asm" nicht kompilieren möchte:
1
Building file: ../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm
2
Invoking: ARM Sourcery Linux GCC Assembler
3
arm-none-eabi-gcc -x assembler-with-cpp -Wall -Wa,-adhlns="CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.o.lst" -c -fmessage-length=0 -MMD -MP -MF"CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.d" -MT"CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.d" -mcpu=cortex-m4 -mthumb -g3 -gdwarf-2 -o "CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.o" "../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm"
4
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm: Assembler messages:
5
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:3: Error: bad instruction `to allow the use of this file for both ARMv6M and ARMv7M,'
6
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:4: Error: bad instruction `we will only use 16-bit Thumb intructions.'
7
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:6: Error: bad instruction `usr/sys mode stack pointer'
8
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:7: Error: bad instruction `symbol required by debugger'
9
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:8: Error: bad instruction `rom to RAM copy table'
10
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:21: Error: non-constant expression in ".if" statement
11
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:24: Error: non-constant expression in ".if" statement
12
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:35: Error: bad instruction `anticipate possible ROM/RAM remapping'
13
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:36: Error: bad instruction `by loading the 114eal32program address'
14
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:40: Error: bad instruction `initialize the stack pointer'
15
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:41: Error: bad instruction `make this part of the vector table'
16
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:44: Error: bad instruction `call the clock system intitialization function.'
17
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:47: Error: bad instruction `copy initialized sections from ROM to RAM'
18
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:48: Error: ARM register expected -- `and clear uninitialized data sections in RAM'
19
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:53: Error: bad instruction `load type'
20
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:54: Error: bad instruction `dst address'
21
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:55: Error: bad instruction `src address'
22
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:56: Error: bad instruction `size'
23
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:65: Error: instruction not supported in Thumb16 mode -- `subs r7,r7,#1'
24
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:70: Error: instruction not supported in Thumb16 mode -- `adds r3,r3,#16'
25
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:74: Error: instruction not supported in Thumb16 mode -- `subs r7,r7,#1'
26
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:78: Error: instruction not supported in Thumb16 mode -- `adds r3,r3,#16'
27
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:84: Error: non-constant expression in ".if" statement
28
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:93: Error: bad instruction `load r10 with end of USR/SYS stack,which is'
29
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:94: Error: bad instruction `needed in case stack overflow checking is on'
30
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:95: Error: symbol `NOTE' is already defined
31
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:95: Error: bad instruction `use 16-bit instructions only,for ARMv6M'
32
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:101: Error: non-constant expression in ".if" statement
33
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:105: Error: non-constant expression in ".if" statement
34
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:109: Error: bad instruction `retrieve argc and argv(default argv[0]==NULL&argc==0)'
35
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:112: Error: bad instruction `call main'
36
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:116: Error: bad instruction `call exit using the return value from main()'
37
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:117: Error: unexpected character ` ' in type specifier
38
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:117: Error: bad instruction `note. Calling exit will also run all functions'
39
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:118: Error: bad instruction `that were supplied through atexit().'
40
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:121: Error: bad instruction `weak definition'
41
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:126: Error: unknown pseudo-op: `.endsec'
42
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:128: Error: unknown pseudo-op: `.calls'
43
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:129: Error: unknown pseudo-op: `.calls'
44
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:130: Error: non-constant expression in ".if" statement
45
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:135: Error: end of file inside conditional
46
../CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.asm:130: Error: here is the start of the unterminated conditional
47
make: *** [CMSIS/Device/ST/STM32F4xx/Source/Templates/TASKING/cstart_thumb2.o] Fehler 1

Bitte helft mir...

von hp-freund (Gast)


Angehängte Dateien:

Lesenswert?

@Olli,
was genau hast Du vor? Willst Du etwas an den gemeldeten Dateien ändern 
oder nur den Auslieferungszustant wieder herstellen?
Im zweiten Fall leg einfach das Makefile in den gleichen Ordner in dem 
sich auch das originale STM32F4-Discovery_FW_V1.1.0 befindet und starte 
make.

Es wird nichts in STM32F4-Discovery_FW_V1.1.0 verändert.

Das ist dann dein Part ;-)

Ich benutze linux/gcc/eclipse.

von hp-freund (Gast)


Lesenswert?

Zustand meine ich natürlich :)

von Olli (Gast)


Lesenswert?

Ich hätte vielleicht genauer sagen sollen, was ich vor habe:
Ich wollte eigentlich "nur" das Blink-Beispiel aus dem Wiki hier zu dem 
Board in Eclipse kompilieren, und dann per QSTLink flashen.

Das mit dem Demo-Programm war ne andere Sache.

Aber ich danke schonmal fürs Makefile, ich probiere das mal ohne den 
Umweg über Eclipse....

von hp-freund (Gast)


Lesenswert?

Du kannst ein neues Makefile Projekt in eclipse anlegen und:

STM32F4-Discovery_FW_V1.1.0/
Makefile

in den Ordner kopieren. Dann hast Du schon dein Projekt.

von Olli (Gast)


Angehängte Dateien:

Lesenswert?

Okay, das geht schonmal - DANKE!

Und wie mache ich das dann bspw. bei dem genannten Blink-Beispiel?
Ich habe in Projects den Ordner Blink angelegt mit der main.c und der 
stm32f4xx_conf.h und das Makefile versucht ein wenig anzupassen. Aber 
das will nicht so wirklich:
1
....
2
make: *** Keine Regel vorhanden, um das Target »arm-none-eabi-gcc«, 
3
  benötigt von »Blink.elf«, zu erstellen.  Schluss.

Im Anhang ist das akuelle Makefile.

Aber wirklich ergonomisch ist auch anders wenn man für jedes Projekt das 
komplette Makefile wieder umkrempeln muss, oder?!?

von hp-freund (Gast)


Lesenswert?

Olli schrieb:
> Aber wirklich ergonomisch ist auch anders wenn man für jedes Projekt das
> komplette Makefile wieder umkrempeln muss, oder?!?

Das ist der Preis für die kostenlose Freiheit.

Zum Makefile:
-ich gehe mal davon aus das Du den Project/Blink Ordner auch erstellt 
hast
-als nächtes arbeite einfach die Fehler der Reihe nach ab
--stm32f4xx_conf.h: Datei oder Verzeichnis nicht gefunden
  > such die Datei und gib ihren Pfad als include mit an

von Olli (Gast)


Lesenswert?

Um die Datei geht es ja gar nicht, die ist ja da.
Meine Struktur sieht momentan so aus:

.
|
STM32F4-Discovery_FW_V1.1.0
|
-> Project
   |
   -> Blink
   |   |
   |   -> main.c
   |   -> stm32f4xx_conf.h
   |
   -> Demonstration
   |   |
   |   -> ....
   |
   -> ....

Das Problem ist eben, dass das Makefile irgendwie fehlerhaft ist und 
eben den Fehler zurückgibt, dass es für "arm-none-eabi-gcc" nix zu tun 
gäbe, was ja auch kein Wunder ist...

von Martin M. (capiman)


Lesenswert?

Kann es sein, dass ein "\" zuviel drin ist:

$(EXECUTABLE):   $(PP)main.c  \
  $(TOP)/STM32F4-Discovery_FW_V1.1.0/Libraries/CMSIS/ST/STM32F4xx/Source/T 
emplates/gcc_ride7/startup_stm32f4xx.s  \
  $(CC) $(CFLAGS) $^ -o $@  -L$(TOP) -lSTM32F4xx_StdPeriph_Driver

Ich meine, dass der hinter startup_stm32f4xx.s
(Forum bricht Zeile um, deshalb schaut es noch komischer aus)
zuviel ist ?

von hp-freund (Gast)


Lesenswert?

@ Martin,
stimmt.

@ Olli,
ich hab mal mit eclipse das Projekt erstellt. Häng mal bitte deine 
main.c und stm32f4xx_conf.h an.

von hp-freund (Gast)


Lesenswert?

War nur ein kleines Problem.
Setz mal hinter dem oben erwähnten \ noch $(PP)system_stm32f4xx.c ein 
und kopiere die system_stm32f4xx.c in dein Project/Blink Ordner.
Dann klappts...

von Olli (Gast)


Angehängte Dateien:

Lesenswert?

So, da bin ich wieder und es geht!

Im Anhang ist nun das laufende Makefile und der Blink-Projekte-Ordner.
Ich habe das Makefile noch eben so angepasst, dass ich nur noch die 
binär-Datei habe, mehr brauche ich ja nicht.

Aber wenn sich vielleicht doch noch einer zu meinem anfänglichem 
Eclipse-kompiliert-nicht-Probelm zu wenden könnte, wäre das noch besser 
- ich mag es in der Hinsicht eben vielleich doch zu Klicki-Bunti, alles 
aus der IDE heraus... Und nicht immer jedes Projekt das komplette 
Makefile neustricken zu müssen.

Aber Danke schonmal an euch beiden!

von Olli (Gast)


Lesenswert?

Und noch eine Kleinigkeit - gibt es eine Möglichkeit, dass er eben nicht 
jedes Mal ALLES neukompiliert - also die ganzen Libs usw., die er auch 
nicht mal braucht, aber trotzdem in den Ordner mit drin sind? Sonder 
einfach nur das, was sich ändert, wie zb die Main.c ?

von hp-freund (Gast)


Lesenswert?

Olli schrieb:
> Aber wenn sich vielleicht doch noch einer zu meinem anfänglichem
> Eclipse-kompiliert-nicht-Probelm

Hab deinen Namen auf dieser Seite gesucht und gefunden, aber nicht das 
eclipse Problem. Was fehlt?

Olli schrieb:
> gibt es eine Möglichkeit, dass er eben nicht
> jedes Mal ALLES neukompiliert

Wenn Du alles compiliert hast, nimm z.B. libSTM32F4xx_StdPeriph_Driver.a 
aus
all: und clean: heraus. Dann wird es nicht neu übersetzt.

von Olli (Gast)


Lesenswert?

Mein eigentliches Problem war, dass scheinbar was mit den 
Projekteinstellungen oder so in Eclipse nicht hinhaut, da er haufenweise 
Fehler beim Kompilieren der einen asm-Datei rauswirft:
Beitrag "Re: Billiges Cortex-M4-Board STM32F4DISCOVERY jetzt erhältlich"

von hp-freund (Gast)


Lesenswert?

Ist das den jetzt auch noch so wenn Du das Makefile Projekt neu anlegst?

Beitrag "Re: Billiges Cortex-M4-Board STM32F4DISCOVERY jetzt erhältlich"

von hp-freund (Gast)


Lesenswert?

Mein Ablauf:

File -> New -> C Projekt

Project name: eintragen

Project Type: Makefile Project -> Empty Project

Toolchains: ARM Linux GCC (Sourcery G++ Lite)

Makefile und den Ordner in das Projekt kopieren.

Wenn bis dahin alles in Ordnung ist kommen wir zum nächsten Schritt.

von Olli (Gast)


Lesenswert?

Nein, aber hat aber eben den besagten Nachteil immer alles neu und 
manuell machen zu müssen. Wozu nutzt man denn eine IDE, wenn man im 
Endeffekt alles wieder selbst macht?
Das Rumfrickeln am Code kann ich auch in der Konsole machen....

von hp-freund (Gast)


Lesenswert?

Ok.

von Olli (Gast)


Lesenswert?

Tut mir leid, habe deinen zweiten Beitrag zu spät gesehen.
Ok, bin so weit (wenn du mir bitte noch helfen möchtest)

von hp-freund (Gast)


Lesenswert?

Na gut ;)
Ist bis dahin alles in Ordnung?

von Olli (Gast)


Lesenswert?

Also ich habe bisher im Ordner "HalloWelt" das Makefile und den Ordner 
"Blink" mit (jeweils aus dem Archiv, was ich vorhin hochlud).

von hp-freund (Gast)


Angehängte Dateien:

Lesenswert?

So sieht das bei mir aus:

Bei dir steht dann HalloWelt als Projektname wo bei mir F4-Blink steht?
Der Rest muss stimmen damit das Makefile passt.

von Olli (Gast)


Lesenswert?

Genau so siehts aus, nur dass ich noch 21 Fehler habe und der Pfad zur 
und inlusive der \Blink\main.c mit einem roten Kreuz (wegen der Fehler) 
versehen ist.

Die Fehlerlsite:
1
Description  Resource  Path  Location  Type
2
Symbol 'GPIO_Pin_12' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 17  Semantic Error
3
Symbol 'GPIO_Pin_12' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 27  Semantic Error
4
Symbol 'GPIO_Pin_12' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 35  Semantic Error
5
Symbol 'GPIO_Pin_12' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 41  Semantic Error
6
Symbol 'GPIO_Pin_12' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 47  Semantic Error
7
Symbol 'GPIO_Pin_13' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 17  Semantic Error
8
Symbol 'GPIO_Pin_13' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 29  Semantic Error
9
Symbol 'GPIO_Pin_13' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 33  Semantic Error
10
Symbol 'GPIO_Pin_13' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 41  Semantic Error
11
Symbol 'GPIO_Pin_13' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 47  Semantic Error
12
Symbol 'GPIO_Pin_14' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 17  Semantic Error
13
Symbol 'GPIO_Pin_14' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 29  Semantic Error
14
Symbol 'GPIO_Pin_14' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 35  Semantic Error
15
Symbol 'GPIO_Pin_14' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 39  Semantic Error
16
Symbol 'GPIO_Pin_14' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 47  Semantic Error
17
Symbol 'GPIO_Pin_15' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 17  Semantic Error
18
Symbol 'GPIO_Pin_15' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 29  Semantic Error
19
Symbol 'GPIO_Pin_15' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 35  Semantic Error
20
Symbol 'GPIO_Pin_15' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 41  Semantic Error
21
Symbol 'GPIO_Pin_15' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 45  Semantic Error
22
Symbol 'RCC_AHB1Periph_GPIOD' could not be resolved  main.c  /Blink/STM32F4-Discovery_FW_V1.1.0/Project/Blink  line 14  Semantic Error

Das Makefile läuft trotzdem problemlos durch.

von hp-freund (Gast)


Lesenswert?

GPIO_Pin_12 und RCC_AHB1Periph_GPIOD wird also vermisst.


RCC_AHB1Periph_GPIOD  wird in stm32f4xx_rcc.h  und
GPIO_Pin_12           wird in stm32f4xx_gpio.h definiert.

Die befinden sich beide in deiner stm32f4xx_conf.h .
Füge die mal in deine main.c ein.
Ausserdem ist damit dann doch meine lib erforderlich oder Du compilierst 
die beiden .c Dateien zu den .h unter $(EXECUTABLE): mit ein.

von Olli (Gast)


Lesenswert?

Okay, habe ich - keine Fehler und kompiliert. Aber das ist ja immer noch 
nicht wirklich das, was ich ja wollte...

Das ist ja wieder genau das selbe wie vorher - dass man sich das 
Makefile selbst zusammenfrickeln darf, dass man nur ein Makefile hat 
usw..
Was ich gerne hätte ist, dass man einfach ein neues Projeket erstellt, 
in der main.c landet, seinen Code reinjagt, auf compile klickt und alles 
fertig ;)

So, wie es eigentlich ja auch das Ziel hier von ist: 
http://www.mikrocontroller.net/articles/STM32F4-Discovery Wenn man eben 
das da alles durchmacht, taucht aber bei mir das Problem mit der 
"cstart_thumb2.asm" auf.


Oder bin ich einfach nur zu sehr von den ATmega verwöhnt? :D

von hp-freund (Gast)


Lesenswert?

Ich habe den Beitrag nicht so exakt befolgt.

Meine Variante ist jetzt das Projekt einfach zu kopieren. Name und Pfad 
im Makefile ändern, deine Projektdaten in den neuen Pfad kopieren und 
ändern.
Wenn Du noch debuggen willst, natürlich noch die Einstellungen 
vornehmen.

Das mach ich schon eine Weile so - ist nicht sooo schwierig ;-)

von Jörg B. (joerg-sh)


Lesenswert?

Ich habe es heute geschafft das ganze noch mal neu zu machen.

Inzwischen findet Atollic auch alle files.  Es ist wohl nicht so gut das 
Workspace unter Windows 7 ins C:/ root zu machen...

jetzt meckert der Compiler folgendes:

 #error  "USB_OTG_HS_CORE or USB_OTG_FS_CORE should be defined"

wobei der Text nach dem error egal ist.

Ich vermute, dass ich irgendwo einen Compiler Schalter setzen muss oder 
so was?

Gruß

Jörg

von hp-freund (Gast)


Lesenswert?

Jörg B. schrieb:
> Ich vermute, dass ich irgendwo einen Compiler Schalter setzen muss oder
> so was?

Für das Projekt "Demonstration" habe ich im Makefile:

#usb_conf.h
CFLAGS+=-DUSE_USB_OTG_FS=1

eingesetzt.

von Jörg B. (joerg-sh)


Lesenswert?

Ich habe jetzt an den Support von Atollic geschrieben, mal sehen ob die 
Helfen wollen....

von Marco W. (watz)


Lesenswert?

Hab jetzt auch zwei der Boards. Die Anleitung hier 
http://www.mikrocontroller.net/articles/STM32_Eclipse_Installation 
funktioniert immer noch prima.

Weiß jemand, wie man diese nervigen Meldungen des Debuggers hier 
loswerden kann ?

warning: RMT ERROR : failed to get remote thread list.
warning: RMT ERROR : failed to get remote thread list.
warning: RMT ERROR : failed to get remote thread list.
warning: RMT ERROR : failed to get remote thread list.
warning: RMT ERROR : failed to get remote thread list.


Danke & Gruß,
Watz

von hp-freund (Gast)


Lesenswert?


von Jörg B. (joerg-sh)


Lesenswert?

Zu dieser Codezeile
1
static void SD_Panic(uint32_t code, uint8_t *message);

bekomme ich diese Warnung:

Multiple markers at this line
  - Line breakpoint: SDIO.c [line: 8]
  - expected 'uint8_t *' but argument is of type


was bedeutet das???

von Christian G. (christian_g83)


Lesenswert?

Jörg B. schrieb:

> Multiple markers at this line
>   - Line breakpoint: SDIO.c [line: 8]
>   - expected 'uint8_t *' but argument is of type
>
>
> was bedeutet das???

Das bedeutet, dass sich an fraglicher Zeile zwei Markierungen befinden: 
die erste zeigt Dir an, dass dort ein Breakpoint gesetzt ist, die zweite 
kennzeichnet einen Fehler im Quelltext.

Bei dem Fehler handelt es sich um einen Typfehler. Das Argument der 
Funktion muss vom Typ "Zeiger auf uint8_t" sein. Es ist aber vom Typ

HTH,

Christian

von Jörg B. (joerg-sh)


Lesenswert?

Manches ist doch echt unergründlich.
Ich hatte bis heute noch keine Zeit mir die Fehlermeldung / Warnung 
nochmals anzusehen. Heute ist der Fehler keiner mehr....

Bye the way @ xmega, ich habe es endlich geschafft das Projekt zu 
Importieren.
Es dauert etwas bis man hinter die "links" von TrueStudio steigt. Jedes 
Header und C File, welches sich nicht im Pfad des Projektes befindet 
muss einzeln unter Properties --> Resources --> Linked Resources 
eingegetragen werden.
Dann mussten noch einige Umgebungsvariablen gesetzt werden die man sich 
am besten aus dem Original Projekt kopiert.

Dann muss noch das Librarie eingetragen werden.   Nicht wie es als File 
"libPDMFilter_GCC.a" heißt, sondern als   "PDMFilter_GCC" und den 
Entsprechenden Pfad.

von Andreas S. (igel1)


Lesenswert?

Liebe Forengemeinde,

als absoluter Gelegenheitsprogrammierer habe ich eine Trivialfrage,
an der ich derzeit scheitere:

Nach Basis-Installation von Atollic TrueSTUDIO Lite 2.3.0 habe ich
versucht, das im "Getting Started" Guide vom Discovery-Board
beschriebene Projekt einzubinden und zu übersetzen.

Das Einbinden des Projektes funktioniert ja noch, aber dann kommt
der Versuch, das Projekt zu "builden".

Dabei erhalte ich folgende Fehlermeldung:
arm-atollic-eabi-gcc: 
..\..\..\..\..\Libraries\CMSIS\ST\STM32F4xx\Source\Templates\TrueSTUDIO\ 
startup_stm32f4xx.s:  No such file or directory

Ich vermute, daß hier offenbar das Assembler-File startup_stm32f4xx.s
nicht gefunden wird - ich weiß nur nicht, warum es nicht gefunden
wird und wie ich die Sache fixen kann.

Jede Hilfe ist willkommen.

... und entschuldigt bitte die dumme Frage - ich prutschel nun
schon 2h daran herum.

Viele Grüße

Igel1

von Jörg B. (joerg-sh)


Lesenswert?

Hallo Igel,
welches Beispiel denn???

Kopiere dir am besten die Beispiele komplett in dein Workspace und dann 
beim Importieren nicht den Haken für das kopieren machen.

So sollten eigentlich alle Beispiele von ST laufen.

Wenn du Windows 7 benutzt, dann bitte das Workspace nicht ins Root C 
sondern in deine Eigenen Dokumente.  Ich hatte da auch schon 
Zugriffsprobleme im Root.


Gruß

Jörg

von Andreas S. (igel1)


Lesenswert?

Danke an Jörg für seine Hinweise (toll, daß es immer wieder so 
hilfsbereite, engagierte Leutchen gibt). Ich hatte es kurz zuvor nach 
ein paar weiteren Stündchen Ausprobieren inzwischen auch herausgefunden:

Es hat irgendetwas mit den Pfaden zu tun ...

Meine derzeitige Vermutung:

Offenbar dürfen die Workspace-Verzeichnisse oder die 
Projektverzeichnisse nicht "zu tief" im Dateisystem liegen. Ich bin 
allerdings zu faul die genaue Verzeichnistiefe oder mögliche verbotene 
Sonderzeichen in Pfadnamen herauszufinden.

Nachdem ich den Verzeichnisnamen von "STM32F4-Discovery_FW_V1.1.0" auf 
"STM32F4-Discovery_FW" gekürzt habe, funktioniert's.

Ich muß schon sagen: tolle Software :-(

Viele Grüße

Igel1

von Manfred H. (mhen)


Lesenswert?

Guten Morgen Kollegen,

ich würde gerne einen Hinweis im Wiki unterbringen, mit Bezug zum 
"St-Link" und Linux.
Die dort (www.mikrocontroller.net/articles/STM32F4-Discovery#stlink) 
angegebenen Schritte habe ich hier - aktuelles Ubuntu - nachgearbeitet 
und war zunächst erfolglos, sprich, das Board blinkte nach Einstecken 
der USB-Verbindungen nur munter vor sich hin, aber keine Chance, den 
Flashinhalt versuchsweise auszulesen.
Das Geheimnis liegt in den beiden Jumpern, die für diesen Zweck 
BOOT0/VDD und PB2/GND verbinden (müssen).
Ich halte einen kurzen Hinweis darauf im Wiki beim Thema "ST-Link" für 
nützlich, weiß jedoch nicht, ob ich als stiller Mitleser und 
"Laienschauspieler" selbst Hand anlegen sollte...?
Im Übrigen verschweigt das User Manual zum STM32F4-Discovery der 
ST-Dokumentation oder ich habe es schlicht überlesen, dass ein Zugriff 
per ST-LinkV2 über die Micro-USB-Buchse möglich ist, stattdessen wird 
diesbezüglich nur auf die SWD-Pfostenleiste verwiesen und die 
Micro-USB-Buchse als OTG-Schnittstelle erwähnt.

Manfred

von chris (Gast)


Lesenswert?

Hallo Zusammen,

kann man mit stlink auch ein ELF-File aus der Kommandozeile oder über 
ein einfaches Scribt flashen.
Bei mir läuft das stlink, aber leider Eclipse nicht. Ich kann das Flash 
mit stlink auslesen. Jetzt würde ich gerne das Blink-Demo flashen.

von Jörg B. (joerg-sh)


Lesenswert?

Ein ELF-File flashen? Du kannst ein .hex file mit dem ST-Link-Utility 
flashen.

von Martin M. (capiman)


Lesenswert?

ELF -> HEX geht mit folgendem Kommando:

arm-none-eabi-objcopy --output-target ihex test.elf test.hex

Das Programm "arm-none-eabi-objcopy" war bei meinem Compiler (GCC)
mit dabei.

von chris (Gast)


Lesenswert?

>arm-none-eabi-objcopy --output-target ihex test.elf test.hex

Danke, die Umwandlung hat funktioniert. Allerdings blinkt leider nichts. 
Das DEMO-Programm ist auf jeden Fall gelöscht.
Beim zweiten Versuch des "Flashens" erhalte ich folgendes:

 ./flash write blink.hex $80000000
2012-02-19T21:52:29 INFO src/stlink-common.c: Loading device 
parameters....
2012-02-19T21:52:29 INFO src/stlink-common.c: Device connected is: F4 
device, id 0x20006411
2012-02-19T21:52:29 INFO src/stlink-common.c: SRAM size: 0x30000 bytes 
(192 KiB), Flash: 0x100000 bytes (1024 KiB) in pages of 16384 bytes
stlink_sram_flash() == -1

Was bedeutet stlink_sram_flash==-1 ??

von Dirk B. (garag)


Lesenswert?

Wenn es sich um das stlink Utility unter Linux handelt, benötigt das 
flash Utility ein Binär Datei und keine Hex Datei. Das kann man auch mit 
objcopy aus der ELF Datei erzeugen. Einfach mal die manpage von objcopy 
anschauen.

von Martin M. (capiman)


Lesenswert?

ELF -> BIN:
arm-none-eabi-objcopy --output-target binary test.elf test.bin

von chris (Gast)


Lesenswert?

>Wenn es sich um das stlink Utility unter Linux handelt, benötigt das
>flash Utility ein Binär Datei und keine Hex Datei.
Ähem, peinlicher Fehler meinerseits ;-)
Da ich mit dem Flash-Tool mit Linux aus der Kommandozeile Probleme 
hatte, hbae ich das Windows-STLINK verwendet. Damit konnte ich das 
Orginal-Demo auf das STM32-Discovery zurückflashen.
Vielen Dank vorerst für eure Hilfe.

von uli (Gast)


Lesenswert?

und ja, es ist immer noch OT ;))

Sag mal, Simon, wie zufrieden bist Du denn mit DIESEM deLuxe Radl ?
<neid>

von uli (Gast)


Lesenswert?

>> Für Jörg B.

sag mal, hast Du das auf Keil inzwischen gängig bekommen ?
so wie ich gelesen habe, braucht es zwingend  uV >= 4.22
und die Installation des Devices Treibers für den ST-Link musste ich 
zuerst händisch anstoßen

>> liegt beim Standard install hier:

c:\Keil\ARM\STLink\USBDriver\ST-Link_V2_USBdriver.exe
11,4 M  20.09.2011 10:40


grüßings
uli

von erhardd (Gast)


Lesenswert?

@Andreas S.

Du schreibst:

Andreas S. schrieb:
> Nach Basis-Installation von Atollic TrueSTUDIO Lite 2.3.0 habe ich

Wenn Du *.bin oder *.hex benötigst, füge doch im ATOLLIC unter 
Properties
--> C/C++ Build --> Settings --> BuildSteps Post-Build Steps folgendes 
ein:

arm-none-eabi-size ${BuildArtifactFileName};  arm-none-eabi-objcopy -O 
binary ${BuildArtifactFileName} ${BuildArtifactFileBaseName}.bin ; 
arm-none-eabi-objcopy -I binary ${BuildArtifactFileBaseName}.bin -O ihex 
;arm-none-eabi-objcopy -I binary ${BuildArtifactFileBaseName}.bin -O 
ihex ${BuildArtifactFileBaseName}.hex;

... dann kannst'e auswählen;

von erhardd (Gast)


Lesenswert?

... http://ilektron-x.blogspot.com/search/label/lpc
hier hat der Autor die Anpassungen für ebenfalls Eclipse-basierend NXP 
be-
schrieben;
...die 3.Zeile entfällt;

arm-none-eabi-size ${BuildArtifactFileName};  arm-none-eabi-objcopy -O 
binary ${BuildArtifactFileName} ${BuildArtifactFileBaseName}.bin ; 
arm-none-eabi-objcopy -I binary ${BuildArtifactFileBaseName}.bin -O ihex 
${BuildArtifactFileBaseName}.hex;

von Uli (Gast)


Angehängte Dateien:

Lesenswert?

Lieferant für Kabel/Adapter für USB Host Betrieb gesucht.

nach dem Manual (siehe Bild) handelt es sich hier um ein USB micro A 
male Kabel nach USB A female.

Bei Reichelt und Amazon zb finde ich nur micro B nach A.

Kennt jemand einen Lieferanten dafür ?
merci vorab.

von Christian B. (christian_b)


Lesenswert?

@Uli :
Ich habe mir folgendes via Amazon bestellt, ist aber leider noch nicht 
da, kann also nix sagen. Aber mein Datenkabel vom Galaxy S2 passt auch.

http://www.amazon.de/gp/product/B006CHDYSK/ref=oh_o00_s00_i00_details

von erhardd (Gast)


Lesenswert?

... hab mir erstmal so weitergeholfen;
Beitrag "stm32f4-USB Buchse TypB"

-Buchse ist aus alter Platine rausgesägt und mit lötbarem
Fädeldraht angeschlossen;
Es kann ein USB-Stick. als auch ein Kabel zum PC angesteckt werden;

von erhardd (Gast)


Lesenswert?

... mit 5-min Epoxy verklebt (mit Glas"buubbles" verstärkt) auch extrem 
belastbar;

von Harry (Gast)


Lesenswert?


von Uli (Gast)


Lesenswert?

Danke erstmal

@Harry: das hatte ich auch gesehen, aber da steht explizit microB

@erhardd: autsch, Gewalt ! :)


@Christian B.

dann warte ich noch auf Rückmeldung

S2: meinst Du da dieses ?
Samsung Mikro-USB-Adapter (ET-R205U), z.B. für Samsung Galaxy S2

ciao !

von erhardd (Gast)


Lesenswert?

... ich bräuchte mal einen Tip !
-gibt es eine brauchbare Beschreibung ( mehr als die 2-3 Sätze im
DM00037051 )zu FSMC bei STM32F407VG ?
Ich bräuchte Genaueres zu
FSMC_NORSRAMInitStruct->FSMC_DataAddressMux ,
um eine Möglichkeit für den 100-pin auf dem Discocery auszuloten;

Ist es möglich oder überhaupt nötig, per z.B. HC573 die Adressen (8-bit) 
zu latchen,
um dann einen SRAM anzusteuern?
Wie sind die Latenzzeiten?

- das RM0090
Reference manual meint dazu grundsätzlich:
"Translation of 32-bit wide AHB transactions into consecutive 16-bit or 
8-bit accesses to
external 16-bit or 8-bit devices"

Hintergrund ist der gewaltige Preissprung zu Fertiglösungen wie
STM3240G-EVAL evaluation board;

...hier mal die Zusammenstellung der Pin's:
FSMC  NL/-->PB7  CLK/-->PD3  NOE/-->PD4  NWE/--PD5
      NWAIT-->PD6   NE1/NCE2-->PD7   NBLD-->PE0

DATEN FSMC  D0 - PD14    D1 - PD15    D2 - PD0
            D3 - PD1     D4 - PE7     D5 - PE8
            D6 - PE9     D7 - PE10    D8 - PE11
            D9 - PE12    D10 - PE13   D11 - PE14
            D12 - PE15   D13 - PD8    D14 - PD9
            D15 - PD10

Adressen FSMC   A0 - A15 mux mit D0 - D15
 A16 - PD11    A17 - PD12    A18 - PD13
 A19 - PE3     A20 - PE4     A21 - PE5
 A22 - PE6     A23 - PE2

... ich nehme mal an, der Erfinder hat sich dabei was gedacht,
auch wenn die Pin's nicht "aufeinanderfolgend" sind;

von erhardd (Gast)


Lesenswert?

erhardd schrieb:
> Reference manual meint dazu grundsätzlich:
> "Translation of 32-bit wide AHB transactions into consecutive 16-bit or
> 8-bit accesses to
> external 16-bit or 8-bit devices"

... ich nehme auch an, das sich das "consecutive" hier auf
den -blockweisen- Zugriff (nicht sporadisch) bezieht;

von erhardd (Gast)


Lesenswert?

system_stm32f4xx.c von MCD Application Team
  * @version V1.0.0
wird
PE0  <-> FSMC_NBL0
PE1  <-> FSMC_NBL1
angegeben;
/*-- GPIOs Configuration 
-----------------------------------------------------*/
/*
 +-------------------+--------------------+------------------+----------- 
-------+
 +                       SRAM pins assignment 
+
 +-------------------+--------------------+------------------+----------- 
-------+
 | PD0  <-> FSMC_D2  | PE0  <-> FSMC_NBL0 | PF0  <-> FSMC_A0 | PG0 <-> 
FSMC_A10 |
 | PD1  <-> FSMC_D3  | PE1  <-> FSMC_NBL1 | PF1  <-> FSMC_A1 | PG1 <-> 
FSMC_A11 |
 | PD4  <-> FSMC_NOE | PE3  <-> FSMC_A19  | PF2  <-> FSMC_A2 | PG2 <-> 
FSMC_A12 |
 | PD5  <-> FSMC_NWE | PE4  <-> FSMC_A20  | PF3  <-> FSMC_A3 | PG3 <-> 
FSMC_A13 |
 | PD8  <-> FSMC_D13 | PE7  <-> FSMC_D4   | PF4  <-> FSMC_A4 | PG4 <-> 
FSMC_A14 |
 | PD9  <-> FSMC_D14 | PE8  <-> FSMC_D5   | PF5  <-> FSMC_A5 | PG5 <-> 
FSMC_A15 |
 | PD10 <-> FSMC_D15 | PE9  <-> FSMC_D6   | PF12 <-> FSMC_A6 | PG9 <-> 
FSMC_NE2 |
 | PD11 <-> FSMC_A16 | PE10 <-> FSMC_D7   | PF13 <-> FSMC_A7 
|------------------+
 | PD12 <-> FSMC_A17 | PE11 <-> FSMC_D8   | PF14 <-> FSMC_A8 |
 | PD13 <-> FSMC_A18 | PE12 <-> FSMC_D9   | PF15 <-> FSMC_A9 |
 | PD14 <-> FSMC_D0  | PE13 <-> FSMC_D10  |------------------+
 | PD15 <-> FSMC_D1  | PE14 <-> FSMC_D11  |
 |                   | PE15 <-> FSMC_D12  |
 +-------------------+--------------------+
*/

von Christian B. (christian_b)


Angehängte Dateien:

Lesenswert?

Uli schrieb:
> Danke erstmal
>
> @Harry: das hatte ich auch gesehen, aber da steht explizit microB
>
> @erhardd: autsch, Gewalt ! :)
>
>
> @Christian B.
>
> dann warte ich noch auf Rückmeldung
>
> S2: meinst Du da dieses ?
> Samsung Mikro-USB-Adapter (ET-R205U), z.B. für Samsung Galaxy S2
>
> ciao !

Hab das Kabel heute bekommen und funktioniert wie erwartet !

Gruß

von THaala (Gast)


Lesenswert?

@Christian B.

Herzlichen Dank !


schönes Wochenende allseits !!!

von Andreas S. (igel1)


Lesenswert?

Liebe Forengemeinde,

ich möchte gerne Daten (z.B. Meßwerte der AD-Konverter) vom 
Discovery-Board über USB an Windows XP senden und ggf. später auch 
einmal etwas in die umgekehrte Richtung (also zum Board) schicken 
können.

Nach etlichen Stunden Lektüre habe ich genug über USB gelernt, um zu 
erkennen: ohne vorgefertigten Code und Libraries (hüben wie drüben) wird 
das ganze ein Lebenswerk.

Der mit dem Discovery-Board mitgelieferte Beispielcode ist ne Nummer zu 
hoch für mich und scheint zudem auch eng mit dem Beschleunigungssensor 
verknüpft zu sein.

Daher die Frage an Euch:

Kennt Ihr irgendwelche Projekte/Sites/Hinweise/HowTos/Bücher, in denen 
eine Kommunikation zwischen einem STM32F4 Discovery-Board und einem 
Windows-Computer beschrieben wird.

Optimalerweise sollte alles über einen virtuellen COM-Port unter Windows 
abgewickelt werden, dann kann ich auf Windows-Seite viele Programme 
(Logview, Labview, ..) direkt weiterverwenden.

Viele Grüße

Igel1


PS:  Vorbeugend sei gesagt: Verweise auf das virtuelle Com Port Beispiel 
des STM32F1-Boards helfen wenig - die Libraries sollen angegeblich 
völlig anders sein als diejenigen des STM32F4.

von AVerr (Gast)


Lesenswert?

Also es gibt auf der ST Seite auch eine USB Library für STM32F105/7, 
STM32F2xx und STM32F4.
Da ist auch ein Virtuelles COM Port Beispiel dabei. Das habe ich auch 
aus Jux als erstes für das STM32F4 Discovery umgebaut.
Leider finde ich das Projekt gerade nicht, aber es war gar nicht mal so 
schwer.

von Andreas S. (igel1)


Lesenswert?

Ein dickes Dankeschön an AVerr für den Tipp!!
Genau so etwas hatte ich gesucht und ganz offenbar übersehen.
Jetzt keimt erste Hoffnung auf, daß ich die Geschichte vielleicht doch 
noch hinkriegen könnte.

Es wäre natürlich supernett, wenn Du, AVerr, Deine Anpassungen für das 
Discovery-Board noch finden könntest und mir zusenden könntest (ich bin 
nämlich nur Hobbyelektroniker und noch nicht soooo superversiert in 
Sachen STM32).

Sollten andere Leser im Forum ebenfalls funktionierende Programme / 
Projekte mit STM32F4 und USB via VCP (Virtual Com Port) haben, so bin 
ich sehr daran interessiert.

Viele Grüße

Igel1

von Uli (Gast)


Lesenswert?

Also ich habe ganz allgemein recht gute Erfahrungen gemacht mit HID, 
wenn denn die verfügbaren 64000 Byte/s (theoretisches Maximum) genügen.
Ich komme real so bis zu ca 55 kByte.

Die PC-Gegenseite ist deutlich kniffliger als einfaches COM, dafüer aber 
bei mehreren Geräten deutlich flexibler.

USB-Plfichtlekture: Jan Axelson, Complete USB sieh auch 
http://www.lvr.com/

USB-Plfichttools:

USBDeview
HID Excerciser (falls HID)

von Andreas S. (igel1)


Lesenswert?

Danke für die Tipps!

Hättet Ihr denn eventuell auch ein biß'erl Code für mich?
Optimalerweise solchen, der auch auf dem Discovery-Board läuft sowie das 
passende Gegenstück unter Windows?

Viele Grüße

Igel1

von Uli (Gast)


Lesenswert?

Also für die HID-PC-Seite bei Axelson in allen Geschmacksrichtungen 
hier:
http://www.lvr.com/hidpage.htm

und was das Zielsystem betrifft:
Direkt bei Auslieferung war auf dem Disocvery Board ein HID-Beispiel 
drauf, das mittels Beschleunigungs-Chip eine Maus nachbildet. Das kann 
man dann sicher für eigene Belange erweitern. (Mein HID Zeugs ist für 
NXP und daher Thema verfehlt ;)

von Andreas S. (igel1)


Lesenswert?

Danke für die Tipps - Ihr seid echt nett zu mir !

von Uli (Gast)


Lesenswert?

Nachtrag Stecker / Adapter

mittlerweile ist bei mir auch einer von Frau Reichelt eingetrudelt,
der ebenfalls einwandfrei funzt: DELOCK 83104 , 5 Eurinos ...

http://www.reichelt.de/USB-Adapter/DELOCK-83104/index.html?;ACTION=3;LA=444;GROUP=EU1;GROUPID=4829;ARTICLE=116529;START=0;SORT=artnr;OFFSET=16;SID=11T2g7qH8AAAIAAFtbPzEea645442eefdd8afe2a628a710ae9e34

Schönen Abend
Uli

von Thomas H. (Firma: SuE) (tomy)


Lesenswert?

Hallo Jungs,

so langsam wird das was mit dem Umstieg von Atollic auf Eclipse Indigo 
(mit all seinen Maken). Trotzdem bleiben noch paar Fragen offen:

1.  Der Indigo-ST-Link-GDB-Hardware-Debugger übergeht einfach die 
Interrupt-Routinen im Gegensatz zu Atollic. Gibt’s da einen Schalter den 
ich noch nicht gefunden habe?

2.  Dann schaffe ich es nicht die STM32-Libs über Paths and Symbols 
extern einzubinden. Es ist irgendwie Schade die 100Mbyte in jedem 
Projekt mitzuschleppen. Hat Jemand ein Demoprojekt zum downloaden wo die 
Standard+CMSIS-UDB-Lib nicht im Workspace-Projekt liegt? Irgendwas mache 
ich noch falsch mit Indigo.

Tomy

von hp-freund (Gast)


Lesenswert?

zu 2)
unter Linux lege ich einfach einen schreibgeschützten Link zu den Libs 
in den Projektordner. Ab vista soll es wohl auch echte Links geben:
http://de.wikipedia.org/wiki/Symbolische_Verkn%C3%BCpfung#Symbolische_Verkn.C3.BCpfung

von Uli (Gast)


Lesenswert?

Nachtrag zu USB-HID

das von mir empfohlene Test-Tool für HID heisst bei Axelson 
"HIDtest.zip"
und findet sich direkt hier http://www.lvr.com/hidpage.htm


das von mir angesprochene Grundlagenbuch habe ich durch google-Zufall 
hier komplett im Web entdeckt. Ich fürchte zwar, dass das nicht "so 
direkt legal" ist ... aber für alle die in USB machen wollen, ist das 
eigentlich ein zwingender MUST-READ ...

(Mod: Link entf., s.o. "...")

von Werner (Gast)


Lesenswert?

Hallo,
das ist ein langer Thread...
Ich habe jetzt rauf und runter gelesen.

Wo bekommt man so ein Board als nicht Gewerbetreibender.
RS nur an Gewerbetreibende?

mfg Werner

von Jonny O. (-geo-)


Lesenswert?

Hier für 12 Euro(auch an privat):

http://de.mouser.com/ProductDetail/STMicroelectronics/STM32F4DISCOVERY/?qs=J2qbEwLrpCFMptdjNAVzZXDc5BN%252b9qEw

Hinweis an alle Coocox Nutzer: Die unterstützen jetzt auch die 
STM32F4-µC.

Gruß
Jonny

von W.S. (Gast)


Lesenswert?

Soweit ich es gehört hab, einfach frech bei RS im Internet bestellen.

Hättest du vor der Embedded geschrieben, dann hätte ich dir eins 
mitgebracht. Hab von der freundlichen Dame 2 bekommen und davon eins 
meinem Schwager gegeben.

Mein Tip: Wenn du kannst, dann gehe nächstes Jahr zur Embedded. Bei 
Registration im Inet gibt's die Eintrittskarten für "quasiumsonst", bei 
unsereinem also gegen Visitenkarte. Aber ne Latte anderer Leute gleich 
mit einzutragen ist gar kein Problem.

W.S.

von Andreas S. (igel1)


Lesenswert?

Zum Thema USB:

Danke für die Mühen und die guten Links.

Damit wir nicht alle zusammen in den Bau einfahren (oder alternativ an 
schlechten Gewissen ersticken) habe ich auf Deinen/Euren Tip hin den 
Axelson bestellt.

Buch liegt vor mir und drückt ziemlich schwer aufs Knie ...

Viele Grüße

Igel1

von Dennis P. (dennisp)


Lesenswert?


von Werner (Gast)


Lesenswert?

Dennis P. schrieb:
> Schau mal bei http://www.watterott.com/de/STM32F4Discovery vorbei.

>Soweit ich es gehört hab, einfach frech bei RS im Internet bestellen.

>Hier für 12 Euro(auch an privat):
>http://de.mouser.com/ProductDetail/STMicroelectron...

Danke, ich habe es am 3.4. 20:59 bei Mouser bestellt.
Obwohl in Texas der Tornado wütete und "delayed out of our hands"
Sie waren heute 5.4. 10:00 DA.

Ich habe drei genommen, die 20 Euronen Versand tun sonst doch weh.
12 + 20/3 OK.

Hut ab.

von Jonny O. (-geo-)


Lesenswert?

Mouser ist schon top (auch die Auswahl ist gigantisch). Ab 75 euro (oder 
so) bekommt man die Ware übrigens ohne Versandkosten.

von Werner (Gast)


Lesenswert?

fängt jetz schon 'mal gut an.

eines war versprochen und ist weg.

Die USB Buchsen sind untnterschiedlich, dazu gibt es glaub ich weiter 
oben
schon etwas...alos USB Micro B passt nur auf einer Seite,
anders als im "Handbuch"
Jetzt nicht das Problem. Meines passt auf CN1.

Meine beiden sollten nun
1
– Check jumper position on the board, JP1 on, CN3 on (Discovery selected).
2
– Connect the STM32F4DISCOVERY board to a PC with a 'USB type A to Mini-B'
3
  cable through USB connector CN1 to power the board. Red LED LD2 (PWR)
4
  then lights up.
5
– Four LEDs between B1 and B2 are blinking.

Ich habe beide nun an vier Laptops und einen kräftigen USB-HUB 
angeschlossen.
LD 2 (Power kommt kurz)
LD 4 blinkt kurz
LD 3, 5, 6 silent key

Das war es. die Demo läuft nicht ab. 5 Volt sind da.

:-(

von Werner (Gast)


Lesenswert?

posituve Rückmeldung

No.3 lebt auch nicht, an einem DeskTop PC.

Im Film lebt No. 5 :O)

von Werner (Gast)


Lesenswert?

Nebenbei loade ich 100 KBweise.

Task, IAR, True, MKD

was ein blöder Drei- bis Vierbuchstabenscheiß.

Sie lassen Dich dann 32K des MB Flash füllen, auch mal 30 Tage lang.

Alle woLlen deine Daten, für Lite und Trial...auch die Farbe der 
Schambehaarung. Dafür gibt es dann jahrelang SPAM.

Wenn ST die Hardware promoten will, dann sollen sie auch Software 
dazustellen. Nicht so einen third party Mist.

von Werner (Gast)


Lesenswert?

Sorry, der Thread heisst

Billiges Cortex-M4-Board

stimmt.

von Werner B. (wernerausk)


Lesenswert?

Werner schrieb:
> Ich habe beide nun an vier Laptops und einen kräftigen USB-HUB
> angeschlossen.
> LD 2 (Power kommt kurz)
> LD 4 blinkt kurz
> LD 3, 5, 6 silent key
> Das war es. die Demo läuft nicht ab. 5 Volt sind da.

Wir haben Beide unsere Drei mit Kabeln einer externen Festplatte 
betrieben.
So eine MobilDisk ( 2,5" ) von Atelco, weil der Stecker passt.
Solche Platten benutzt heute wohl keiner mehr, zur Sicherheit
haben wir es dennoch probiert, sie gehen an den dazugehöringen Kabeln.
Das Board mit seinen 3-4-5 mA nicht.
Frag' mich nicht.

Extern versorgt auf P2 und es blinkt.
Andere USB Kabel und es blinkt.
Da die 5Volt statisch an D1 anstehen,
muss eigentlich der 3.3 Volt Regler irgendwie aussteigen ?

von Werner B. (wernerausk)


Lesenswert?

Dann gibt es da dieses USB device, ein "ST LINK".
Yoh, weiss ich.
Mit Fragezeichen oder ObachtSchild.
Einen Treiber sucht man vergebens.
Dazu gibt es ein "st-link_v2_usbdriver.exe" im Internet oder im KEIL.
Das Fragezeichen oder ObachtSchild wird man so aber nicht los...

Ich werde den Mist nicht wiederholen, aber scheinbar muss das Board´
ausgestöpselt sein, während man das ausführt oder man KEILT ein UV 
irgendwas angeblich, dann geht KEIL und "stm32_st-link_utility.exe" kann 
sich mit dem Board verbinden, es schreiben / lesen.

Vorher geht garnix...

Alles unerwähnt, nicht selbsttätig, deterministisch und logisch ?

von Gerhard H (Gast)


Lesenswert?

Hallo,

ich habe mir auch das STM32F4Discovery besorgt um ein paar Experimente 
durchzuführen. Nach ein paar Jahren Arbeit im Embedded-Bereich ist das 
aber der erste ARM-Prozessor. Somit bin ich mit den Tools und den 
nötigen Prozeduren nicht vertraut.

Daher muss ich hier leider auch mal ein paar (vermutlich triviale) 
Fragen zur Arbeit mit dem Board stellen.

Da die Atollic-Version zeitbeschränkt ist und der Tasking-Server sich 
tot stellt, habe ich die Keil-IDE (µVision 4.50.0.0) heruntergeladen und 
installiert.
Das Übersetzen der Beispielprojekte klappte auch einwandfrei.
Erst wenn ich an das Target ran will, fangen die Probleme an.


Nachdem ich mit Win7 schon am USB-Treiber gescheitert bin, habe ich das 
ganze nochmal in einer VmWare mit WinXP probiert.
Dort wird immerhin der Treiber installiert und der ST-Link erkannt.

Wenn ich ein USB-OTG Kabel mit Stick anschließe, erkennt auch das 
ST-Link Upgrade tool das Board und ich kann den ST-Link auf die aktuelle 
Version bringen.

Allerdings meldet das ST-Link-Utility bei "Target-Connect" nur
 "Cannot connect to the MCU Device!"
Dafür habe ich bisher keine Lösung finden können.

Target-Settings im ST-Link Util sind auf "SWD" gestellt.

Ich vermisse bisher ein wirklich ausführliches "Getting Started", wo 
auch wirklich die ersten Schritte drin sind ohne sich alles aus 
verschiedenen Quellen rauszusuchen. :(

Kennt jemand eine Checkliste, was exakt zu tun ist, um
- ein Programm zu laden
und dann evtl.
- ein Programm zu debuggen

Außer ein OTG-Kabel anzuschließen habe ich bisher nichts weiter 
unternommen.

Ich verwende keinen externen ST-Link sondern nur ein USB-mini-Kabel.
CN3 ist auf ON. Ebenso JP1.

Per Google-Suche konnte ich keine nützlichen Informationen dazu finden. 
Scheinbar klappt es bei den meisten einfach out-of-the-box.

Für hilfreiche Hinweise (und wenn es nur die richtigen Suchbegriffe 
sind) wäre ich sehr dankbar.

Viele Grüße und frohe Ostern,
Gerhard

von Werner B. (wernerausk)


Lesenswert?

Hallo,
ich kann mich nur anschliessen.
Gerhard sucht Antworten, nun kommt eine Frage :0)
Gerhard H schrieb:
> VmWare mit WinXP probiert.
> Dort wird immerhin der Treiber installiert und der ST-Link erkannt.

Ich habe keinen Treiber im eigentlichen Sinne finden können.
Nur diese "st-link_v2_usbdriver.exe" die ich hin und wieder ausführen
muss, ohne das ich ein Muster erkennen wann und warum das nötig ist / 
wird.
Wo findet man den Treiber den Gerhards VmWare installiert ?
Es könnte so scheinen, dass man das Board stets am gleichen USB Port 
anschliessen muss ? Vor oder nach "st-link_v2_usbdriver.exe" ?
Ich bin jetzt etwas unglücklich mit dem Ding.

Grüße Werner

von Gerhard H (Gast)


Lesenswert?

@Werner B:

Ich meine auch den "st-link_v2_usbdriver.exe".

Der hat unter Win7 nicht dazu geführt, dass ST-Link-Util den ST-Link 
gefunden hätte.

Ich habe mehrmals installiert und deinstalliert. Geklappt hat es, als 
das Board angesteckt war.

Gruß,
Gerhard

von Werner B. (wernerausk)


Angehängte Dateien:

Lesenswert?

OK, hier auch merhmals, es scheint sich überreden zu lassen.
Bleibt aber nicht für immer.

Wenn es geht, dann sieht es bei mir so aus....

Die Einstellung ist dann auch SWD

von Werner B. (wernerausk)


Lesenswert?

P.S. auch bei mir wollte es die Firmware des ST-Link updaten,
das habe ich verneint, da ich nicht weiss was das Link auf dem Board
für eins ist

● ST-LINK or ST-LINK/V2 in-circuit debugger/programmer probe ?

Nicht, dass Du Deins geschossen hast ?

von Stefan S. (eric996)


Lesenswert?

Hallo Werner,

auf den Seiten von STM:

http://www.st.com/internet/evalboard/product/252419.jsp

http://www.st.com/internet/evalboard/product/251168.jsp

sind sehr viele nützliche Dinge enthalten, von der Beschreibung des 
Boards über Treiber sowie ein "Getting started".

Es hilft enorm, einige PDFs zu lesen.

Viel Erfolg!

von Gerhard H (Gast)


Lesenswert?

Ich fühle mich da jetzt mal mit angesprochen.

Ach ja. ;)
Die allseits bekannte "Der Frischling soll selber lesen" Begrüßung, die 
in jedem Forum obligatorsich ist, habe ich schon erwartet.


Gelesen habe ich die eigentlich alle. Seit vor ein paar Tagen die Boards 
eingetrudelt sind. Nur fehlen scheinbar die entscheidenden Dinge.

Zu Link 1:
Wenn man die ziemlich speziellen Beispiele für Motorsteuerung etc. 
weglässt, bleiben im wesentlichen das Getting-Started und das 
UserManual.
(UM1472 und UM1467).

Im "Getting Started" steht zwar, wie man das Keil Projekt konfigurieren 
soll, dort ist aber ein anderes Board eingestellt und scheinbar eine 
ältere Programmversion abgebildet. In einem anderen Forum habe ich 
gelesen, dass mit Keil die Nutzung von ST-Link V2 nicht möglich ist und 
man daher das ST-Link-Utility verwenden muss.
Was da nun stimmt, weiß ich nicht.

Im UserManual steht da jetzt auch nicht viel Nützliches.


Zu Link 2:
Dort gibt es zunächst die Manuals zu den ST-Link USB-Dongles. Da der 
aber ja auf dem Board integriert ist, fallen die weg.
Dann die ReleaseNotes und das Manual zu ST-Link Utility. Die RN sagen 
natürlich nichts zur Benutzung. Das Manual sagt, was das Tool alles 
tolles kann, wenn es läuft. Aber wenn das Connect schon nicht klappt, 
ist es Essig.
Den USB-Treiber von dort habe ich verwendet. Werner scheinbar ebenso.
Eine Troubleshooting Section fehlt leider.
Unter diesem Link finde ich also nichts, was die geschilderten Probleme 
beheben könnte.


Da ich das Lesen der allzu offensichtlichen Dokumente als 
selbstverständlich ansehe, habe ich das im ersten Beitrag nicht extra 
erwähnt.


Daher wäre es wirklch wunderschön, wenn jemand über seinen Schatten 
springen könnte und wirklich nützliche etwas weniger unspezifische 
Hilfen bieten könnte.
Dinge, die für dieses Board mit diesen Keil-Tools zutreffen und die 
nicht in den vielen PDF-Dateien versteckt sind.



Und am Schluss noch ein kleiner Nachtrag:
Wenn ich vom Keil MDK aus flashen will, erhalte ich die Meldung "No 
Algorithm found for 08000000H - 080007ChH" Erase Skipped.
Ob dabei nun die Verbindung zum Board zunächst erfolgreich aufgebaut 
wurde, oder ob es gar nicht versucht wird, ist nicht ersichtlich.

Wenn ich per ST-Link Utility CLI flashen will, meldet er immer noch 
"Cannot connect to MCU Device!"

Viele Grüße,
Gerhard

von Fritz (Gast)


Lesenswert?

Ich habe ein ähnliches Problem mit den IAR-Kickstart Tools gehabt.
Habe im Windows Gerätemanager das ST-Link gefunden aber mit nicht 
korrekt konfiguriertem Treiber.
Nachdem ich im Gerätemenager ein Treiberupdate durchgeführt habe ging 
alles und der Gerätemanager meldet einen korrekt installierten Treiber.

Vielleicht hilfts.

von Werner B. (wernerausk)


Angehängte Dateien:

Lesenswert?

Fritz schrieb:
> Nachdem ich im Gerätemenager ein Treiberupdate durchgeführt habe ging
> alles und der Gerätemanager meldet einen korrekt installierten Treiber.
Genau das gibt es hier nicht, so wie im Moment wird es nur durch 
Ausführen der EXE.
In KEIL gibt es ein Verzeichnis Driver fur ST_Link
(C:\Keil\ARM\STLink\USBDriver)
Darin befindet sich aber kein Treiber sondern lediglich die
"st-link_v2_usbdriver.exe"

Gelesen habe ich das auch alles und ich fühle und denke wie Gerhard:
Das hilft nix.

Überlesen hatte ich wohl nur,
dass auf dem DISCOVERY Board ein ST-LINK/V2 sitzt, das wird tatsächlich 
erwähnt. Das sagt mir erst mal auch garnichts. Ich weiss auch nicht mehr 
wie ich dann darauf kam einen "Treiber" für das Discovery Board bei 
einem ganz anderen, nirgends erwähnten Produkt der Fa. ST zu suchen / 
leihen.

Grüße Werner

von Werner B. (wernerausk)


Angehängte Dateien:

Lesenswert?

Ich habe hier µVISION 4.50.0.0.
Unter Flash / Configure Flash Tools ...
findet sich DEBUG und UTILITIES.

Darin wird ST-Link angeboten und funktioniert wohl auch.
Man / ich musste es nur vorher manuell einrichten, damit es erschien.

von Werner B. (wernerausk)


Angehängte Dateien:

Lesenswert?

und was zu beweisen war...

Zu früh gefreut, mit µVISION kann ich nicht flashen, obwohl die ST-Link
eingestellt und erkannt ist.

Den von µVISON erzeugten Hex-File kann ich mit der ST-Link Utility 
flashen.
Der Debugger in µVISION funzt dann wieder (weiter)

Ist das (noch) normal ?

von Werner B. (wernerausk)


Lesenswert?

sitze ich jetzt mit Umgebungen da, die
entweder 30 Tage laufen
oder 32 Kbyte generieren und nicht flashen können ?

Das hätte auf die Verpackung gehört!

von Werner B. (wernerausk)


Lesenswert?

@Gerhard
Schade,
die Jungs die das Board hier im Thread mal so euphorisch promoted
haben sind wohl alle weg.

Ob deren Boards in der Ecke liegen ? :0)

von Gerhard H (Gast)


Lesenswert?

Werner B. schrieb:
> Den von µVISON erzeugten Hex-File kann ich mit der ST-Link Utility
> flashen.
> Der Debugger in µVISION funzt dann wieder (weiter)

Du Glücklicher. Ich kann nichtmal mit dem ST-Link Utility flashen.

Die Treiberdetails sehen bei mir genauso aus wie bei dir.
Nur muss ich nicht jedesmal das exe starten.

Die Dialoge in der Keil-IDE sehen bei mir ebenfalls genauso aus.

Vielleicht funktioniert das alles ja auch nicht aus einer VMWare heraus.
Ich habe aber sonst nur noch Win7.

Muss man das OTG-Kabel eigentlich immer anschließen, wenn man flashen 
will?
Muss man einen der Knöpfe in bestimmter Reihenfolge drücken?

von Daniel S. (bytewaste)


Lesenswert?

Kann es sein, dass ihr die falsche Buchse nehmt? Ich benutze Linux, von 
daher kann ich euch nur bedingt weiterhelfen, aber man flasht nicht über 
die OTG-Buchse.

D.h. es muss nur ein Mini-USB-Kabel angeschlossen sein an Buchse CN1.

von Werner B. (wernerausk)


Lesenswert?

> Die Treiberdetails sehen bei mir genauso aus wie bei dir.
> Nur muss ich nicht jedesmal das exe starten.
ich muss das nicht jedesmal, manchmal und völlig unerwartet ....

> Vielleicht funktioniert das alles ja auch nicht aus einer VMWare heraus.
Das ist erstmal der auffäligste Unterschied bei uns.
> Ich habe aber sonst nur noch Win7.
Ich habe kein Win7 ( privat, jetzt zuhause )
Von berufswegen habe ich Leute die unser normales Produkt auf einer 
virtuellen Maschine haben wollen / laufen lasen.
Zu unserem normalen Produkten gehören CryptoBoxen von Marx und Sentinel.
USB devices.
Unter VmWare gelingt das nicht. Eingeschränkt, es gibt da reale Ports 
die man virtuellen Maschinen zugestehen, freigeben kann. Vergessen ?
Erst Freitag wollte es einer mit dem MicroSoft Gegenstück ( weiss jetzt 
nicht mehr wie das Ding heisst ), auf jedenfall meldete er sich 17:20 am 
Gründonnerstag , das haute nicht hin.
Ich habe ihm dann die Lizenz in eine maschinengebundene Datei übertragen 
müssen.

> muss man das OTG-Kabel eigentlich immer anschließen, wenn man flashen
will?
spätestens vor dem Connect.
> Muss man einen der Knöpfe in bestimmter Reihenfolge drücken?
Nein, Hex.file laden.
Connecten, progrsmmieren ( ggf. Verify )fertig.
Keine Knöpfe.

Das mit diesem geschenkten Gaul ist einfach Mist.
Es hatte ja keiner gesagt: Hier gibt es Porsche geschenkt, ohne Motor.

von Werner B. (wernerausk)


Lesenswert?

Daniel S. schrieb:
> Kann es sein, dass ihr die falsche Buchse nehmt? Ich benutze Linux, von
> daher kann ich euch nur bedingt weiterhelfen, aber man flasht nicht über
> die OTG-Buchse.
> D.h. es muss nur ein Mini-USB-Kabel angeschlossen sein an Buchse CN1.

Ne, daran hätte ich nicht gedacht.
Für CN5 habe ich garkein Kabel.
Ich hätte, denn auf dem Foto der berühmten "Get Started" sind zwei miniB
gezeigt und ausgeschrieben gedruckt.

CN5 ist nicht mal microB, irgend ein Sch...

von Gerhard H (Gast)


Lesenswert?

Daniel S. schrieb:
> Kann es sein, dass ihr die falsche Buchse nehmt? Ich benutze Linux, von
> daher kann ich euch nur bedingt weiterhelfen, aber man flasht nicht über
> die OTG-Buchse.
>
> D.h. es muss nur ein Mini-USB-Kabel angeschlossen sein an Buchse CN1.

Nein, das dürfte schon die richtige Buchse sein.
An den PC ist das Board mit einem ganz normalen Mini-USB-Kabel an CN1 
angeschlossen.

An CN5 hab ich nur einen USB-Stick. Wenn der drin ist, kann ich z.B. mit 
dem FW-Update Tool das Board erkennen. Ohne den Stick ging das nicht.
Da kam eine Meldung, dass das Boards nicht im DFU-Mode wäre.

Als Kabel hab ich ein USB-OTG mit USB-Micro-B Stecker. Obwohl OTG ja 
eigentlich Typ A sein sollte, scheint das zumindest nicht das Problem zu 
sein, da der Updater das Board dann ja erkennt.

Aber gut zu wissen, dass man das nicht braucht um zu flashen!


Spezielle Ports an die VMWare weiterleiten kann/kenne ich nicht.
Ich kann einzelne Geräte an die VMWare "anschließen" und dementsprechend 
vom Host abmelden. Mit (fast) allen anderen Geräten klappt das. (Einzige 
Ausnahme war bisher ein Diascanner.)

von Werner B. (wernerausk)


Lesenswert?

Gerhard H schrieb:
> Ich kann einzelne Geräte an die VMWare "anschließen" und dementsprechend
> vom Host abmelden. Mit (fast) allen anderen Geräten klappt das. (Einzige
> Ausnahme war bisher ein Diascanner.)

Noch ein DiaScanner ... ?
Diese (meine) Boxen sind ungleich spezieller, seltener als DiaScanner

> Da kam eine Meldung, dass das Boards nicht im DFU-Mode wäre.
Das habe ich auch schon gesehen, solange die eingebaute Demo lief.
Also diese Schaukelmaus mit Discoeffekt.
Was immer DFU ist.
Ich habe die CN3 gezogen und auf ST-Link (nicht Discovery) umgestellt
Nach Reset habe ich dann den FirmwareUpDate der ST-link zugestimmt.
Brücken wieder rein und M4 geflashed.

von Werner B. (wernerausk)


Angehängte Dateien:

Lesenswert?

So, jetzt
ohne Gewähr.

Wenn die ST-Link im Bild Euch einen Update vorschlägt,
dann sollt Ihr JA sagen.
Wenn KEIL µVISION 4.50.0.0 das besser wissen will und wiederum updaten 
will, dann solltet Ihr NEIN sagen.

... und µVISION flasht über die ST-Link

Tzzz, tzz Aua

von Werner B. (wernerausk)


Angehängte Dateien:

Lesenswert?

UPS,
falsche Bild, diese Version ist gemeint...

in der ST-Link etspricht das Ver. V2J14S0 oder OH

von Werner B. (wernerausk)


Angehängte Dateien:

Lesenswert?

noch'n Bild

von Werner B. (wernerausk)


Lesenswert?

Dafür gibt es nur eine handvoll Erklärungen?

Du sollst keine Hardware mit third party Software anpreisen.

oder

(und ich sehe sie jeden ersten im Monat)
frisch Studierte suchen was man schon länger so macht, damit sie es dann 
jetzt richtig machen.
Sie kosten noch mehr Zeit als wir alle schon vor Bill Gates Fähnchen 
gesessen haben  :0))))

von Werner B. (wernerausk)


Lesenswert?

Jetzt habe ich es bei zwei weiteren PCs installiert.
Viele Wege mögen nach Rom führen...
Alle drei Discovery boards hatten ursprünglich nicht die aktuelle 
Firmware Version.
Hier hat es so geklappt:

Discovery Board ist nicht angeschlossen.
XP starten
Als Administrator anmelden.
"stm32_st-link_utility.exe" ausführen
( installiert ST-Link Utility )
"st-link_v2_usbdriver.exe" ausführen
( kopiert die Winusb.sys und winusb.dll. Funktion aber erst nach 
Neustart )
XP herunterfahren
Jumper CN3 abziehen (beide)
( Verifikation und Update sonst nicht möglich "nicht im DFU Modus" )
Rechner runterfahren
DISCOVERY Board anschliessen.
Rechner neu starten.
Als Administrator anmelden.

ST-Link Utility Programm starten.
- ST-LINK / Firmware update starten
- FIRMWARE V2.J14.SO prüfen , ggf. updaten
JUMPER CN3 stecken (beide)
- Target / connect

Das war es soweit....hoffentlich

KEIL µVISION 4.50.0.0 starten
- Flash  Configure Flash Tools  Debug und Utilities
ST-Link wird nicht angeboten ?
Wird auch nur bei Projekten mit STM32 MCUs angeboten.

- Projekt für  mit STM32F4xxx ändern  anlegen.
- Project / Select Device for Target >>> STM32F407VG

Flash und Debug sollten gehen, auch der Download Knopf...

von Werner B. (wernerausk)


Lesenswert?

Jetzt bin ich ratlos...

ST-Link Utility und µVISION 4.50.0.0 beurteilen die Notwendigkeit eines 
FirmwareUpDates wohl nur nach der Gleichheit der vorhandenen und jeweils 
gewünschten FirmWare Version in der ST-Link.
So kann man das Spiel auch beliebig lange und oft wiederholen ...

ST-Link Utiity Ver.2.2.0 wünscht V2J14SO in der ST-Link
µVISION 4.50.0.0 wünscht V2J15SO in der ST-Link

Wenn man das DEMO Projekt des Discovery boards compiliert, flashed und 
debugged fällt ein ST-Link (deprecated) auf. > überholt ! ?
Dieser funktioniert wenn in der ST-Link V2J14SO ist.
Sobald man dem von µVISION angeregten / geforderten Update der ST.Link 
zustimmt geht das nicht mehr, dann hat man V2J15SO drin und weder 
ST-Link (deprecated) noch ST-Link gehen noch. Keil hat es versaut ?

Mit V2J150SO geht es hier nie.

Wenn ich aber ein eigenes Projekt anlege und V2J14SO drin ist, dann is 
ST-Link NICHT (deprecated), also nur ST-Link die richtige und 
funktionierende Wahl in µVISION und es mekert unf mekert, aber ich sage 
dann immer NEIN wenn es alte FirmWare in der ST-Link updaten will, und 
es geht.

???

von ULI (Gast)


Lesenswert?

@Werner
Also Deine Odyssee ist natürlich grell

ich habe hier keinerlei Stress gehabt mit Keil, allerdings bisher nur 
4.22. Alles ging soweit wie es sollte.
Für 4.5 bin ich ja nun hinreichend gewarnt.
toi toi für diesen Irrsinn !!

von Werner B. (wernerausk)


Lesenswert?

Yoh , danke.
Woher nimmt KEIL überhaupt eine FirmWare V2J15SO für die ST-Link ?
Ich kann bei ST soetwas nicht finden.

von Gustel (Gast)


Lesenswert?

Bei mir läuft Keil µVISION V4.50.0.0 mit ST-LINK/V2 Firmeware Version 
V2.J14.S0 wunderbar.
Woher kommt denn dieses Upgrate V2J150SO ?

von Werner B. (wernerausk)


Lesenswert?

Ja, das frage ich mich ja auch.
Wenn ich dem UpDate durch µVISION 4.5 zustimme, dann geht das Flashen 
nicht mehr.
ST-Link Utility 2.2. sagt mir dann es sei V2J15SO in der ST-Link,
ob ich auf V2J14SO "updaten" wolle / solle..

Für mich ist 15 immer eins mehr als 14 gewesen.
Und Up(date) heisst rauf ?

Wieso können sich C und ASM KEIL Projekte den ursprünglichen 
Programmier- und Debugadapter "merken", obwohl ich sie komplett neu 
compiliere ?
Und dann habe sie offenbar einen an der Klatsche, wenn es um deren 
Versionen geht...

von Werner B. (wernerausk)


Lesenswert?

oder noch anders gefragt:
Was gäbe es denn noch ohne Zeitbegrenzung auf WINDOWS basierend ?

von Uwe Bonnes (Gast)


Lesenswert?

Wenn Du libusb auf Deinem Rechner hast, dann kannst Du
https://github.com/texane/stlink.git
selbst kompilieren. OpenOCD geht auch.

von Werner B. (wernerausk)


Lesenswert?

Uwe Bonnes schrieb:
> Wenn Du libusb auf Deinem Rechner hast, dann kannst Du
> https://github.com/texane/stlink.git
> selbst kompilieren. OpenOCD geht auch.

stm32 discovery line linux programmer ?

Uwe, ja ich weiss jetzt nicht wie ich es sagen soll...
Ich habe auch schon zwei, drei Ostern mit der Installation von LINUX 
verbracht.
Es ist mir auch stets gelungen; Nur, ja wie sagen ?
Ich kann damit nichts anfangen, ich kann es einfach nicht einmal 
bedienen.

Das wäre mein erster ARM, und ich habe einen komisches Anliegen:
Ich wollte etwas ASM von AVR > ARM, 8 > 32Bit, 20 > 168MHz portieren.
Bei dem Preis könnte man mit dem Board alles machen und 90% ungenutzt 
lassen...ohne zu Löten.

Ich habe mir aber geschworen NIE WIEDER LINUX zu versuchen.
( Bei mir heisst das Drei- bis Vierbuchstabensch.. )

Sorry und Danke,
den Hits nach gibt es eh nur 34 minus 8-10 Moderatoren dieses Discovery 
Borads.

von Werner B. (wernerausk)


Lesenswert?

Werner B. schrieb:
> den Hits nach gibt es eh nur 34 minus 8-10 Moderatoren dieses Discovery
> Borads.

Schade, dass man hier nicht edieren kann

... den Hits nach gibt es eh nur 34 Nutzer, minus 8-10 Moderatoren 
dieses Discovery Boards.

von Uwe Bonnes (Gast)


Lesenswert?

Auch wenn ich unter Linux arbeite, sollten openocd und stlink auch unter 
Windows lauffaehig sein. Aber natuerlich sind das alles ersteinmal nur 
Kommandozeilenprogramme, also der gleiche 3-4 Buchstaben......., so wie 
Du ihn bezeichnest.

von Werner B. (wernerausk)


Lesenswert?

Drei- bis VierBuchstabensch...
geht bei mir nicht um Command Line Interpreter.
Ich fühle mich sehr wohl in DOS, etc.
Diese Termini waren in der Muttermilch :0)

Drei- bis VierBuchstabensch... ist wenn jedes Handbuch und Anleitung 
pausenlos Abkürzungen mit drei bis vier Buchstaben anführt, die mir dem 
Neuling garnichts sagen.
Wofür ich Stunden brauche, um sie nachzuschlagen und ich habe dann 
vergessen wozu ich das wissen wollte,
"Sie sagen im KDM, FKK, TUI, BLA, BAL, musst Du. What the F(PIEEP)"

von Werner B. (wernerausk)


Lesenswert?

So Ostern ist vorbei.

Die Discovery boards kamen noch Donnerstag vor Ostern hier an, obwohl 
Dienstag nach Ostern ETA. Und das aus den Staaten..

Ich habe da diese Idee, AVR Assembler Code auf einer 32 Bit, 168 MHz 
CORTEX M4 laufen zu lasssen.
Nach gefühlten 20 Stunden weiss ich, die IDEs dafür sind nix für 
Privatleute.
Man muss sich nicht nur in eine neue CPU einarbeiten, die einzige IDE 
unter WINDOWS ohne zeitlich begrenzte, kostenlose Nutzung reicht aus um 
einen ein ganzes Ostern lang zu beschäfftigen.
Einzig um zu erkennen was sie nicht macht / was sie falsch macht.

Schade um die Zeit

von Uwe Bonnes (Gast)


Lesenswert?

@Werner B.:
Inwieweit sind 3/4 Buchstabenabkuerungen etwas Linux spezifisches?

von Willi (Gast)


Lesenswert?

@Werner B. (wernerausk)

Wo liegt denn "k"?

http://supp.iar.com/Download/SW/?item=EWARM-KS32
Hier findest Du eine auf 32k limitierte Kickstart-IDE. Die läuft bei mir 
problemlos. Bei der Eingabe der persömlichen Daten werden auch kreative 
Antworten akzeptiert.

Werner B. schrieb:
> Ich habe da diese Idee, AVR Assembler Code auf einer 32 Bit, 168 MHz
> CORTEX M4 laufen zu lasssen.

Ja, ja, DDS, nicht wahr? Programmiere aber doch besser in C.

von Werner (Gast)


Angehängte Dateien:

Lesenswert?

@ Uwe, hast schon recht aber die 3-4 Buchstaben in Windows kenne ich.
Der Quereinstieg in LINUX ist mir einfach zu schwerverständlich.

@ Willi, das schaue ich mir gerne an. Und Du hast Recht :0)

@ Alle, es wird doch mit Wasser gekocht.
Wenn man ST-Link mit dem Download von der ST Seite installiert, bekommt 
man eine Installation mit einem Updater Ver. 2.11.
Wenn die ST-Link Utility benutzt wird auch diese Installation in 
C:\Programme\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility
benutzt.

KEIL liefert in
C:\Keil\ARM\STLink
Einen Updater Ver. 2.13. Und benutzt auch diesen, nicht den bereits und 
vor KEIL installierten.
So kann KEIL eure Disvovery in das Nirwana schicken.

im Bild der DonnerKEIL und rechts wie man es bei ST "kauft".

von Werner B. (wernerausk)


Lesenswert?

Die auf 32k limitierte Kickstart-IDE hatte ich nicht gefunden.
Ich kannte nur die zeitlich begrenzte Evaluation Version..
Das ist ein morz Klotz, wenn man sich anschaut, wass es da alles kopiert 
und installiert wird. Dann ist es aber wie  µVISION, oder ?
Nur es hat garkeine Probleme mit ST-Link V2J14SO oder V2J15SO.
Beides ging ohne, das ich irgendwas einstellen musste.
Ich habe die DEMO in beide Versionen ST-Link gespielt und gedebugged.
Danke.

KEIL macht wohl irgendwas komisch ...
µVISION 4.50 und die ST-Link Utility haben auch keine Probleme mehr mit 
V2J14SO und / oder V2J15SO.
Dieser Updater im KEIL Verzeichis geht schon, nur scheinbar nicht falls 
µVISION bereits läuft, und µVISION startet ihn ja dummerweise...
Ich habe ihn getarted als ST-Link Utility und µVISION geschlossen waren.
Nu gehts, mal sehen wie lange.

von anfaenger (Gast)


Lesenswert?

Hat jemand schon mal ein Kameramodul und eine SD-Karte an das Board 
angeschlossen ?

von Andreas S. (igel1)


Lesenswert?

Kameramodul?

Guckst Du hier: 
http://joe-c.de/pages/posts/einstieg_mikrocontroller_stm32f103_101.php

Beschreibung ist zwar noch für den Vorgänger (STM32F103), aber 
vielleicht kannst Du ja trotzdem damit etwas anfangen - ich fand das 
Projekt ziemlich beeindruckend.

Viele Grüße

Igel1

von Keiner (Gast)


Lesenswert?


von Keiner (Gast)


Lesenswert?


von xy (Gast)


Lesenswert?

> Man muss sich nicht nur in eine neue CPU einarbeiten, die einzige IDE
> unter WINDOWS ohne zeitlich begrenzte, kostenlose Nutzung reicht aus um
> einen ein ganzes Ostern lang zu beschäfftigen.
> Einzig um zu erkennen was sie nicht macht / was sie falsch macht.

Coocox unterstützt die M4er auch, ist komplett frei und unbegrenzt, 
läuft unter Windows und damit kann man sich in 5 minuten was 
Funktionierendes zusammenklicken. ;)

von Jörg B. (joerg-sh)


Lesenswert?

Dennis P. schrieb:
> Es geht ja nur per RMII:
>
> Beitrag "Re: STM32F4 USART1"
>
> Das reine Ethernetprojekt habe ich mal angehangen. Ist ne modifikation
> des großen Evalboards des STM32F4`s.
>
> In einem anderen Projekt hab ich die Webseiten auf ne SD Karte
> ausgelagert und arbeite grade an der FTP integration.

Hallo Dennis,
hast du das Projekt noch weiter verfolgt?

Gruß
Jörg

von Dennis P. (dennisp)


Lesenswert?

Ja hab ich. Werde es mal raussuchen und Online stellen. Kann aber 2-3 
Tage dauern, bin grade nicht in Rechnernähe.

von Jörg B. (joerg-sh)


Lesenswert?

Eilt ja nicht, wäre sehr nett!

von Dennis P. (dennisp)


Lesenswert?

https://bitbucket.org/blackbird745/stm32f4-webserver/src

Als ich das letzte mal alles getestet habe lieft es. Also Sd-Card, 
Ethernet, HTTP-Server, FTP Server sowie RFM12, nrf24L01 als Funkbrücke, 
NTP Client, RTC.

Ich habe auch ein SSD1289 am laufen, jedoch noch nicht im Zusammenspiel 
mit dem Webserver.

von Thomas W. (diddl)


Lesenswert?

Der WEB Server ist echt genial, danke für den Link.

Auch wenn jemand keinen WEB Server braucht, allein als Code Sammlung ist 
es schon echt spitze.

von Jörg B. (joerg-sh)


Lesenswert?

Hallo Thomas,
womit hast du Compiliert? Welche IDE? Hast du ein Make FIle ?

Grüße

Jörg

von Peter (Gast)


Lesenswert?

Thomas Winkler schrieb:
> Der WEB Server ist echt genial, danke für den Link.
>
> Auch wenn jemand keinen WEB Server braucht, allein als Code Sammlung ist
> es schon echt spitze.

Warum schreibst du "Web" komplett groß?

von Thomas W. (diddl)


Lesenswert?

Keine Ahnung, habe noch nicht darüber nachgedacht. Vermutlich weil ich 
auch FTP und HTTP groß schreibe.

von Jörg B. (joerg-sh)


Lesenswert?

Thomas Winkler schrieb:
> Keine Ahnung, habe noch nicht darüber nachgedacht. Vermutlich weil ich
> auch FTP und HTTP groß schreibe.

und wie hast du es nun copiliert?

von Jörg B. (joerg-sh)


Lesenswert?

Falls noch jemand auf der Suche nach einer kostenlosen IDE ist

http://www.emblocks.org

Unterstützt auch schon das neuste 32F429IDISCOVERY von ST

Im Forum gibt es dafür auch schon 2 Beispiele von ST

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.