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.
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.
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
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.
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...
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.
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!
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.
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?
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
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
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
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?
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.
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.
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...
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?
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
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.
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...
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).
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.
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.
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. :-)
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.
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 ?
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!
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.
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
@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 ?
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 ?
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.
@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:
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.
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
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..
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.
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.
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:
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.
@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
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.
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
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.
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.
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
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?
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.
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...
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.
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
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
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"
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
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
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
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.
Wichtig ist das Leerzeichen zwischen
ihex ${BuildArtifactFileBaseName}.elf ${BuildArtifactFileBaseName}.hex
^
Das wird eventuell verschluckt beim kopieren.
Grüße
Fritz M.
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.
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
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
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
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)?
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 :)
@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 :-(
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.
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.
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
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.
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
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.
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.
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.
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...
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'"
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.
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?
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
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-.
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.
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 :-/
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...
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.
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 ?
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.
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ß
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.
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.
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.
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....
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.
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 ?
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.
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...
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
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ß
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"?
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)
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?
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.
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.
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
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
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.
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
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
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 ;)
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
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
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
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
../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'
@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.
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....
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.
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?!?
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
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...
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 ?
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...
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!
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 ?
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.
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.
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....
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
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.
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
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 ;-)
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
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.
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
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???
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
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.
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
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
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
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
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.
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.
>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 ??
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.
>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.
>> 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
@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;
... 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;
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.
... 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;
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 !
... 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;
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;
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ß
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.
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.
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
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)
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
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 ;)
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
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. "...")
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
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.
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
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.
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.
:-(
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.
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 ?
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 ?
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
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
@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
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
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 ?
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
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.
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
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.
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 ?
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!
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?
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.
> 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.
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...
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.)
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.
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
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))))
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...
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.
???
@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 !!
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...
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.
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.
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.
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)"
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
@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.
@ 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".
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.
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
> 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. ;)
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
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.
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ß?
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?
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