STM32 ST-Library Einstieg

(Firma: µGFX) #2093322
Lesenswert?

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
Gast #2093336
Lesenswert?

>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.
Gast #2093679
Lesenswert?

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
(Firma: µGFX) #2097676
Lesenswert?

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?
1
 export PATH=$PATH:/home/tectu/projects/arm/toolchain/gnuarm/bin/

Ich nutze Linux, Kubuntu 10.10.


Greez Mr. Anderson
Persönliche Seite #2101493
Lesenswert?

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
Persönliche Seite #2101600
Lesenswert?

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
Persönliche Seite #2101716
Lesenswert?

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
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren