近期做研究openpilot和crazyflie2.0,都须要在Linux进行代码的编写和烧录,所以研究了下Linux下如何使用Jlink,还有开源的支持多个仿真器的openocd,可是困难重重。总是出现错误。心灰意冷,之后沉下心来研究了下,记录下心得。

首先,openocd是个通用的烧录平台,支持多家的仿真器,比方Jlink,Ulink。ST-LINK等等。基本市面上的都支持,另外JLink本身也有DBG能够在线调试,所以刚開始我尝试用openocd,

环境例如以下:

1,Ubuntu1304

2,JLink和ST-LINK仿真器

步骤例如以下:

1,切换到root,插上JLink或者ST-LINK之后。使用lsusb命令能够查看到相应的仿真器usb信息

2,安装libusb-1.0.9,解压安装

./configure

make

make install

3,下载openocd0.9.0,解压安装,注意这里因为仅仅是用到jlink和stlink。所以configure的时候仅仅是enable了这两个仿真器

./configure --enable-jlink --enable-st-link

make

make install

cd tcl/

假设Jlink调试stm32f1x,使用例如以下命令:

openocd -f interface/jlink.cfg -f target/stm32f1x.cfg

假设Jlink调试stm32f4x。使用例如以下命令:(測试挂了)

openocd -f interface/jlink.cfg -f target/stm32f4x.cfg

假设ST-Link调试stm32f1x,使用例如以下命令:(我的ST-LINK是V2版本号的)

openocd -f interface/st-link-v2.cfg -f target/stm32f1x_stlink.cfg

假设ST-Link调试stm32f4x,使用例如以下命令:(我的ST-LINK是V2版本号的)

openocd -f interface/st-link-v2.cfg -f target/stm32f4x_stlink.cfg

不幸的是,红色部分的測试挂掉,Jlink总是找不到边界。而我终于要用的就是这样的组合。所以仅仅能寻找其它的方法。于是我又尝试了使用Jlink自带的工具。

4,下载JLink_Linux_V422解压

cd JLink_Linux_V422/

./start

Jlink插在STM32F4x的板子上,居然很顺利的通过了,至于openocd为什么不行?这个问题之后再尝试。

Ubuntu13.04使用Jlink和ST-Link V2烧写STM32F1x和STM32F4x的更多相关文章

  1. Jlink使用技巧之合并烧写文件

    前言 IAP(In-application-programming),即在应用中编程.当产品发布之后,可以通过网络方便的升级固件程序,而不需要拆机下载程序.IAP系统的固件一般由两部分组成,即Boot ...

  2. 使用st link v2向stm32下载和调试程序

    st官网 正版ST-link/V2引脚定义和注意事项 分为ST-LINK/V2和ST-LINK/V2-ISOL两种型号 是STM8和STM32微控制器(MCU)系列的在线调试器和编程器(还是下载器.仿 ...

  3. keil5配置ST Link v2 for STM32F10x

    请务必先安装MDKCM525.EXE,否则会找不到闪存编程算法

  4. ST Link 调试问题总结

    用过ST Link调试工具的同事都应该知道,ST Link是一个很不错的调试工具,它具有小并且功能齐全,价格便宜等特点,现在市场上普遍是下面这两种ST Link, 但如果用的比较多,会发现有时候会存在 ...

  5. 使用JLink间接烧写S3C2410、S3C2440开发板Nor、Nand Flash的方法

    1. 简要说明 JLink的调试功能.烧写Flash的功能都很强大,但是对于S3C2410.S3C2440的Flash操作有些麻烦:烧写Nor Flash时需要设置SDRAM,否则速率很慢:烧写Nan ...

  6. JLINK烧写BIN文件到nand、norflash、SDRAM

    1. 简要说明 JLink的调试功能.烧写Flash的功能都很强大,但是对于S3C2410.S3C2440的Flash操作有些麻烦:烧写Nor Flash时需要设置SDRAM,否则速率很慢:烧写Nan ...

  7. Jlink使用技巧之烧写SPI Flash存储芯片

    前言 大多数玩单片机的人都知道Jlink可以烧写Hex文件,作为ARM仿真调试器,但是知道能烧写SPI Flash的人应该不多,本篇文章将介绍如何使用JLink来烧写或者读取SPI Flash存储器, ...

  8. JLink间接烧写【转自armobbs】

    1. 简要说明 JLink的调试功能.烧写Flash的功能都很强大,但是对于S3C2410.S3C2440的Flash操作有些麻烦:烧写Nor Flash时需要设置SDRAM,否则速率很慢:烧写Nan ...

  9. 6.ST LINK 下调试异常

    ☆1.无法进入main函数(printf的影响)***为什么有时候可以进入main函数,有什么进入不了main函数?    <1> 因为C语言默认使用显示器作为标准输出的设备,所以如果想利 ...

随机推荐

  1. Problem F: 零起点学算法101——统计字母数字等个数

    #include<stdio.h> #include<string.h> int main(){ ]; while(gets(str)!=NULL){ ,b=,c=,d=; ; ...

  2. GNU Debugger for Windows----GDB

            This web page provides 32-bit and 64-bit binaries of gdb for Windows for download. Equation ...

  3. c++中const使用详解

    const在c++中是一个关键字,它限定一个变量不允许被改变.使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些 ...

  4. Android开发高级进阶——多进程间通信

    一. 什么是多进程? 多进程就是多个进程的意思,那么什么是进程呢? 当一个应用在开始运行时,系统会为它创建一个进程,一个应用默认只有一个进程,这个进程(主进程)的名称就是应用的包名. 进程的特点: 进 ...

  5. [Linux Memory] 用/proc/stat计算cpu的占用率

    转载自:http://blog.csdn.net/pppjob/article/details/4060336 在Linux下,CPU利用率分为用户态,系统态和空闲态,分别表示CPU处于用户态执行的时 ...

  6. @RestController和@Controller的差异

    SpringMVC现在使用越来越普及,在使用注解写控制器中发现,需要控制器页面跳转时,需要对类注解为@Controller,而此时,使用freemarker时,在类中写的restful接口会报cann ...

  7. 用java源代码学数据结构<七>: BST

    /* * 以int类为例 * 其它的类必须能够比较 * */ //二叉搜索树的节点点 class BSTNode{ int item; BSTNode lc; BSTNode rc; BSTNode ...

  8. Linux远程执行Windows机器任务

    Linux远程执行Windows机器任务     近期测试人员提出需求需要在Linux下调用Windows系统下的cmd的命令完成自动构建和测试并生成测试报告. 环境: Windows Server2 ...

  9. 2017.12.25 Mybatis物理分页插件PageHelper的使用(二)

    参考来自: 官方文档的说明:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md 上篇博客 ...

  10. 我的mini_c语言文法设计

    //这个文件主要是用来描述当前源语言的词法结构和语法结构 //当前语言是c语言的一个子集,因此里面所有的描述大家都很熟悉 //注意,当前语言并不支持预处理,因为c预处理比较复杂,而且楼主能力低下,因此 ...