一个可用的 SDCC STM8 CMake 配置

如果你一直在拼命寻找 STM8 微控制器 SDCC 编译器的可用 CMake 示例,这是我的方案:

CMakeLists.txt
cmake_minimum_required(VERSION 3.2)

set(CMAKE_C_OUTPUT_EXTENSION ".rel")
set(CMAKE_C_COMPILER sdcc)
set(CMAKE_SYSTEM_NAME Generic) # 无 linux 目标等

# 防止默认配置
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)

# 烧录目标
add_custom_target(flash ALL COMMAND stm8flash -c stlink -p stm8s105c6 -w main.ihx)

这将从 main.c 构建 main.ihxmain.ihx 是 Intel Hex 文件,可以使用 stm8flash 直接烧录。

最后几行设置 make flash;你可能需要使用正确的微控制器(在此示例中为 stm8s105c6,运行 stm8flash -l 显示支持的设备)和正确的烧录适配器(stlinkstlinkv2stlinkv21stlinkv3espstlink)。

此处显示的设置示例适用于 STM8S 评估板。

我想它可以轻松修改用于其他微控制器,但到目前为止我还没有尝试过。


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