Linux使用命令行编译并用st-link烧录STM32
创建工程
在STM32CubeMX中配置,选择Makefile并生成。
环境安装
编译工程需要用到arm-none-eabi
,去官网下载对应系统版本,下载后解压到任意位置。
添加环境变量
添加环境变量到.bashrc
文件:
echo 'export PATH="/toolchain/arm-none-eabi/bin:$PATH"' >> ~/.bashrc
我解压的位置为/toolchain/arm-none-eabi
,原文件名包含版本号,我修改了文件夹名。
编译工程
在工程目录下进行编译
make
烧录
软件准备
安装stlink
sudo apt install stlink
接入烧录器,检验是否连接成功
st-info --descr
若出现芯片型号,则连接成功;无输出则连接失败。
烧录芯片
运行以下命令即可烧录
st-flash write ./build/$(basename "$PWD").bin 0x08000000
- Learn: basename
为以上命令设置快捷命令,以后可以用stflash
替代这段命令,其中stflash
可以自己任意设定。
添加alias至.bashrc
echo 'alias stflash="st-flash write ./build/$(basename "$PWD").bin 0x08000000"'