linux下stm32开发环境搭建---makefile版

版权声明:本文为博主原创文章,尊重原创,转载请注明出处。
https://blog.csdn.net/liu121068/article/details/86624674

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

  • oracle jre
    下载jre-8u201-linux-x64.rpm,使用rpm -ivh jre-8u201-linux-x64.rpm安装,安装完成后会自动在/usr/bin/文件夹下生成java命令的软链接,不需要再配置环境变量。

  • gcc-arm-none-eabi
    下载地址:https://launchpad.net/gcc-arm-embedded/+download
    下载linux版编译器, gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2 ,
    解压到opt目录下(root权限)。
    环境配置:shell下,默认~/bin文件夹已加入PATH中,所以可以利用此文件夹来配置环境。使用ln -s命令创建 编译器软链接,软链接都放到~/bin文件夹下,创建完成如下:
    在这里插入图片描述
    可以输入arm-none-eabi-gcc -v来验证环境是否成功建立

  • 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的目的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值