www.mikrocontroller.net

Forum: Compiler & IDEs STM32 + FWLib 3.1.2 läuft nicht


Autor: Andreas U. (mountainking)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich habe mir ein eigenes Board mit einem STM32F103VBT6 gebastelt 
und möchte mich jetzt an die Programmierung wagen. Dies klappt auch mit 
den älteren FWLibs, allerdings bekomme ich die aktuelle FWLib einfach 
nicht zum Laufen bzw. die .bin Dateien funktionieren nicht. Leider habe 
ich im Moment keine Möglichkeit zum Debuggen, da ich den uC seriell mit 
dem STM Flash Loader Demonstrator beschreibe. Vielleicht hat ja jemand 
die Muße und schaut mal über meinen Code bzw. über das Makefile und 
Linkerscript. Achso der Code besteht aus dem RCC-Beispiel aus der FWLib, 
das ich etwas an mein Board angepasst habe. Den Fehler vermute ich 
allerdings eher im Makefile. Das Linkerscript habe ich auch nur aus dem 
Internet und sollte auch funktionieren. Als IDE verwende ich Eclipse und 
als Compiler den von Codesourcery (cs-make).
Oder falls jemand ein Beispiel aus der aktuellen FWLib hat, dass 
kompilierfähig ist und auf seinem Board auch funktioniert, bitte posten. 
Dann könnte ich selber durch Vergleichen der Projekte den Fehler bei mir 
suchen.

Autor: J. V. (janvi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dein Makefile hat Medium Density eingestellt,
der VBT6 ist aber eine Connectivity Line ?
pm ist unterwegs ...

Autor: KeinPlan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VBT6 ist Medium Density. Daran liegt es nicht. Ich hab hier im Forum 
gelesen, dass ein Fehler im Startup Skript der FWLib ist:
Beitrag "CMSIS und GNU Support"
Vielleicht liegt es ja daran..

Autor: Andreas U. (mountainking)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Richtig, das Medium-density war schon korrekt, da ich mich für eine 
Version mir 128K Flash-Speicher entschieden habe.

Low-density devices are STM32F101xx, STM32F102xx and STM32F103xx
microcontrollers where the Flash memory density ranges between 16 and 32 
Kbytes.
Medium-density devices are STM32F101xx, STM32F102xx and STM32F103xx
microcontrollers where the Flash memory density ranges between 32 and 
128 Kbytes.
High-density devices are STM32F101xx, STM32F102xx and STM32F103xx
microcontrollers where the Flash memory density ranges between 256 and 
512 Kbytes.

Den "CMSIS und GNU Support" Beitrag habe ich schon gelesen, habe aber 
noch nicht so richtig verstanden was genau ich alles ändern muss. Ich 
habe im Startupcode mal aus dem .thumb ein .thumb_func gemacht bzw. auch 
einfach mal die Zeile .thumb_func hinzugefügt, leider funktioniert es 
auch so nicht. Die Warnungen bezügl. des assert_param Macros habe ich 
dagegen nicht. Allerdings gibt mir Eclipse in der core_cm3.h einige 
Syntax Errors bei den Inline Funktionen an. Also z.B. bei

static __INLINE void NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
{
...
}

Ich hatte allerdings die Vermutung, dass dies eine Macke von Eclipse 
ist, da beim Compilieren keine Warnungen oder Fehler auftauchen.

Dieses Symbol+1 verstehe ich auch noch nicht bzw. wo genau ich diese 
Änderung durchführen müsste. Ist ja auch egal, denn dieser Fehler wird 
ja wohl schon durch dieses .thumb_func behoben.

Autor: Daniel B. (dbuergin)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann dir höchstens mal mein aktuelles Projekt hochladen.
Ev. kannst Du damit etwas anfangen.

Lässt sich sowohl mit einer selbst übersetzten GCC Toolchain 4.3.3,
als auch mit dem: "gcc version 4.4.1 (Sourcery G++ Lite 2009q3-68)"
übersetzen und auf mein Board downloaden und betreiben.

Alles unter Linux.

Mein Board: http://www.futurlec.com/STM32_Development_Board.shtml

Der Hauptteil des Makefiles und der Linkerscripte basiert auf den
Arbeiten von Martin Thomas.

Good luck ;-)

Autor: Andreas U. (mountainking)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nochmal danke für eure Hilfe, ich habe gerade den Fehler gefunden. Ich 
hatte auf meinem Board noch keinen externen Quarz angelötet. Ich dachte 
es würde dann (so wie im Code auch vorgesehen) die interne Clock 
verwendet werden. Das hat man davon wenn man nicht gleich alle Bauteile 
verwendet.

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.