STM32: kann eingebaute Bootloader um meinen Code hochzuladen, aber es passiert nichts

A

allanvv

Guest
Ich habe ein Board mit einem STM32F103C8T6. Ich kann erfolgreich mit dem UART zu programmieren und zu überprüfen, die On-Board Flash-Speicher mit dem eingebauten Bootloader. Aber wenn ich dann und Reset ich booten Blitz, nichts funktioniert. Mein Code nur Schaltet ein GPIO, dass ich mit einem Umfang Überwachung. Ich habe festgestellt, dass der externe Takt ist richtig (8 MHz) arbeitet. Es scheint, dass es standardmäßig verwendet den internen Oszillator, so versuchte ich, setzen Sie ihn auf den externen Oszillator Kommentarzeichen verwenden "# define SYSCLK_FREQ_HSE HSE_Value" aber immer noch nichts passiert auf zurückgesetzt. Hier ist mein Code:
Code:
 int main (void) {SystemInit (); GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init (GPIOA & GPIO_InitStructure); GPIO_WriteBit (GPIOA, GPIO_Pin_15 , 1); while (1) {GPIO_WriteBit (GPIOA, GPIO_Pin_15, 1); GPIO_WriteBit (GPIOA, GPIO_Pin_15, 0);}}
edit: Dies ist mit einem Arm gcc 4.5.2. Ich habe diese Toolchain mit Erfolg auf einen STR7 Board in der Vergangenheit verwendet. Ich habe auch mit CodeSourcery Toolchain aber immer noch keine Ergebnisse versucht.
 
können Sie versuchen, diese? RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOA, ENABLE); GPIOA-> BSRR = GPIO_Pin_15; GPIOA-> BRR = GPIO_Pin_15;
 
Stellt sich heraus, das Thema wurde in den Linker-Skript und Inbetriebnahme Assembler-Code. Ich habe versucht, die, die in diese Projekte verwendet werden: [url = http://gandalf.arubi.uni-kl.de/avr_projects/arm_projects/index_cortex.html] ARMv7 Cortex M3 Beispiele [/url] und es funktionierte perfekt.
 
Haben Sie daran gedacht, Einrichten der Uhr und der periphirals Uhr korrekt? Ich kann Ihnen empfehlen, einen Blick auf diese beiden Blog-Posts über Clock Setup nehmen, sowohl für interne und externe Uhr. [Url = http://blog.tkjelectronics.dk/2010/02/stm32-internal-8mhz-clock-setup-routine/] TKJ Elektronik »STM32 - Interne 8MHz Clock Setup-Routine [/url] [url = http:/ / blog.tkjelectronics.dk/2010/02/stm32-overclocking /] TKJ Elektronik »STM32 - Overclocking [/url] Sie können auch mein Template-Projekt, das ein paar verschiedene Setup-Routinen, die es macht sehr viel leichter zu zählen Einstieg: [URL = "http://blog.tkjelectronics.dk/wp-content/uploads/STM32_Template_05-12-10.zip"] http://blog.tkjelectronics.dk/wp-content/uploads/STM32_Template_05- 12-10.zip [/URL]
 
Eine Sache - warum willst du, dass die Taktrate bei der Ausführung aus dem internen Oszillator 36MHz begrenzt ist? Sie können den Multiplikator auf 16x gesetzt, und dann wird es bei 64MHz laufen. Ich konnte nichts finden Sie im Datenblatt, dass eine andere Frequenz max für interne vs externen Oszillator hat. Auch bei der Versorgung mit aktuellen Seite, ist einer der Tests sie für 64MHz internen Oszillator.
 
Ja, können Sie den Multiplikator auf 16x eingestellt, aber wir haben noch keine Erfolg mit dieser - der STM32 bekam instabil oder war nicht einmal in der Lage zu laufen!
 

Welcome to EDABoard.com

Sponsor

Back
Top