Moin Moin,
Ich bin gerade dabei mich in die STM32 Artikel auf diesere Seite
einzulesen. Inzwischen habe ich die entsprechende Library von
STmicroelectronics gedownloaded und wollte das erste mal über GNU ARM
kompilieren.
Jedoch ereilte mich schon bald die erste Fehlermeldung:
1
stm32f10x.h:80:3: error: #error "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
Dass ich nun irgend wo meinen Controller (STM32F100RB) definieren muss,
ist mir zwar klar, jedoch noch nicht genau wo ich dass in der
stm32f10x.h machen muss. In Zeile 80 ist es nicht, da ist
(logischerweise) die #error aufgeführt.
Könnt ihr mir da weiter helfen? Muss ich selber ein globales #define
hinzufügen?
Greez Tectu
>Dass ich nun irgend wo meinen Controller (STM32F100RB) definieren muss,>ist mir zwar klar, jedoch noch nicht genau wo ich dass in der>>stm32f10x.h machen muss. In Zeile 80 ist es nicht, da ist>(logischerweise) die #error aufgeführt.
Logischerweise vor der Zeile.
>Könnt ihr mir da weiter helfen? Muss ich selber ein globales #define>hinzufügen?
Ja, am besten in den Compileroptionen.
Irgendwas mit -DSTM32???_VL für ValueLine?
Sorry habs grad nicht im Kopf.
Moin,
Wenn du über dem Fehler in der Header guckst, sind dort die defines auf
gefüht aber auskomentiert, dort kannst du einen Standard definieren, ich
würde aber in den Compiler Optionen den Define hinzufügen. Einfach das
STM32_XXX_MD_VL oder so kopieren, und füge dann auch gleich da das
USE_STD_PERPHLIB oder so ein sonst nimmt er das Lib nicht.
Oder du wartest. Ich wollte im Juni mal n Artikel über die Einrichtung
von Eclipse mit CodeSourcery schreiben.
MfG
Tec
Vielen Dank,
Das hat soweit schonmal hingehauen ;)
Nun stehe ich noch vor dem Problem, dass die Librarys nicht in einem der
Standardverzeichnisse liegen, sondern in meinem FireFox
Downloadverzeichnis. In welches Verzeichnis muss ich diese kopieren?
Kann ich das so wie andere Programme über export machen?
Hi
Mr. Anderson schrieb:> Vielen Dank,>> Das hat soweit schonmal hingehauen ;)>> Nun stehe ich noch vor dem Problem, dass die Librarys nicht in einem der> Standardverzeichnisse liegen, sondern in meinem FireFox> Downloadverzeichnis. In welches Verzeichnis muss ich diese kopieren?> Kann ich das so wie andere Programme über export machen? export
PATH=$PATH:/home/tectu/projects/arm/toolchain/gnuarm/bin/
> Ich nutze Linux, Kubuntu 10.10.>>> Greez Mr. Anderson
Wo das Lib liegt ist egal, du muss halt nur die Include Pfade setzen in
deiner Ide.
Dabei auch an das Linker-Skript und das Startup-File denken
Mfg
Tec
HI
Ok, das machen eher weniger Leute, aber wenn das so ist hast du ein
Makefile
und in diesem legst du die SRC Dateien und die INC-Dateien fest. Es gibt
im Netz ein Beispiel Projekt mit Elmchans Fat-Lib dort ist auch das
Stlib eingebunden, findest du im STM32 Artikel unter Demo-Projekte. Die
Makefile ist super gemacht, als Vorlage. Da kannst du dir auch die
Einstellungen für das Startup-Skript und Linker-File ansehen. Das musst
du in der Makefile auch regeln. Nimm aber am besten ein LinkerFile das
dein Programm in den Flash linkt. Du kannst das beim Cortex auf in den
Ram linken blos dann ists beim Power off weg. Zum spielen gut aber sonst
auch nicht.
Ich hoffe ich konnte helfen. Ich persönlich habe auch mit dem Makefile
gearbeitet, aber jetzt mache ich alles mit Eclipse und lasse das
Makefile vom
Arm plugin generieren.
MfG
Tec
Hi Tec,
Du konntest auf jeden Fall helfen!
Ich komme halt von der ARM sparte und da geht das mit vi recht gut.
So wie ich das sehe lohnt sich ein umstieg auf Eclipse in dem Fall?
Vielen Dank
Greez Tectu
hi,
Das musst du entscheiden, ich mag Eclipse als Editor mit dem neuen Arm
plugin
geht auch die Konfiguration der Toolchains ganz gut, früher musste ich
die Makefiles selber schreiben und habe dazu die Vorlage aus dem Projekt
genommen. Ich hab die mal mein aktuelles Template angehängt. Rein
theoretisch müsste es Plattform unabhängig sein da ich nur Workspace
Paths drin habe. Du brauchst dafür Eclipse CDT, das Arm plugin, vllt das
GDB Hardware debugging plugin wenn du mit JTag auf den Controller willst
und eine Toolchain ich nehme Codesourcery g++ lite
Mein J-Link sollte konfiguriert sein. beachte aber das ich unter Win
arbeite
kann also sein das ein paar Pfade nicht simmen bei dir.
Probiers einfach.
MfG
Tec
Das ist ja kein Ding ich habe auch mit AVRs und PICs angefangen. Wenn du
einen Cortex oder anderen ARM verwendest musst du halt nur mehr lesen
und es geht etwas mehr Zeit drauf. Man lernt aber auch viel.