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. java面试填坑解惑篇

    感谢原文出处:https://www.cnblogs.com/javazhiyin/ NO1.请简单描述JDK和JRE的区别? NO1.回答JDK和JRE的区别这道题,首先要回答两个名次的概念,JDK ...

  2. 浅谈JS的toString

    任何一个对象都有toString()方法(默认继承自Object,自己可以重写),此方法返回一个字符串. var sayYo = function () { alert("sayYo2!&q ...

  3. 鲜贝7.3--python安装

    方法一:google 搜索 anaconda 进入官网下载64位最新版本 勾选加入环境变量 +默认3.7 打开cmd pip 发现已经完成安装 右键此电脑 属性 高级属性 环境变量 ’ 已经被加入 方 ...

  4. ionic4 ion-picker用法

    ion-picker实际开发中肯定多处使用,所以封装成服务的形式调用 新建picker.service服务模块   ionic g service picker import { Injectable ...

  5. Python进阶-XV 类和对象的命名空间 组合

    一.类和对象命名空间 1.类中可以定义两种属性 静态属性和动态属性 class Course: language = 'Chinese' # 静态属性 def __init__(self, name, ...

  6. Linux 目录详细介绍

    [常见目录说明] 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里. /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录,是用户主目录的基点 ...

  7. MySQL实战45讲学习笔记:第四十五讲

    一.本节概述 MySQL 里有很多自增的 id,每个自增 id 都是定义了初始值,然后不停地往上加步长.虽然自然数是没有上限的,但是在计算机里,只要定义了表示这个数的字节长度,那它就有上限.比如,无符 ...

  8. MySQL实战45讲学习笔记:第三十三讲

    一.引子 我经常会被问到这样一个问题:我的主机内存只有 100G,现在要对一个 200G 的大表做全表扫描,会不会把数据库主机的内存用光了? 这个问题确实值得担心,被系统 OOM(out of mem ...

  9. vscode10个必装的插件

    VSCode 必装的 10 个高效开发插件   本文介绍了目前前端开发最受欢迎的开发工具 VSCode 必装的 10 个开发插件,用于大大提高软件开发的效率. VSCode 的基本使用可以参考我的原创 ...

  10. macbook pro更换键盘的排线

    以下是拆机图解 很简单的 有点动手能力的都可以更换 另外附加淘宝上的链接 https://item.taobao.com/item.htm?spm=a1z09.2.0.0.68a12e8dYAiQIx ...