项目简介
本项目的目标是把采用Keil嵌入式开发工具(像Keil µVision)开发的STM32项目,转换为用CMake进行构建和管理。借助CMake的跨平台特性与强大构建系统,能够简化STM32项目的开发流程,提升项目的可维护性和可移植性。
项目的主要特性和功能
- 跨平台构建:支持在Windows和Linux系统上利用CMake开展项目构建。
- 工具链配置:自动配置GNU Arm Embedded Toolchain,保证编译器和工具链的正确使用。
- IDE集成:支持Visual Studio Code的C/C++扩展,可实现智能代码补全和语法检查。
- 编码转换:提供从GBK到UTF - 8的编码转换工具,确保代码在不同环境下的兼容性。
- 命令行工具支持:保留Keil的命令行工具支持,便于开发者进行批量处理和自动化构建。
安装使用步骤
1. 环境准备
确保安装以下工具和环境: - CMake - GNU Arm Embedded Toolchain - MSYS2(仅限Windows用户) - stlink(用于烧录和调试)
2. 修改CMakeLists.txt
Windows
修改CMakeLists.txt
中的tools
变量,指向GNU Arm Embedded Toolchain的安装路径:
cmake
set(tools "C:/Program Files (x86)/GNU Arm Embedded Toolchain/9 2020-q2-update")
使用以下命令生成Makefile:
powershell
cmake . -G "MSYS Makefiles"
Linux
直接使用以下命令生成Makefile:
bash
cmake .
3. 配置Visual Studio Code
修改c_cpp_properties.json
,配置C/C++扩展以确保IntelliSense正常工作:
jsonc
{
"configurations": [
{
"name": "STM32F10X",
"includePath": [
"${workspaceFolder}/**",
"C:\\Program Files (x86)\\GNU Arm Embedded Toolchain\\9 2020-q2-update\\arm-none-eabi\\include\\**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE",
"STM32F10X_HD",
"USE_STDPERIPH_DRIVER"
],
"compilerPath": "C:\\Program Files (x86)\\GNU Arm Embedded Toolchain\\9 2020-q2-update\\bin\\arm-none-eabi-gcc.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "${default}",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
4. 编码转换
如果源文件使用GBK编码,建议转换为UTF - 8:
bash
find ./ -name "*.c" -o -name "*.cpp" -o -name "*.h" -type f | xargs enca -L chinese -x utf-8
5. 构建和烧录
使用生成的Makefile进行构建,并使用stlink工具进行烧录和调试。
bash
make
st-flash write build/your_project.bin 0x8000000
通过以上步骤,您可以顺利地将Keil项目转换为使用CMake进行构建和管理的STM32项目。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】