linux下stm32开发环境搭建---makefile版
linux下stm32开发环境搭建—makefile版
软件环境
linux(使⽤opensuse 64位测试,理论兼容所有linux发⾏版)
oracle jre(不推荐使⽤openjdk)
STM32CubeMX(⽤于⽣成⼯程及对应makefile⽂件)
STM32CubeProgrammer(⽤于固件烧写)
gcc-arm-none-eabi(编译器)
vscode
硬件环境
stm32F407
独⽴stlink(⽀持boot1=0,boot0=1启动可以不⽤stlink)
软件安装linux安装jdk环境变量
linux
oracle jre
下载jre-8u201-linux-x64.rpm,使⽤rpm -ivh jre-8u201-linux-x64.rpm安装,安装完成后会⾃动在/usr/bin/⽂件夹下⽣成java命令的软链接,不需要再配置环境变量。
STM32CubeMX,STM32CubeProgrammer
从st官⽹下载,正常下⼀步安装即可。本教程安装到~ /program⽂件夹下,安装完成会在桌⾯⽣成快捷⽅式,打开即可验证是否安装成功。
vscode
从官⽹下载安装
建⽴⼯程
使⽤cubeMX来⽣成makefile⼯程代码,在⽣成时注意选择makefile,如下图
点击generate code,在对应⽬录下⽣成⼯程⽂件
编译
在⼯程⽬录下执⾏make命令,出现如下类似内容,则环境搭建正常。⼯程⽬录下build⽂件中会⽣成对应固件。
arm-none-eabi-size build/stm32f407cube.elf
text    data    bss    dec    hex filename
11300      20  17668  28988    713c build/stm32f407cube.elf
arm-none-eabi-objcopy -O ihex build/stm32f407cube.elf build/stm32f407cube.hex
arm-none-eabi-objcopy -O binary -S build/stm32f407cube.elf build/stm32f407cube.bin
烧录固件
烧录固件使⽤STM32CubeProgrammer来烧录,此处介绍使⽤命令⾏来烧录的⽅法。烧录命令为STM32_Programmer_CLI,此命令在STM32CubeProgrammer安装⽬录下,为了使⽤⽅便,同样在~/bin/⽬录下建⽴软链接,软链接重命名为 stm32cli, stlink正常识别的情况下执⾏以下命令:
stm32cli -c port=swd freq=3900 -w ./data.hex
完成固件烧写(data.hex换成需要烧写的固件名)。STM32_Programmer_CLI命令有关参数可以在官⽹查。烧写完成如下图所⽰
⼩结
简单介绍在linux下搭建stm32开发环境的⼀种⽅法,内容⽐较简陋,只提供了⼤概的搭建流程,⼀些软件的使⽤没有具体写出。此⽅法理论上在window下也可正常使⽤,这样就可以直接使⽤vscode编译,下载,不需要在vscode下编写完,还要切换到keil或者其他ide环境下编译下载。如以上步骤繁琐,可以使⽤STM32CubeMX+sw4stm32组合,同样可以达到在linux下开发stm32的⽬的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。