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. 批量bat脚本复制文件或文件夹

    主要用于在本地下,复制文件或文件夹到当前文件夹 @echo off echo 复制文件或文件夹到当前文件夹(复制文件选择[],复制文件夹选择[]) set /p num=输入选择的数字: : set ...

  2. SpringBoot Junit Demo

    package com.yunen.camera.test; import org.junit.Before; import org.junit.Test; import org.junit.runn ...

  3. FPDF_CloseDocument(doc);

    FPDF_CloseDocument(doc); 创建不加载就会段错误 必须创建     doc = FPDF_CreateNewDocument();

  4. pwn-pwn4

    依旧是先检查文件的类型和保护  64位没有保护 用IDA看看,read存在溢出,溢出0x18(不懂可以翻阅前面的博客) 函数system可以调用指令 shift+F12看看 $0在Linux中是she ...

  5. 通过 Beautiful Soup 4 预防 XSS 攻击

    通过beautifulsoup4预防XSS攻击 借助beautifulsoup4将用户输入内容进行过滤 实际使用时需要采用单例模式 步骤: 实例化对象,对页面进行解析 查找目标标签 将非法标签进行清空 ...

  6. DRF--验证器

    前戏 在之前我们对前端妹子传来的数据进行校验,使用的是序列化类来进行校验的,但这里面往往满足不了我们的需求,更多的时候我们希望自己定义校验规则.这里介绍三种自定义校验的方式.分别是单一字段校验,多个字 ...

  7. 物联网架构成长之路(35)-利用Netty解析物联网自定义协议

    一.前言 前面博客大部分介绍了基于EMQ中间件,通信协议使用的是MQTT,而传输的数据为纯文本数据,采用JSON格式.这种方式,大部分一看就知道是熟悉Web开发.软件开发的人喜欢用的方式.由于我也是做 ...

  8. resharper 8.2

    用户名:ronle注册码:ZoJzmeVBoAv9Sskw76emgksMMFiLn4NM

  9. LeetCode 841:钥匙和房间 Keys and Rooms

    题目: ​ 有 N 个房间,开始时你位于 0 号房间.每个房间有不同的号码:0,1,2,...,N-1,并且房间里可能有一些钥匙能使你进入下一个房间. ​ 在形式上,对于每个房间 i 都有一个钥匙列表 ...

  10. oracle排序子句的特殊写法与ORA-01785错误

    刚刚写的SQL语句在执行的时候报[ORA-01785: ORDER BY item must be the number of a SELECT-list expression]错误,于是自己百度了一 ...