[ Linux ] 虚拟机 + VScode + STM32Cube 开发STM32|CSDN创作打卡

环境配置

进入官网下载gcc-arm-none-eabi
根据虚拟机环境选择对应编译器安装
在这里插入图片描述
在这里插入图片描述

安装编译器

参考gcc编译器安装步骤,安装好后查看版本
在这里插入图片描述

安装make

sudo apt-get install make

配置软件

CubeMx生成Makefile

使用VSCode开发STM32,所以我们用CubeMx生成代码时,Toolchain/IDE选择Makefile。其余CubeMx配置不变
在这里插入图片描述

编译

修改makefile,添加自己的代码

C_SOURCES =  \
    ......
    Core/Src/system_stm32f1xx.c  \
    MyApplication/Src/CallBack.c \
    MyApplication/Src/MyInit.c \
    MyApplication/Src/Public.c \
    MyApplication/Src/System.c 
    
C_INCLUDES =  \
    ......
    -IDrivers/CMSIS/Include \
    -IMyApplication/Inc

注:第一次编译使用bear make 生成compile_commands.json 参考使用VS code 连接远程linux服务器

下载代码,使用STLink

安装openocd

sudo apt-get install openocd

在工程下面建立配置文件config.cfg

/usr/share/openocd/scripts/interface文件下面是支持的烧录工具
/usr/share/openocd/scripts/target文件下是32系列的板子信息文件

source [find interface/stlink-v2.cfg]
source [find target/stm32f1x.cfg]
adapter_khz 6000                     // 烧录的速度

运行下载

方法一、使用xx.bin文件下载

openocd -f config.cfg在这里插入图片描述
另开一个终端下载代码

telnet localhost 4444      // 连接至openocd
reset halt                 // 重启并暂停
program build/IOT_STM32_Project.bin     // 烧录 烧录的文件路径
reset run                  // 重启并运行
exit                       // 退出

在这里插入图片描述

方法二、使用xx.hex下载

修改Makefile

# download cfg
INTERFACE_CFG=/usr/share/openocd/scripts/interface/stlink-v2.cfg
TARGET_CFG=/usr/share/openocd/scripts/target/stm32f1x.cfg
#######################################
# download
#######################################
download:
    openocd -f $(INTERFACE_CFG) -f $(TARGET_CFG) -c init -c halt -c "flash write_image erase $(PWD)/$(BUILD_DIR)/$(TARGET).hex" -c reset -c halt -c shutdown

在这里插入图片描述

字符编码转换

VSCode默认字符编码为UTF-8,一般我们写STM32时常用的是GB2312,我们可以通过书写settings.json来将字符编码默认设置为GB2312

在.vscode下创建文件settings.json,添加 “files.encoding”: “gb2312” 即可
在这里插入图片描述

版权声明:本文为CSDN博主「Bazinga bingo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43564241/article/details/122847585

生成海报
点赞 0

Bazinga bingo

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

[STM32学习]——一文搞懂I2C总线

目录 I2C总线的概念 I2C最重要的功能包括: I2C的物理层 I2C主要特点: I2C的高阻态 I2C物理层总结: I2C的协议层 初始(空闲)状态 开始

串口之间的文件传输

一、实验目的 将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压

串口配置TMC2209电机驱动模块

串口配置TMC2209电机驱动模块 本文主要记录TMC2209调试过程,通过串口助手配置TMC2209的寄存器实现转速,方向,细分数等寄存器设置。 1.首先要实现uart配置TMC2209寄存器就要先