mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32 ST-Library Einstieg


Autor: Joel Bodenmann (Firma: µGFX) (tectu)
Datum:

Bewertung
0 lesenswert
nicht 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:
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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tecnologic (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Joel Bodenmann (Firma: µGFX) (tectu)
Datum:

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

Ich nutze Linux, Kubuntu 10.10.


Greez Mr. Anderson

Autor: Joel Bodenmann (Firma: µGFX) (tectu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir da noch jemand helfen?


Greez

Autor: Ch D. (chrisu) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier werden einige deiner Fragen geklärt: http://stm32.spacevs.com/
Ich hoffe das hilft dir weiter.

Autor: Tec Nologic (tecnologic) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Joel Bodenmann (Firma: µGFX) (tectu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@chrisu okay, die seite wird schonmal gebookmarked

@Tec: Ich verwende keine IDE, konsole und wenns sein muss ein anderer 
Editor
      als vi tuts ja auch ;)

Autor: Tec Nologic (tecnologic) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Joel Bodenmann (Firma: µGFX) (tectu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Joel Bodenmann (Firma: µGFX) (tectu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sry, wollte schreiben: "Ich komme halt von der AVR Sparte..."

Autor: Tec Nologic (tecnologic) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Tec Nologic (tecnologic) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.