Hallo! Nachdem ich auf mein stm32f4 etwas flashe, läuft ja das Programm. Wenn ich nunr aber die Stromversorgung trenne und neu verbinde, oder das board resette, dann wird das Programm nicht mehr ausgeeführt, aber direkt nach den flashen wieder schon. Wieso? Wie kann ich das fixen?
>aber die Stromversorgung trenne und neu verbinde, oder das >board resette, dann wird das Programm nicht mehr ausgeeführt, aber >direkt nach den flashen wieder schon. Wieso? Läuft dein Programm aus dem RAM? Zieh doch mal den Programmer ab.
Passiert nix beim Abziehen EDIT: "sucessfully loaded flash loader in sram"
Schau doch mal im .map file nach, wo er dein Programm hinlegt. Du schreibst ja leider nichts über die von dir benutzte Toolchain, aber in der Gegend, wo das erzeugte .hex liegt, sollte auch das passende .map liegen. Der entscheidende Teil in diesem File (normale Textdatei) heisst:
1 | Linker script and memory map |
2 | |
3 | 0x20020000 _eram = 0x20020000 |
4 | |
5 | .text 0x08000000 0x1a7c |
6 | *(.isr_vector) |
7 | .isr_vector 0x08000000 0x188 ..\obj\startup_stm32f4xx.o |
8 | 0x08000000 g_pfnVectors |
9 | *(.text*) |
10 | .text.SYSCFG_EXTILineConfig |
11 | 0x08000188 0x7c ..\obj\stm32f4xx_syscfg.o |
12 | 0x08000188 SYSCFG_EXTILineConfig |
13 | .text.Default_Reset_Handler |
14 | 0x08000204 0x5c ..\obj\startup_stm32f4xx.o |
15 | 0x08000204 Default_Reset_Handler |
16 | 0x08000204 Reset_Handler |
17 | .text.Default_Handler |
18 | 0x08000260 0x8 ..\obj\startup_stm32f4xx.o |
19 | 0x08000260 RTC_Alarm_IRQHandler |
usw. wenn das ein Programm im Flash liegt, also bei 0x08000000. Dies hier ist das Dicovery F4 Board.
An welchem Fehler? Könntest Du den Code posten und die Fehlerursache kurz erklären?
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.