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


von Andreas U. (mountainking)


Angehängte Dateien:

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.

von J. V. (janvi)


Lesenswert?

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

von KeinPlan (Gast)


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..

von Andreas U. (mountainking)


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.

von Daniel B. (dbuergin)


Angehängte Dateien:

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 ;-)

von Andreas U. (mountainking)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.