stm32 ninja+cmake和make环境安装

ninja+cmake+GCC编译环境:

Install the following tools:

* [CMake](https://cmake.org/download/) version 3.0 or later
* [GCC compilers for arm-none-eabi](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads)
* [Ninja](https://ninja-build.org/)

windows10系统注意:
1、Cmake需要添加至系统环境变量path
2、GCC编译器 添加至用户变量path
3、ninja 工具需要添加至系统环境变量path
4、需要安装Visual studio 工具包(建议安装)

make+GCC编译环境:

参考地址:https://www.cnblogs.com/birdBull/p/11574368.html

1  安装gcc编译器
能编译ARM Cortex M核的GCC编译器下载地址为:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
注意:安装完毕后需要将“Add path to environment variable”勾选上。

2、由于windows环境下没有make环境,所以我们还需要安装一个make工具,Make 工具用于 build 工程, 使用 Makefile 编译工程。 版本:gnu-mcu-eclipse-build-tools-2.9-20170629-1013-win64-setup.exe

下载地址:https://github.com/gnu-mcu-eclipse/windows-build-tools/releases/tag/v2.9-20170629-1013 直接双击安装,完成后将安装后的make命令目录添加到windows的path环境变量中,默认安装目录为: 
C:\Program Files\GNU MCU Eclipse\Build Tools\2.9-20170629-1013\bin\bin,在环境变量中添加安装目录即可。

3、创建STM32CubeMx工程

4、编译GCC下的裸机工程
 点击生成代码后,生成的裸机工程效果如下,在makefile同级目录下打开windows的cmd命令窗口(目录下按shift+鼠标右键,点击在此处打开命令窗口),输入make命令,就可以编译gcc裸机工程了,编译完成后,可以看到生成了elf和bin文件,通过ST Link工具就可以下载bin文件到开发板运行了。

### 配置VSCode使用CMake编译STM32项目的指南 #### 安装必要的工具链支持包 确保安装了适用于STM32开发的GNU Arm Embedded Toolchain以及OpenOCD调试器。这些工具可以通过Linux软件包管理器获取,也可以从官方网站下载。 对于Ubuntu/Debian系统,可以运行如下命令来安装基本依赖项[^1]: ```bash sudo apt-get update && sudo apt-get install gcc-arm-none-eabi gdb-multiarch openocd cmake ninja-build ``` #### 创建并配置CMakeLists.txt文件 在一个典型的STM32项目结构中,根目录下应该存在`CMakeLists.txt`文件用于定义构建过程。此文件需指定源码位置、目标芯片型号以及其他特定于硬件的信息。下面是一个简单的例子: ```cmake cmake_minimum_required(VERSION 3.10) project(stm32_project C ASM) set(CMAKE_C_STANDARD 99) set(CMAKE_ASM_FLAGS "-mcpu=cortex-m3") add_definitions(-DUSE_HAL_DRIVER -DSTM32F103xB) include_directories( ${PROJECT_SOURCE_DIR}/Inc/ ${PROJECT_SOURCE_DIR}/Drivers/STM32F1xx_HAL_Driver/Inc/ ${PROJECT_SOURCE_DIR}/Drivers/CMSIS/Device/ST/STM32F1xx/Include/ ${PROJECT_SOURCE_DIR}/Drivers/CMSIS/Include/ ) file(GLOB_RECURSE SOURCES "Src/*.c" "Core/Src/*.c") add_executable(${PROJECT_NAME}.elf ${SOURCES}) target_link_libraries(${PROJECT_NAME}.elf -T${PROJECT_SOURCE_DIR}/STM32F103RCT6_FLASH.ld -nostartfiles -Wl,--gc-sections -lc -lm -lnosys ) enable_testing() ``` #### 设置VSCode环境变量与扩展 在VSCode内打开工作区后,通过Extensions面板搜索并安装[CMake Tools][^2] [C++ Intellisense](https://marketplace.visualstudio.com/items?itemName=xpack.xpack-cmake-tools) 扩展。接着,在`.vscode/settings.json` 文件里加入以下配置片段以便正确识别交叉编译器路径: ```json { "terminal.integrated.shell.linux": "/bin/bash", "C_Cpp.default.compilerPath":"/usr/bin/arm-none-eabi-gcc", "cmake.configureSettings":{ "CMAKE_TOOLCHAIN_FILE":"path/to/toolchain-file.cmake" } } ``` 其中 `toolchain-file.cmake` 是可选参数,如果需要的话可以根据具体需求编写自定义工具链文件以进一步定制化编译选项。 完成上述步骤之后就可以利用VSCode内置终端执行常规的CMake指令来进行工程管理编译操作了。例如初始化缓存(`cmake -Bbuild`) 或者实际编译 (`cmake --build build`)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值