1 JLink方式

1.0 下载JLink

传送门:SEGGER官网

图1.0 下载JLink

1.2 安装JLink

双击打开下载文件:JLink_Linux_V644i_x86_64.deb

1.3 检验安装

cd /opt/

文件目录

└── SEGGER
├── JLink
├── JLink_V644i

1.4 执行JLink

cd /opt/SEGGER/JLink
./JLinkExe

未连接开发板

图1.2 进入JLink命令行
连接J-Link仿真器即可完成连接.
## 1.5 下载程序
```
# 启动J-Link
./JLinkExe
# 停止运行的程序
h
# 选择芯片型号
exec device=STM32F103ZE
# 下载程序
loadbin LED.bin 0x8000000
```
# 2 ST-Link方式
## 2.1 安装usb依赖
```
sudo apt-get install libusb-dev
sudo apt-get install libusb-1.0-0-dev
```
## 2.2 添加编译器并初始化
```
sudo apt-get update
sudo apt-get install gcc-arm-none-eabi
```
## 2.3 下载stlink
传送门:[https://github.com/texane/stlink](https://github.com/texane/stlink)
## 2.4 安装工具
```
sudo apt-get install autoconf automake libtool
sudo apt-get install libgtk-3-dev
```
## 2.5 编译
```
cd stlink
make release
make debug
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
cd build/Release
sudo make install
```
## 2.6 创建节点
```
sudo udevadm control --reload-rules
sudo udevadm trigger
```
## 2.7 文件部署
将st-flash复制到/usr/bin目录下
## 2.8 查看st-link版本
```
st-info --version
```
```
v1.5.1-28-gd040db5
```
## 2.9 查看芯片信息

注意:使用ST-Link连接电路板.

命令行显示

st-util

图2.1 芯片信息

界面显示

stlink-gui

图2.1 ST-Link 界面显示芯片信息

2.10 生成bin文件

看图说话:

图2.2 配置生成bin

其中配置路径为:

编译文件fromelf.exe路径--bin --output 输出bin文件路径 编译生成的axf源文件

/path/core/ARM/ARMCC/bin/fromelf.exe --bin --output ./OBJ/led.bin ./OBJ/led.axf

2.12 下载文件到芯片

sudo st-flash wirte led.bin 0x8000000

图2.3 下载程序

3 查看usb接口

查看usb接口状态

lsusb

图3.1 芯片接口信息

查看接口权限

ll /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 5月  21 10:11 /dev/ttyUSB0

查看usb接入状态

dmesg

图3.1 连接成功

4 问题

Problem1

st-info: error while loading shared libraries: libstlink.so.1: cannot open shared object file: No such file or directory

plan

sudo ldconfig

[参考文献]

1 https://blog.csdn.net/lc_cc/article/details/66982821

2 https://blog.csdn.net/weixin_40606111/article/details/84636067

3 http://www.cnblogs.com/zjutlitao/archive/2015/12/22/5065322.html

4 https://blog.csdn.net/a13526758473/article/details/60468652

5 https://github.com/texane/stlink/blob/master/doc/compiling.md

6 http://www.stmcu.org.cn/module/forum/thread-618905-1-1.html

7 https://www.cnblogs.com/alanfeng/p/5659253.html

Ubuntu环境下载程序到STM32的更多相关文章

  1. GEC6818连接Ubuntu,下载程序至开发板

    使用  secure CRT连接开发板,可视化操作 连接成功 设置临时ip ubuntu 要跟 开发板同一网段: ip前三位相同 代码:sudo service tftpd-hpa restart 代 ...

  2. 如何使用串口来给STM32下载程序

    前言 第一次学习STM32的时候,不知道有调试器这个东西,所以一直是通过串口来给STM32下载程序,下载速度也还算可以,一般是几秒钟完成.后来用了调试器,可以直接在Keil环境下进行下载,而且还可以进 ...

  3. 关于第一次STM32连接电脑下载程序

    安装了Keil(ARM)版本之后,不管是自己编程,还是配套的程序运行.我们都想把它下载到STM32芯片里面,在板子上运行.这里介绍几种方法. 1.用J-LINK下载调试. 这个工具,可以直接点击kei ...

  4. Ubuntu环境使用apt命令下载管理包的优势

    操作系统:Ubuntu 18.04 LTS 一.概述 之前在Ubuntu下我一直坚持将软件下载包下载到指定文件夹下进行解压安装的习惯,在部门同事的建议下,我开始使用apt命令下载管理包. 由于网上已经 ...

  5. ubuntu 环境下的QT程序打包

    很多的时候 需要将自己写的QT 程序发布一下  所以今天教一下 怎么在ubuntu 环境下将自己的写的Qt 程序打包打包是为了不依赖 开发环境 和开发的库. 1. QtCreate使用Release版 ...

  6. java程序: 从kernel.ubuntu.com下载kernel - HttpURLConnection

    用java实现从kernel.ubuntu.com下载内核的小工具 现在的最新的LTS版本是4.19,目前已经更新到4.19.13了. Kernel的更新通知里,经常有下面的陈述: 作为一个听劝的人, ...

  7. 图解Stm32使用jlink下载程序时jtag接口(SW和JTAG模式)的简化方法

    转自: http://www.it165.net/embed/html/201308/2332.html 用过stm32的人都知道stm32有两种常用下载程序的方法,用串口和jlink.串口下载方法和 ...

  8. STM32F407 开发环境搭建 程序下载 个人笔记

    详细资料: http://www.openedv.com/thread-13912-1-1.html 需要安装的软件: 1.keil(MDK,必选),用keygen破解 2.CH340驱动,(usb串 ...

  9. STM32无法使用IAR下载程序问题

    一开始建立了工程,然后程序下载都很正常.不知道什么情况自己下载代码之后,再重新下载代码无法成功. 我按照提示找了一下FlashStm32f30x8.flash这个文件,却发现IAR的目录下没并没有.又 ...

随机推荐

  1. 简单web服务工作流程梳理

       一.用户访问web基本流转过程梳理 二.web框架粗略概括

  2. 1、zabbix监控基础概念

    目录 为什么要使用监控? 监控怎么用? 去到一家新公司,应该如何搭建监控系统? 我叫张贺,贪财好色.一名合格的LINUX运维工程师,专注于LINUX的学习和研究,曾负责某中型企业的网站运维工作,爱好佛 ...

  3. RSTP基本配置

    1.用四台S3700交换机,2台PC机,一台HUB,组建网络拓扑 2.测试主机间的连通性 3.配置rstp基本功能 (1)把交换机stp模式由默认的mstp变为rstp.在华为交换机上默认开启了mst ...

  4. linux字体,bashrc的问题的解决

    0.查看文件 :set ff #查看文件类型 这里是fileformat=unix :set ff=dos 设置为dos模式, 也可以用 sed -i 's/$/\r/' :set ff=unix 设 ...

  5. 关于 Noip的考纲

    关于 \(\text{Noip}\) 的考纲 先放一张图 : 此图包含了 \(\text{Noip}\) 自开始到结束 的所有真题的考察知识点 算法分类标准主要来自于 \(\text{Luogu}\) ...

  6. java虚拟机规范学习笔记之数据类型

    1.1 class文件格式 编译后被Java虚拟机所执行的代码使用了一种平台中立的二进制格式来表示,并且经常以文件的形式来存储,这种格式称为class文件格式.class文件格式中精确的定义了类与接口 ...

  7. Gin实现依赖注入

    前言 依赖注入的好处和特点这里不讲述了,本篇文章主要介绍gin框架如何实现依赖注入,将项目解耦. 项目结构 ├── cmd 程序入口 ├── common 通用模块代码 ├── config 配置文件 ...

  8. TCP的三次握手与四次挥手理解

    本文经过借鉴书籍资料.他人博客总结出的知识点,欢迎提问 序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生:给字节编上序号后 ...

  9. 微软宣布.NET Native预览版 C#可编译为本地机器码【转】

    英文原文:Announcing .NET Native Preview 微软在 MSDN 博客上宣布了 .NET Native 的开发者预览版..NET Native 可以将 C# 代码编译成本地机器 ...

  10. .net core EF Core 视图的应用

    由之前的一篇文章<.net core Entity Framework 与 EF Core>我们都已经知道 EF Core 增加了许多特性,并且性能上也有了很大的提升. 但是EF Core ...