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