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. KMP算法计算next值和nextVal值

    KMP算法: 给定一个主串S及一个模式串P,判断模式串是否为主串的子串:若是,返回匹配的第一个元素的位置(序号从1开始),否则返回0: 这里先不写算法,仅仅计算next和nextVal值 那么计算时只 ...

  2. Python常见异常及常用单词翻译

    Python常见异常及常用单词意思 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常:基本上是无法打开文件 ImportE ...

  3. Apache(基于端口号)

    1.配置服务器的IP地址 2.  创建网站数据目录 (1).分别创建端口为6111,6222的网站数据目录 (2).分别在网站数据目录中写入不同的内容 3.在配置文件中描述基于端口号的虚拟主机 (1) ...

  4. Spring熔断

    Hystrix不再维护,使用Resilience4j来代替.

  5. 关于appium的简单理解

    搭建好appium环境后,要学会定位app页面上的元素.下面是2款元素定位工具 uiautomatorviewer   -- Android SDK自带的元素定位工具,由Google开发的 Inspe ...

  6. 开发JQuery插件标准结构

    1. 定义作用域 定义一个JQuery插件,首先要把这个插件的代码放在一个不受外界干扰的地方.如果用专业些的话来说就是要为这个插件定义私有作用域.外部的代码不能直接访问插件内部的代码.插件内部的代码不 ...

  7. 浅谈字符串Hash

    浅谈字符串Hash 本篇随笔讲解Hash(散列表)的一个重要应用:字符串Hash. 关于Hash Hash是一种数据结构,叫做Hash表(哈希表),也叫散列表.关于Hash的实现,其实与离散化颇为类似 ...

  8. 【oracle】查看表空间信息

    -- 数据库查询表空间使用情况SELECT Upper(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB/1024 "表空间大小(G ...

  9. SQL Server 迁移数据库 (四)备份和还原

    1. 备份 2. 复制 3. 粘贴 4. 还原 截图软件出问题了,估计重启下就好,但是备份还原比较简单,懂的都懂,马上下班了就不贴图了.

  10. centos 8 重启网络 systemctl restart network 失效的解决办法

    参考: https://www.tecmint.com/set-static-ip-address-in-rhel-8/ https://www.tecmint.com/configure-netwo ...