Eine funktionierende SDCC STM8 CMake-Konfiguration

English Deutsch

Wenn du verzweifelt nach einem funktionierenden CMake-Beispiel für den SDCC-Compiler für STM8-Mikrocontroller gesucht hast, hier ist mein Ansatz:

CMakeLists.txt
cmake_minimum_required(VERSION 3.2)

set(CMAKE_C_OUTPUT_EXTENSION ".rel")
set(CMAKE_C_COMPILER sdcc)
set(CMAKE_SYSTEM_NAME Generic) # No linux target etc

# Prevent default configuration
set(CMAKE_C_FLAGS_INIT "")
set(CMAKE_EXE_LINKER_FLAGS_INIT "")

project(STM8Blink C)
SET(CMAKE_C_FLAGS "-mstm8 --std-c99")
add_executable(main.ihx main.c)

# Flash targets
add_custom_target(flash ALL COMMAND stm8flash -c stlink -p stm8s105c6 -w main.ihx)

Dies wird main.ihx aus main.c bauen. main.ihx ist eine Intel Hex-Datei, die direkt mit stm8flash geflasht werden kann.

Die letzten Zeilen richten make flash ein; du musst möglicherweise den korrekten Mikrocontroller (stm8s105c6 in diesem Beispiel, führe stm8flash -l aus um unterstützte Geräte anzuzeigen) und den korrekten Flash-Adapter (stlink, stlinkv2, stlinkv21, stlinkv3 oder espstlink) verwenden.

Das hier gezeigte Setup-Beispiel ist für das STM8S-Eval-Board.

Ich nehme an, es kann leicht für andere Mikrocontroller modifiziert werden, aber ich habe das bisher nicht ausprobiert.


Check out similar posts by category: CMake, Embedded, Hardware