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.
dein Makefile hat Medium Density eingestellt, der VBT6 ist aber eine Connectivity Line ? pm ist unterwegs ...
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..
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.
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 ;-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.