Forum: Mikrocontroller und Digitale Elektronik STM32 IAP boot loader


von har (Gast)


Lesenswert?

Hallo liebes Forum,

ich beschäftige mich seit kurzem mit dem STM32F303.
In Zukunft möchte ich ein geschriebenes Programm über die UART auf den 
Prozessor programmieren (also ohne Programmer).
Hierfür habe das Datenblatt "AN4045 - STM32F series in-application 
programming (IAP) using the USART" gefunden.
Hier steht, dass mittels des IAP drivers es möglich sei, ein binary file 
über ein HyperTerminal in den STM32F3xx internal Flash-Speicher zu 
übergeben.

Es ist sogar (aber meiner Meinung nach zu ungenau) ein Beispiele für das 
Vorgehen erläutert:
Über ein HyperTerminal (ich verwende Putty) werden die COM 
port-Einstellungen eingegeben. Diese sind: Baudrate: 115200; Databits: 
8; Parity: None; Stop-bits: 1; Flow control: None

Ich verwende die USART1 und bin auch über die TX und RX Pins an COM port 
1 des PCs verbunden.

Nach einem Reset sollte laut Beschreibung die IAP Firmware auf dem 
HyperTerminal erscheinen.
Aber leider scheitere ich bereits hier.

Hat jemand eine Idee, was ich vergessen habe einzustellen?

Bin für jede Hilfe und Idee dankbar!

von hp-freund (Gast)


Lesenswert?

Hast Du die IAP Firmware auch in deinen µC geflasht?

Die meinen nicht den internen ROM Bootloader des µC.

von har (Gast)


Lesenswert?

hp-freund schrieb:
> Hast Du die IAP Firmware auch in deinen µC geflasht?
>
> Die meinen nicht den internen ROM Bootloader des µC.

Nein hab ich nicht...

Bin ich eigentlich aber grundsätzlich auf dem richtigen Weg, wenn ich 
über die UART (ohne Programmer) den uC programmieren möchte?
Falls nein, wie müsste ich sonst vorgehen?

Falls doch, wo finde ich die IAP Firmware?

von hp-freund (Gast)


Lesenswert?

Die IAP Firmware müsste als Beispiel in deiner Lib dabei sein, oder 
extra bei ST. Habe ich jetzt nicht gesucht.

Als Software gibt es von ST den:

http://www.st.com/en/development-tools/flasher-stm32.html

oder auch andere z.B.:

http://www.firefly-power.de/ARM/sloadhost.html

von Jim M. (turboj)


Lesenswert?

har schrieb:
> Ich verwende die USART1 und bin auch über die TX und RX Pins an COM port
> 1 des PCs verbunden.

Ist das ein physicher COM Port? Wenn ja, fehlt da ein MAX3232 dazwischen 
- die PC Ports wollen RS232 Pegel sehen.

von har (Gast)


Lesenswert?

Danke für die Antworten!

Aber zum Verständnis muss ich noch folgende Frage stellen:
Da ich über USART und ohne Programmer den Prozessor programmieren 
möchte, muss ich trotzdem vorher die IAP Firmware einmalig auf den uC 
flashen, damit das Programmieren über USART überhaupt möglich ist?



Jim M. schrieb:
> Ist das ein physicher COM Port? Wenn ja, fehlt da ein MAX3232 dazwischen
> - die PC Ports wollen RS232 Pegel sehen.

ein Treiberbaustein für RS232 ist vorhanden!

von hp-freund (Gast)


Lesenswert?

har schrieb:
> muss ich trotzdem vorher die IAP Firmware

Nein. Die Programme arbeiten mit dem internen BL.
Nur BOOT0 Pin muss gesetzt werden.

von W.S. (Gast)


Lesenswert?

har schrieb:
> Da ich über USART und ohne Programmer den Prozessor programmieren
> möchte

Um es mal klar zu sagen:

Entweder du benutzt den im Chip vorhandenen Bootlader, wofür du eine 
serielle Verbindung zum PC brauchst und wozu du auf dem PC ein passendes 
Programm benötigst, das die Anforderungen des Bootladers erfüllt -

oder

du schriebst dir selber was Eigenes und denkst dir selbst ein Verfahren 
aus, wie du den soweit resident hinbekommst, daß er zum einen das 
normale Programm nicht stört (Vektoren..) und zum anderen persistent 
ist.

W.S.

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.