首页 > 系统相关 >Linux使用命令行编译并用st-link烧录STM32

Linux使用命令行编译并用st-link烧录STM32

时间:2024-02-27 21:48:03浏览次数:26  
标签:bin 烧录 basename st 编译 Linux arm

创建工程

在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

为以上命令设置快捷命令,以后可以用stflash替代这段命令,其中stflash可以自己任意设定。

添加alias至.bashrc

echo 'alias stflash="st-flash write ./build/$(basename "$PWD").bin 0x08000000"'

标签:bin,烧录,basename,st,编译,Linux,arm
From: https://www.cnblogs.com/hanzohuang/p/18038447

相关文章

  • RNN循环神经网络&LSTM长短期记忆网络&GRU
    个人学习使用,内容来源于网络,侵权删1.基本原理传统网络的结构:RNN的结构:使用场景:语音识别,要按顺序处理每一帧的声音信息,有些结果需要根据上下文进行识别;自然语言处理,要依次读取各个单词,识别某段文字的语义这些场景都有一个特点,就是都与时间序列有关,且输入的序列数......
  • linux基本知识汇总1(基础命令) 20000字汇总
    linux版本号主版本号.次版本号.修正次数2.6.30--次版本号为偶数:稳定版奇数:测试版$$$$命令选项查看方式1.内建命令(help)格式:help+内建命令####help命令//命令使用说明2.外部命令(–help)一般是Linux命令自带的帮助信息,并不是所有命令都自带这个......
  • post-2023-hang-dian-duo-xiao-ji-lu
    \(\textbf{2023—2024赛季记录}\)Round3第一次打HDU多校。队友是pjy和lxy。比赛开始时发生了一些小事故,pjy被骗到学校去了,导致半个小时没联系上,一开始用的是team305,后面换成了team306。开局先切了个签到题1005,然后pjy过了1011,lxy过了1004。由于晚了快半个......
  • 1 Rust初识
    Rust初识0.引言我学习Rust的初衷是为了开发WebAssembly,因为其的性能JavaScript快,而且可以编译成WebAssembly供浏览器使用。其实还有另一个原因,就是合我的专业(物联网应用开发)关联性很强,毕竟是要用到嵌入式开发的。加上我一直对像Java的编程语言,对于我来说,加上java的前......
  • = Request processing failed; nested exception is com.example.exceptio
    =Requestprocessingfailed;nestedexceptioniscom.example.exceptio关于映射文件的问题下次再介绍,这次主要总结hibernate常用主键生成策略。(1)incrementa)对主键值采取自动顺序增长的方式生成新的主键,值默认从1开始。b)原理:在当前应用实例中维持一个变量,以保存当前最......
  • C++ STL 容器 list类型
    C++STL容器list类型list对于异常支持很好,要么成功,要么不会发生什么事情以下是std::list在异常处理方面表现良好的几个原因:动态内存管理:std::list使用动态内存分配来存储元素,这意味着它会在需要时自动分配内存,并在不再需要时释放内存。这种自动管理可以减少内存泄漏和悬......
  • 基于VsCode platformio的stm32开发环境搭建
    基于VsCodeplatformio的stm32开发环境搭建背景VsCode作为当下流行的编辑器,且不单单是一个编辑器里面集成了很多插件,使用这些插件可以完成很多功能。STM32开发环境除了KEIL与IAR,其实还有很多其他的开方方式,ST官方提供了很多的开发软件,基于Eclipse也可以搭建一套,使用VsCode配合......
  • 基于STM32F407MAC与DP83848实现以太网通讯四(STM32F407MAC数据收发与DMA描述符)
    上一章实现的MAC数据包的基础收发功能,但是只是简单的操作了ETH外设的收发包函数并没有深入了解其中的原理逻辑,本章结合STM32F40x文档与STM32F4x7_ETH_Driver驱动库了解MAC的收发包流程。一、描述符列表 在创建描述符列表之前先了解描述符列表的定义,描述符就软件来说就是一个结......
  • C++ STL 容器-Deque
    C++STL容器-Dequestd::deque(双端队列)是C++标准模板库(STL)中的一个容器,它支持在序列的两端快速插入和删除元素。与std::vector和std::list等其他序列容器相比,std::deque在某些特定场景下具有独特的优势。元素的访问和迭代比vector慢,迭代器不是普通的指针。以下是std::deque的一......
  • SWR " stale-while-revalidate " 立即使用缓存数据 + 后台异步刷新
    在软件开发中,SWR是"stale-while-revalidate"的首字母缩写,这是一种在网络应用(尤其是Web应用)中用于数据获取和缓存的策略。这个策略最早由Next.js团队提出并在其数据获取库next/swr中实现了这个思想。SWR的工作原理如下:立即使用缓存数据:当页面首次加载或数据需要更......