文章目录[隐藏]
环境配置
进入官网下载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
暂无评论