Ubuntu13.04使用Jlink和ST-Link V2烧写STM32F1x和STM32F4x

近期做研究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为什么不行?这个问题之后再尝试。

posted @ 2017-04-21 15:02  claireyuancy  阅读(2985)  评论(0编辑  收藏  举报