STM32开发(一)虚拟机 + VScode + STM32Cube 开发STM32|CSDN创作打卡

文章目录

    • 环境配置
      • 安装编译器
      • 安装make
    • 配置软件
      • CubeMx生成Makefile
    • 编译
    • 下载代码,使用STLink
      • 安装openocd
      • 在工程下面建立配置文件config.cfg
      • 运行下载
        • 方法一、使用xx.bin文件下载
        • 方法二、使用xx.hex下载
    • 字符编码转换

环境配置

进入官网下载gcc-arm-none-eabi
根据虚拟机环境选择对应编译器安装
在这里插入图片描述
STM32开发(一)虚拟机 + VScode + STM32Cube 开发STM32|CSDN创作打卡_第1张图片

安装编译器

参考gcc编译器安装步骤,安装好后查看版本
STM32开发(一)虚拟机 + VScode + STM32Cube 开发STM32|CSDN创作打卡_第2张图片

安装make

sudo apt-get install make

配置软件

CubeMx生成Makefile

使用VSCode开发STM32,所以我们用CubeMx生成代码时,Toolchain/IDE选择Makefile。其余CubeMx配置不变
STM32开发(一)虚拟机 + VScode + STM32Cube 开发STM32|CSDN创作打卡_第3张图片

编译

修改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.cfgSTM32开发(一)虚拟机 + VScode + STM32Cube 开发STM32|CSDN创作打卡_第4张图片
另开一个终端下载代码

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

STM32开发(一)虚拟机 + VScode + STM32Cube 开发STM32|CSDN创作打卡_第5张图片

方法二、使用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

STM32开发(一)虚拟机 + VScode + STM32Cube 开发STM32|CSDN创作打卡_第6张图片

字符编码转换

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

在.vscode下创建文件settings.json,添加 “files.encoding”: “gb2312” 即可
STM32开发(一)虚拟机 + VScode + STM32Cube 开发STM32|CSDN创作打卡_第7张图片

你可能感兴趣的:(STM32开发,vscode,stm32,linux,单片机,arm开发)