这段时间在研究怎么脱机实现STM32的下载,同时也了解了Windows和Linux的下载方式,st官方只提供了Windows的下载工具,Linux的版本并未提供,这里网上搜索后找到了st-link master这个Linux的工具,未提供bin文件,是开源的软件可以直接下载编译(git clone https://github.com/texane/stlink stlink.git),如果没有git那么浏览器访问https://github.com/texane/stlink进行下载。

我使用的是Ubuntu14.04 64位版系统,编译过程简单,如下:

./autogen.sh 
./configure
make

如果第一步都不通过,使用下面的命令安装工具:

sudo apt-get install autoconf automake libtool

安装后如果提示libusb的版本低,使用:sudo apt-get install libusb-1.0安装即可。

还有一个USB的配置文件需要拷贝到系统中,文件是49-stlinkv2.rules,拷贝到的位置是:/etc/udev/rules.d/

然后重启udev即可。

成功下载STM32程序如下所示:下载的命令是:st-flash write stm32.bin 0x8000000

2015-08-25T16:43:27 INFO src/stlink-common.c: Loading device parameters....
2015-08-25T16:43:27 INFO src/stlink-common.c: Device connected is: F2 device, id 0x201f6411
2015-08-25T16:43:27 INFO src/stlink-common.c: SRAM size: 0x20000 bytes (128 KiB), Flash: 0x80000 bytes (512 KiB) in pages of 131072 bytes
2015-08-25T16:43:27 INFO src/stlink-common.c: Attempting to write 155420 (0x25f1c) bytes to stm32 address: 134217728 (0x8000000)
EraseFlash - Sector:0x0 Size:0x4000
Flash page at addr: 0x08000000 erasedEraseFlash - Sector:0x1 Size:0x4000
Flash page at addr: 0x08004000 erasedEraseFlash - Sector:0x2 Size:0x4000
Flash page at addr: 0x08008000 erasedEraseFlash - Sector:0x3 Size:0x4000
Flash page at addr: 0x0800c000 erasedEraseFlash - Sector:0x4 Size:0x10000
Flash page at addr: 0x08010000 erasedEraseFlash - Sector:0x5 Size:0x20000
Flash page at addr: 0x08020000 erased
2015-08-25T16:43:31 INFO src/stlink-common.c: Finished erasing 6 pages of 131072 (0x20000) bytes
2015-08-25T16:43:31 INFO src/stlink-common.c: Starting Flash write for F2/F4/L4
2015-08-25T16:43:31 INFO src/stlink-common.c: Successfully loaded flash loader in sram
enabling 32-bit flash writes
size: 32768
size: 32768
size: 32768
size: 32768
size: 24348
2015-08-25T16:43:35 INFO src/stlink-common.c: Starting verification of write complete
2015-08-25T16:43:37 INFO src/stlink-common.c: Flash written and verified! jolly good!
burn application successfully.

既然Ubuntu可以实现下载,那么同为Linux的树莓派是不是也可以下载呢,为此又开始了使用树莓派来下载程序,代替电脑,这个对于批量生产来说比较好用,开始整。

首先Ubuntu下的st-flash等工具是不能再树莓派上使用的,有这想法的放弃吧,平台架构都不一样。为此唯一的办法就是让树莓派自己编译(想用Ubuntu编译arm版本的可执行文件?我试了,很麻烦,最后也没搞定),拷贝st-link master源码到树莓派(注意,一定要是原封的源码,自己未做修改的,就是直接下载下来的那个源码),解压进入配置,编译安装。

配置编译安装的方法同上,没有什么区别。

最后也成功了,下载的界面同上。

这里也有一个问题,Ubuntu和树莓派都存在,就是如果stm32在运行中下载程序的话,会失败,具体的打印如下:

2015-08-25T17:23:21 INFO src/stlink-common.c: Loading device parameters....
2015-08-25T17:23:21 INFO src/stlink-common.c: Device connected is: F2 device, id 0x201f6411
2015-08-25T17:23:21 INFO src/stlink-common.c: SRAM size: 0x20000 bytes (128 KiB), Flash: 0x80000 bytes (512 KiB) in pages of 131072 bytes
2015-08-25T17:23:21 INFO src/stlink-common.c: Attempting to write 155420 (0x25f1c) bytes to stm32 address: 134217728 (0x8000000)
EraseFlash - Sector:0x0 Size:0x4000
Flash page at addr: 0x08000000 erasedEraseFlash - Sector:0x1 Size:0x4000
Flash page at addr: 0x08004000 erasedEraseFlash - Sector:0x2 Size:0x4000
Flash page at addr: 0x08008000 erasedEraseFlash - Sector:0x3 Size:0x4000
Flash page at addr: 0x0800c000 erasedEraseFlash - Sector:0x4 Size:0x10000
Flash page at addr: 0x08010000 erasedEraseFlash - Sector:0x5 Size:0x20000
Flash page at addr: 0x08020000 erased
2015-08-25T17:23:24 INFO src/stlink-common.c: Finished erasing 6 pages of 131072 (0x20000) bytes
2015-08-25T17:23:24 INFO src/stlink-common.c: Starting Flash write for F2/F4/L4
2015-08-25T17:23:24 INFO src/stlink-common.c: Successfully loaded flash loader in sram
enabling 32-bit flash writes
size: 32768
size: 32768
size: 32768
size: 32768
size: 24348
2015-08-25T17:23:28 INFO src/stlink-common.c: Starting verification of write complete
2015-08-25T17:23:28 ERROR src/stlink-common.c: Verification of flash failed at offset: 0
stlink_fwrite_flash() == -1

查了烧写进的程序前16字节有处有变化,暂时不清楚什么导致的,以后再说,只要是没有运行程序就没有问题,这个真是奇葩。

树莓派 st-link master使用ST-LINK V2下载STM32程序 支持F0 F1 F2 等相关推荐

  1. 使用ST-LINK V2调试STM32程序

    一.连接ST-LINK V2 1.ST-LINK V2有两种 第一种 第二种 2.下载安装STM32 ST-LINK Utility,完成驱动识别.  3.测试是否可连接 4.点击菜单[ST-LINK ...

  2. 整理ST Link V2 与stm32连接经过

    整理ST Link V2 与stm32连接经过 一.购买合适的ST Link V2仿真器: 二.下载ST Link V2的驱动并安装: 本人过程并没有修改安装路径,直接下一步,对于驱动最好为默认安装路 ...

  3. java {@link},Javadoc @see或{@link}?

    Could someone tell me the difference between javadoc @see and {@link}? Or rather, when to use which ...

  4. 如何从ST官网下载STM32标准外设库

    1. 首先登录ST官网,ST官网链接:https://www.st.com/content/st_com/en.html 2. 进入官网后,点击"TOOLS & Software&q ...

  5. MFC程序解析以及使用cl.exe、link.exe编译连接Windows API和MFC程序

    目录 一.实验目的 二.实验配置 三.MFC程序创建和解析 (一).创建MFC程序 (二).分析MFC程序 四.使用cl.exe和link.exe (一).Windows API 1.实验代码 2.实 ...

  6. Deep Link URL Scheme Universal Link

    Deep Link & URL Scheme & Universal Link Deep Link 在移动前端,deepLink一般指app内部的逻辑处理,可以根据这个deeplink ...

  7. ST-LINK v2下载器简单使用

    ST LINK v2下载器简单使用过程 文章目录 ST LINK v2下载器简单使用过程 前言 1.驱动安装 1.1 驱动安装常规步骤 1.2 驱动失败解决方法 2.代码下载&调试 2.1 代 ...

  8. 树莓派进阶之路 (001) - 常用镜像高速下载

    树莓派(raspberrypi)常用镜像高速下载 树莓派官网在国内打开速度比较慢,想要下载镜像可能需要等待较长的时间,为节约下载镜像的时间,我这里整理了树莓派常用的镜像,在本页面列出了下载地址以及磁力 ...

  9. Adobe全套软件工具Master Collection 2023版本的下载与安装配置教程

    目录 前言 一.Master Collection安装前配置 二.Master Collection安装 总结 前言 Adobe Master Collection是Adobe公司发布的一个包含多种创 ...

最新文章

  1. 数据流通实现“可用不可见”?腾讯巧夺“天工”
  2. php上传gif木马如何执行,php – 阻止人们通过注射上传GIF的方法?
  3. 《疯狂Java讲义》7
  4. php多线程swoole,swoole究竟能够多线程么_PHP开发框架教程
  5. SAP Fiori Elements - how to set breakpoint to get converted xml view parsed by f
  6. 如何获取exception的target异常_三个好习惯,帮你写好Python里的异常处理
  7. Java正则表达式中的捕获组的概念及相关API使用
  8. Matlab Tricks(二十五) —— 二维图像的 shuffle
  9. 《Linux菜鸟入门2》访问网络文件系统
  10. 15款免费远程控制软件下载
  11. Mac如何取消远程控制?
  12. 全球数据共享网站集合
  13. xp怎么看自己计算机密码,如何找回Windows XP系统密码啊?
  14. 什么是网站跳出率?一招教你如何处理高跳出率?
  15. JavaScript(1)使用ducument.write()在页面上显示红色的“开启JavaScript学习之旅”。
  16. 038 罗尔定理及拉格朗日定理
  17. PBX用户电话交换机
  18. # 吴恩达 · 机器学习笔记(① Introduction to Machine Learning)
  19. QT下的几种透明效果
  20. adguard拦截规则存在哪里_广告拦截软件Adguard怎样配置才能更全面的发挥作用

热门文章

  1. android开发实例之minitwitter登录界面 代码,Android实例miniTwitter登录界面
  2. 参数控制c语言代码走向,C语言可变参数完全解读
  3. 二维分类教案_大班数学二维分类教案
  4. 传统的6d位姿估计fangfa1_你的厨房被水淹了!别担心,这只是3D深度估计做出的特效...
  5. 查看torch依赖的cuda版本_torch多GPU情况下模型建立遇到的问题
  6. php调用mysql库_PHP调用三种数据库的方法(1)
  7. apache AH01630: client denied by server configuration错误解决方法
  8. 有人在代码里下毒!慎用 pip install 命令
  9. rpa 手机_容智正式推出全球首款移动端RPA产品
  10. maven springboot 除去指定的jar包_1. Spring Boot概述