> For the complete documentation index, see [llms.txt](https://taiphoon-com.gitbook.io/taiphoon.com-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://taiphoon-com.gitbook.io/taiphoon.com-docs/de/support/knowledge-base/stm32cubeprogrammer.md).

# Flashen mit STM32CubeProgrammer

Über den USB-DFU-Modus wird die Firmware-Datei in den Flugcontroller geschrieben. Dieser Ablauf verwendet als Beispiel den Morakot und die ArduPilot-Datei `arducopter_with_bl.hex`.

## Werkzeuge und Firmware vorbereiten

* Laden Sie STM32CubeProgrammer von der [offiziellen ST-Website](https://www.st.com/en/development-tools/stm32cubeprog.html) herunter und installieren Sie es.
* Halten Sie die zum Flugcontrollermodell und zur Hardwareversion passende Firmware-Datei, z. B. `.hex` oder `.bin`, bereit. Wenn Sie eine bestimmte Version benötigen, wenden Sie sich an <service@taiphoon.com.tw>.
* Verbinden Sie Flugcontroller und Computer mit einem datenfähigen USB-Kabel.

{% hint style="warning" %}
Entfernen Sie zunächst die Propeller. Halten Sie während des Flashens Stromversorgung und USB-Verbindung aufrecht und warten Sie, bis das Programm fertig ist. Eine falsche Firmware-Datei oder Schreibadresse kann dazu führen, dass der Flugcontroller nicht mehr normal startet.
{% endhint %}

{% stepper %}
{% step %}

### DFU-Modus aktivieren

Ziehen Sie zunächst das USB-Kabel ab, halten Sie die Boot-Taste des Flugcontrollers gedrückt und stecken Sie dann das USB-Kabel ein, damit der Flugcontroller in den DFU-Modus wechselt. Unter Windows können Sie im Geräte-Manager prüfen, ob ein DFU-Gerät angezeigt wird; als Name kann **STM32 BOOTLOADER** oder **DFU in FS Mode** erscheinen.

<figure><img src="https://160136817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEhjsOwJXR5yBqExlT0G0%2Fuploads%2F8TKhXzCOQpmxXYaYLLJU%2Fimage.png?alt=media&#x26;token=6d8c9296-78dc-4344-b986-7cbac871060f" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/LGIboFrNXLJPJJ0guqxf/blobs/hNFMB4oLmqJpCEiXaa23/stm32-dfu-device-manager.png" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Flugcontroller per USB verbinden

Öffnen Sie STM32CubeProgrammer, wählen Sie im Verbindungsbereich rechts **USB**, prüfen Sie, dass das DFU-Gerät aufgeführt ist, und klicken Sie dann auf **Connect**.

<figure><img src="https://160136817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEhjsOwJXR5yBqExlT0G0%2Fuploads%2F3dP5X2OEpZdPVafizR8l%2Fimage.png?alt=media&#x26;token=08a189f6-f9f1-4683-a5c7-24124e0cf310" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Gesamten Chip löschen

Klicken Sie nach dem Verbinden links auf das zweite Symbol, um zur Seite **Erasing & Programming** zu wechseln, und klicken Sie auf dem Tab **Erase flash memory** auf **Full chip erase** (gesamten Chip löschen). Klicken Sie im Bestätigungsfenster (Are you sure you want to erase full chip flash memory?) auf **OK**, warten Sie, bis `Mass erase command correctly executed.` erscheint, und klicken Sie dann auf **OK**.

<figure><img src="https://content.gitbook.com/content/LGIboFrNXLJPJJ0guqxf/blobs/ibqDTZgURSVt8fd4HCNS/stm32-erasing-programming.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/LGIboFrNXLJPJJ0guqxf/blobs/zL5wW7jqOyzjgxAu2zIP/stm32-full-chip-erase-confirm.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/LGIboFrNXLJPJJ0guqxf/blobs/vqn3UfY4Qav3jScVO9yl/stm32-full-chip-erase-complete.png" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Beim Löschen des gesamten Chips wird der gesamte Inhalt des Flash-Speichers des Flugcontrollers gelöscht, einschließlich Bootloader und Firmware. Nach dem Löschen müssen Sie eine Firmware-Datei mit Bootloader flashen (z. B. `arducopter_with_bl.hex`), damit der Flugcontroller normal starten kann.
{% endhint %}
{% endstep %}

{% step %}

### Firmware-Datei öffnen

Klicken Sie auf **Open file**, wählen Sie die `.hex`- oder `.bin`-Datei des entsprechenden Produkts und klicken Sie dann auf **Öffnen**. In der Abbildung unten ist die Datei `arducopter_with_bl.hex` ausgewählt.

<figure><img src="https://160136817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEhjsOwJXR5yBqExlT0G0%2Fuploads%2FJlLMAFP5BMppS1Q2VnVG%2Fimage.png?alt=media&#x26;token=19b7335f-80d0-413a-b8d0-687c5bd6a326" alt=""><figcaption></figcaption></figure>

<figure><img src="https://160136817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEhjsOwJXR5yBqExlT0G0%2Fuploads%2FXie8M5goVet43t6vIkl2%2Fimage.png?alt=media&#x26;token=e9c9dd8b-41cf-4649-b68c-18fe8a5639bb" alt=""><figcaption></figcaption></figure>

Eine `.hex`-Datei enthält die Schreibadresse; bei Verwendung einer `.bin`-Datei müssen Sie die Schreibadresse gemäß den Flash-Anweisungen der jeweiligen Firmware angeben.
{% endstep %}

{% step %}

### Flashen starten

Prüfen Sie den geladenen Dateinamen und die Schreibadresse und klicken Sie auf **Download** (Herunterladen/Flashen), um die Firmware in den Flugcontroller zu schreiben.

<figure><img src="https://160136817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEhjsOwJXR5yBqExlT0G0%2Fuploads%2FOjny4CjDVEFcYCLvtChp%2Fimage.png?alt=media&#x26;token=b1dddf30-a0f5-452e-874e-75ef2179e076" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Auf den Abschluss des Flashens warten

Warten Sie, bis der Fortschritt abgeschlossen ist, und prüfen Sie, dass das Programm einen erfolgreichen Download/Flash-Vorgang meldet. Wenn ein Fehler auftritt, notieren Sie zunächst die vollständige Meldung und prüfen Sie Verbindung und Firmware-Datei, bevor Sie weiter vorgehen.

<figure><img src="https://160136817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEhjsOwJXR5yBqExlT0G0%2Fuploads%2FstENUXh69t1nO809TVlg%2Fimage.png?alt=media&#x26;token=d2b3110c-8047-435d-be1a-96e4dc40c1b9" alt=""><figcaption></figcaption></figure>

<figure><img src="https://160136817-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEhjsOwJXR5yBqExlT0G0%2Fuploads%2FLItbYpFEgzrbclvmexWa%2Fimage.png?alt=media&#x26;token=8d9794bb-ae66-4736-8c8b-0b37d247a0b2" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Neu starten und Firmware prüfen

Beenden Sie die Verbindung in STM32CubeProgrammer, ziehen Sie das USB-Kabel ab und starten Sie den Flugcontroller neu. Prüfen Sie, ob Firmware-Version, Status und Parameter ausgelesen werden können.
{% endstep %}
{% endstepper %}

## Weitere Einrichtung

Kehren Sie nach Abschluss des Flashens zu [Firmware flashen](/taiphoon.com-docs/de/firmware/ardupilot/flash-autopilot.md) zurück, um mit der Einrichtung fortzufahren.
