Ubuntu环境下载程序到STM32
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的更多相关文章
- GEC6818连接Ubuntu,下载程序至开发板
使用 secure CRT连接开发板,可视化操作 连接成功 设置临时ip ubuntu 要跟 开发板同一网段: ip前三位相同 代码:sudo service tftpd-hpa restart 代 ...
- 如何使用串口来给STM32下载程序
前言 第一次学习STM32的时候,不知道有调试器这个东西,所以一直是通过串口来给STM32下载程序,下载速度也还算可以,一般是几秒钟完成.后来用了调试器,可以直接在Keil环境下进行下载,而且还可以进 ...
- 关于第一次STM32连接电脑下载程序
安装了Keil(ARM)版本之后,不管是自己编程,还是配套的程序运行.我们都想把它下载到STM32芯片里面,在板子上运行.这里介绍几种方法. 1.用J-LINK下载调试. 这个工具,可以直接点击kei ...
- Ubuntu环境使用apt命令下载管理包的优势
操作系统:Ubuntu 18.04 LTS 一.概述 之前在Ubuntu下我一直坚持将软件下载包下载到指定文件夹下进行解压安装的习惯,在部门同事的建议下,我开始使用apt命令下载管理包. 由于网上已经 ...
- ubuntu 环境下的QT程序打包
很多的时候 需要将自己写的QT 程序发布一下 所以今天教一下 怎么在ubuntu 环境下将自己的写的Qt 程序打包打包是为了不依赖 开发环境 和开发的库. 1. QtCreate使用Release版 ...
- java程序: 从kernel.ubuntu.com下载kernel - HttpURLConnection
用java实现从kernel.ubuntu.com下载内核的小工具 现在的最新的LTS版本是4.19,目前已经更新到4.19.13了. Kernel的更新通知里,经常有下面的陈述: 作为一个听劝的人, ...
- 图解Stm32使用jlink下载程序时jtag接口(SW和JTAG模式)的简化方法
转自: http://www.it165.net/embed/html/201308/2332.html 用过stm32的人都知道stm32有两种常用下载程序的方法,用串口和jlink.串口下载方法和 ...
- STM32F407 开发环境搭建 程序下载 个人笔记
详细资料: http://www.openedv.com/thread-13912-1-1.html 需要安装的软件: 1.keil(MDK,必选),用keygen破解 2.CH340驱动,(usb串 ...
- STM32无法使用IAR下载程序问题
一开始建立了工程,然后程序下载都很正常.不知道什么情况自己下载代码之后,再重新下载代码无法成功. 我按照提示找了一下FlashStm32f30x8.flash这个文件,却发现IAR的目录下没并没有.又 ...
随机推荐
- node.js中pm2启动应用出错
在将公司的应用容器化时,遇到的问题. 之前,同事使用node.js 6版本运行,pm2启动js文件,一切正常. 但我一样将node.js 6版本安装,然后npm install pm2完成. 运行pm ...
- 3.Python网络编程_多任务问题抛出
#单线程程序 import time def sing(): """唱歌5秒钟""" for i in range(5): print(&q ...
- python3.5.3rc1学习七:多线程
import threading def exampleFun(): #打印当前激活的线程数量 print(threading.active_count) #查看上面激活的线程是哪几个 print(t ...
- CF707D Persistent Bookcase
CF707D Persistent Bookcase 洛谷评测传送门 题目描述 Recently in school Alina has learned what are the persistent ...
- ionic4 新建 - 报错
npm install -g cordova ionic 安装依赖 ionic start myApp tabs 新建项目 ionic g page name name为页面名称 新建组件 创建公共模 ...
- unique_ptr的实现原理
在C++11中有两个智能指针类型来管理动态对象,share_ptr允许多个指针指向同一个对象,unique_ptr则“独占”所指对象. 我们知道指针或引用在离开作用域时是不会进行析构的,但是类在离开作 ...
- ASP.NET开发实战——(十)ASP.NET MVC 与数据库之MySQL&EF
之前介绍EF时介绍了provider这个配置项,而且也介绍了在ASP.NET访问MySQL数据仍然是通过ADO.NET,不同的地方仅仅是更换了MySQL的数据提供器,那么在EF中是否也只需更换“提供器 ...
- ItelliJ Idea 2019提交TFVC变更,系统提示Validation must be performed before checking in
问题描述 全新安装的Idea 2019,从Azure DevOps Server 2019 (原名TFS)的TFVC代码库下载文件,正常. 修改代码后,签入,系统提示"Validation ...
- Vue.js 源码分析(十八) 指令篇 v-for 指令详解
我们可以用 v-for 指令基于一个数组or对象来渲染一个列表,有五种使用方法,如下: <!DOCTYPE html> <html lang="en"> & ...
- C#中文转换为拼音NPinyin代码【转】
项目地址:https://code.google.com/p/npinyin/ 在一个采集的程序中,为了给每个文章起一个别名,据说有很好的别名的话,对于百度.google的收录 是很有好处的.按照Se ...