Hallo Leute, nach längere Suche im Netz und verschiedensten Test weiß ich keinen Rat mehr. Meine Platinen, die mit einem STM32F103 bestückt ist, lässt sich super per USART1 flashen. Nach dem flashen wird jedoch kein Program gestartet und die meisten Pins haben eine Pegel von 1,2 -1,9 Volt. Wenn ich meine Software auf einem anderen Board mit diesem Chip teste, funktioniert dies einwandfrei. Hat von euch vielleicht jemand eine Idee woran dies liegen könnte? Gruß
>Hat von euch vielleicht jemand eine Idee woran dies liegen könnte? Aber sicher haben wir 'ne Idee. War das alles was Du uns fragen wolltest? Lies mal den Artikel http://www.mikrocontroller.net/articles/Netiquette#Klare_Beschreibung_des_Problems Es fehlen: Angaben zum Programm und Bootloader. Schaltplan Woran Du merkst, das nichts geht. Was geschehen sollte. Was tatsächlich geschieht. Angaben zu Deinem Hintergrund. etcpp.
Das Program soll momentan nur eine LED anschalten und ein paar Zeichen über USART1 ausgeben. Als ich diesen Chip vor ca. einem Monat geflashed hatte, lief das Program auch gleich an. Der STM32F103 hat einen kleinen 25MHz Quarz als extrene Taktfrequenz. Mittlerweile tut sich nach dem flashen nichts mehr. Auf meinem Olimex Testboard mit dem gleichen Chip läuft der Code einwandfrei. Geflashed wird der Chip über USART1 mit dem von STM bereitgestellten Flashloader. Gruß
was für ein Testboard? hat das evtl. eine andere Taktversorgung? wie ist deine schaltung aufgebaut? sorry, aber wie soll mit den paar infos denn irgendjemand helfen??
Sven Arnold schrieb: > Der STM32F103 hat einen kleinen > 25MHz Quarz als extrene Taktfrequenz. Selbiges Problem hatte ich auch mal. Fehler war dass die Oszillatorfrequenz im startup noch auf 8Mhz (Entwicklungsboard) eingestellt war, und sich die PLL somit bei Programmstart weggehängt hat. Mfg, Mike
Und das Datenblatt nochmal bzgl. der Beschaltung der beiden Bootpins konsultieren.
Sven Arnold schrieb: > Mittlerweile tut sich nach dem > flashen nichts mehr. Wenn Du ernsthaft Hilfe erwartest, dann lade wenigstens den Schaltplan und Dein vollständiges Prgamm hier hoch.
Hatte auch auf Bootpins oder falsche Oszillatorbeschaltung getippt. Evtl noch Reset oder Versorgungsspannung!?
Das Olimex Board hat aber keinen 25MHZ Quarz für den Prozessortakt. Somit nutze für den ersten Test nur den HSI Takt mit 8MHz. Ist auch der BOOT0 Pin auf Low? Sonst startet dein Programm nicht.
Hi, natürlich habt ihr vollkommen Recht, dass ohne Schaltplan und Code das Ganze ein bischen witzlos ist. Da ich momentan leider geschäftlich unterwegs bin, werde ich dies am Wochenende nachholen. Bevor ich weg musste, konnte ich das Problem aber noch eingrenzen. Die Beschaltung der Boot ist richtig und der Mikrocontroller nimmt auch den Dienst auf wenn ich im stm32f10x.h file
1 | #define HSE_VALUE ((uint32_t)25000000)
|
setze und im system_stm32f10x.c die
1 | #define SYSCLK_FREQ_72MHz 72000000
|
kommentiere. Danach läuft mein kleines Testprogram und es werden Daten über den USART1 übertragen. Wobei er in dieser Konfiguration nur mit der HSI als System Clock läuft. Vielleicht hat jemand schon ne Idee bis ich den Code am Wochenende poste. Danke für die Hilfe. Gruß
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.