首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用OpenOCD同时与两个STM32板对话?

如何使用OpenOCD同时与两个STM32板对话?
EN

Stack Overflow用户
提问于 2018-01-11 07:54:27
回答 2查看 4.2K关注 0票数 4

假设我有两个say 32,我正在使用这个程序员这里

我想连接到它们并独立地调试/通货再膨胀/itterate。

因此,我的设置如下:

硬件

PC |-> USB1 -> ST-LINK-Programmer1 -> STM32_Board1 |-> USB2 -> ST-LINK-Programmer2 -> STM32_Board2

软件

他们的方式我通常用一个板做这是相当简单的。

openocd -f config.cfg

下面是我调用的配置文件:

source [find interface/stlink-v2.cfg] transport select hla_swd source [find target/stm32f4x.cfg] reset_config none

然后,在另一个终端中,我调用arm-gdb如下:

arm-none-eabi-gdb build/FW.elf

在~/..gdbinit中,我有一个单行:

target remote localhost:3333

什么不起作用

这很明显.对于第一个OpenOCD,我使用端口3333,但是第二个实例试图使用相同的端口,并在

Error: couldn't bind tcl to socket: Address already in use

我试过的

我已经查看了文档这里,但是我没有看到如何在config.cfg文件中调用这些选项。

我还尝试将关于tcl_port和gdb_port的这些命令添加到实际的命令行参数中,比如openocd -f config.cfg -c tcl_port 4444,但是这不能工作,either...The套接字仍然在使用中。

我真正的问题

怎么做才是对的?在对openocd进行配置以连接到正确的OpenOCD实例之后,处理arm-none-eabi-gdb有什么问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-11 12:51:11

stlinkv2.cfg v2.cfg来自openocd

代码语言:javascript
运行
AI代码解释
复制
#
# STMicroelectronics ST-LINK/V2 in-circuit debugger/programmer
#

interface hla
hla_layout stlink
hla_device_desc "ST-LINK/V2"
hla_vid_pid 0x0483 0x3748

# Optionally specify the serial number of ST-LINK/V2 usb device.  ST-LINK/V2
# devices seem to have serial numbers with unreadable characters.  ST-LINK/V2
# firmware version >= V2.J21.S4 recommended to avoid issues with adapter serial
# number reset issues.
# eg.
#hla_serial "\xaa\xbc\x6e\x06\x50\x75\xff\x55\x17\x42\x19\x3f"

您的配置正在查找此文件,请注释掉该文件行的源代码,并将其替换为

代码语言:javascript
运行
AI代码解释
复制
interface hla
hla_layout stlink
hla_device_desc "ST-LINK/V2"
hla_vid_pid 0x0483 0x3748
hla_serial 12345623498723497

无论那个特定的stlink序列号是什么(希望它们都不同)。

对每个配置重复一个新配置,然后更改每个配置的tcp/gdb端口号,我从不使用gdb,所以我

代码语言:javascript
运行
AI代码解释
复制
telnet_port 4442
gdb_port 0
tcl_port 0

lsusb -vvv

代码语言:javascript
运行
AI代码解释
复制
Bus 002 Device 011: ID 0483:374b STMicroelectronics ST-LINK/V2.1 (Nucleo-F103RB)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x0483 STMicroelectronics
  idProduct          0x374b ST-LINK/V2.1 (Nucleo-F103RB)
  bcdDevice            1.00
  iManufacturer           1 STMicroelectronics
  iProduct                2 STM32 STLink
  iSerial                 3 12345623498723497
  bNumConfigurations      1

我编的那个iSerial号码不是我的真实号码,也许每个人都知道这个董事会的真实数字并不重要。

我没有尝试用两个板,如果我添加hla_serial行并使用iSerial数字,那么它就完成了它的任务。如果我修改序列号以不匹配它,改变openocd的工作方式,它就找不到stlink。我将不得不挖掘更多的板,以充分测试这一点,但你已经有这些板在手边,所以会让你看看这是否适合你。

票数 3
EN

Stack Overflow用户

发布于 2019-08-20 01:58:13

对于任何想要避免rel的回答所建议的织构/链所需的开销的人,我编写了一个小小的C-程序来转换串行代码:开闭器

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48211067

复制
相关文章
Linux下开发stm32 ② | 使用openocd下载程序
openocd(http://openocd.org)全名叫做Open On-Chip Debugger,是一个自由开放的片上调试工具和编程工具,目前已经发布到0.10.0版本,目前主流调试器几乎都支持,具体可以查看Open On-Chip Debugger:OpenOCD User’s Guide(http://openocd.org/doc/pdf/openocd.pdf),它的项目托管在sourceforge(https://sourceforge.net/projects/openocd)上,点击下载即可~ 注:ubuntu软件源中也有openocd,但是版本到0.9.0,所以使用拉取源码手动安装。
Mculover666
2020/07/16
6K0
Linux下开发stm32 ② | 使用openocd下载程序
使用OpenOCD
默认已经搭建好了开发环境,使用brew安装好了openocd 各种介绍网上有很多这里就不多说 下面是我的openocd的安装路径/usr/local/Homebrew/share/openocd 一会要用到
iot-me.club
2022/02/11
2.5K0
使用OpenOCD
Windows上使用 OpenOCD 给 STM32 下载程序
之前有写过如何在Linux上使用openOCD给STM32下载程序的文章,今天给大家介绍一下如何在Windows上使用openOCD。
Mculover666
2021/07/01
17.1K1
【技术干货】GD32VF103C-START 入门
近期从创易栈中很荣幸获得了一块GD32VF103C-START 开发板,是基于RISC-V内核的32位通用微控制器,从这个网站我初步了解了这个芯片的特性,大家可以上网看看,内核是使用芯来科技Bumblebee内核(RV32IMAC),指令集是开源的,不用许可,这个和arm是有区别的,因此,我认为可以降低成本了,毕竟没有了arm的许可费用。
用户4645519
2021/12/30
1.1K0
【技术干货】GD32VF103C-START 入门
国产RISCV MCU 沁恒CH32V103上手体验
最近由于stm32的价格疯涨以及stm32 mcu芯片的缺货,导致很多电子产品的方案慢慢会考虑一些国产替代方案,比如兆易创新的GD系列芯片等等。随着riscv在国内的发展壮大,许多riscv架构的mcu芯片也逐渐的成为可以供选择的方案。那么这款MCU的性能、体验、开发上手难度、实用性等等角度上,究竟体验如何,下面文章将做一个简单的概述,同时利用目前对RISCV的知识层面的理解,去分析这个芯片的使用。
bigmagic
2021/09/15
3.3K0
国产RISCV MCU 沁恒CH32V103上手体验
在 CLion 中创建基于 CubeMX 的 STM32 工程
完成后打开 Windows PowerShell 通过 openocd -v 命令查看版本,以测试配置正确可用。
Mculover666
2020/09/07
3.5K0
在 CLion 中创建基于 CubeMX 的 STM32 工程
【STM32】串口通信---用代码与芯片对话
文章目录 前言 一、串口通信基本知识 二、编程思路 usart.h usart.c main.c 宏定义 三、总结 前言 开发板:stm32f407VET6 开发环境:keil5 MDK 一、串口通信基本知识 【STM32】5分钟了解STM32的串口通信 二、编程思路 usart.h // ============================================= # @Time : 2020-09-03 # @Author : AXYZdong # @CSDN : http
AXYZdong
2020/11/05
8680
使用 CLion 实现 stm32F103 点亮 LED
Clion 是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力。CLion帮助开发人员使用智能编辑器来提高代码质量、自动代码重构并且深度整合CMake编译系统,从而提高开发人员的工作效率。
AnieaLanie
2021/12/25
1.3K0
STM32核心板焊接
  电烙铁有很多种,常用的有内热式、外热式、恒温式和吸锡式,为了方便携带,建议使内热式电烙铁,且要带烙铁架和海绵,烙铁架用于放置电烙铁,海绵用于擦拭烙铁锡渣,因此海绵不应太湿或太干,应手挤海棉直至不滴水为宜。电烙铁常用的烙铁头有四种,分别是刀头、一字型、马蹄形、尖头,建议初学者直接使用刀头,因为STM32核心板上的元器件绝大多数都是贴片封装,刀头适用于焊接多引脚器件以及需要托焊的场合,这对于焊接STM32芯片以及排针非常适合,当然,刀头在焊接贴片电阻、电容、电感也非常方便。
用户6754675
2020/01/14
1.1K0
强大的JTAG边界扫描3-常用边界扫描测试软件
前面两篇文章介绍了边界扫描的基本原理和BSDL文件,本文文章介绍边界扫描测试实际使用的两款软件工具,在后面的实战应用部分,会演示基于STM32和FPGA的边界扫描测试应用。
单片机点灯小能手
2023/09/18
4872
强大的JTAG边界扫描3-常用边界扫描测试软件
【全网首发】在小熊派上跑threadX操作系统?来,从搭建环境开始玩起!
去年微软宣布收购ThreadX,但是没有公布后续策略,uCOS全家桶进入开源免费后,ThreadX也宣布正式加入。微软未来四年将投资50亿美元到物联网上,收购Express Logic是该战略的一部分。ThreadX的产品涵盖了各种领域,包括NASA的多个太空探测项目,飞机自动驾驶仪系统,火星侦察轨道器等。ThreadX及其所有中间件的安全认证等级,至今没有一款小型RTOS可以与其匹敌。
Mculover666
2020/07/16
2K0
【全网首发】在小熊派上跑threadX操作系统?来,从搭建环境开始玩起!
Linux下开发stm32 ③ | 寄存器工程开发
前两篇我们介绍了如何创建一个空的裸机工程(只有启动文件和main文件),并编译工程生成elf文件,然后将其转为bin格式或hex格式,使用openocd下载,最后编写了一个makefile雏形,并成功点亮了一个LED~ 但是这个LED我们是通过指针直接操作寄存器地址来完成的,接下来,我们在此基础上,引入stm32头文件,其中包含了寄存器的宏定义,也就是使用寄存器进行开发~
Mculover666
2020/07/16
1.3K0
Linux下开发stm32 ③ | 寄存器工程开发
stm32编程入门书籍_STM32开发板
STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核,按内核架构分为不同产品:主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)。
全栈程序员站长
2022/10/04
1.5K0
stm32编程入门书籍_STM32开发板
从STM32L4看ARM裸板的启动过程
Fundamental, fundamental, fundamental, …without the fundamental, all those fancy magics won’t work.
evilpan
2023/02/12
8370
从STM32L4看ARM裸板的启动过程
Arduino如何同时使用多个串口
如果想要给Arduino UNO R3同时接上WiFi模块和蓝牙模块时,但是Arduino的串口只有一个,怎样才能让Arduino同时使用多个串口呢?
小雨coding
2020/06/09
4.8K0
Arduino如何同时使用多个串口
使用VisualGDB将Keil项目导入VisualStudio
本教程展示了如何使用新的Keil项目导入器将Keil ARM项目自动转换为使用MSBuild和GCC构建的VisualGDB项目。在开始之前,安装VisualGDB 5.3或更高版本。
小锋学长生活大爆炸
2020/08/13
1.6K0
使用VisualGDB将Keil项目导入VisualStudio
linux同时启动两个Tomcat[通俗易懂]
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
全栈程序员站长
2022/07/04
5.5K0
linux同时启动两个Tomcat[通俗易懂]
windows同时安装两个jdk
JAVA_HOME   :  C:\Program Files\Java\jdk1.7.0_51
week
2018/08/24
1K0
抛弃IDE — 在window下使用VScode搭建ARM开发环境
安装 gcc-arm-none-eabi-5_4-2016q3-20160926-win32(这只是当时我配置时候用的版本,其他版本也是可以的) 记得最后的第3选项打钩,因为自动添加环境变量( 估计是因为自动添加,所以会添加到用户的环境变量下面去,一样可以用,如果自己添加,可以添加到系统的环境变量中去 ) 最后,只要是在你的终端(终端可以使window自带的cmd,也可以是你配置过的模拟linux的终端) ,能够查询到arm gcc的版本,就算是正常安装了,如下所示:
李肖遥
2022/12/22
3.7K0
抛弃IDE — 在window下使用VScode搭建ARM开发环境
配置CLion用于嵌入式开发
也是一样直接到官网下载,下载的文件为压缩包文件,解压出来放到自己能记得住的合适位置即可
是小北a
2023/10/21
1.6K0
配置CLion用于嵌入式开发

相似问题

OpenOCD不使用STM32核心板在任何端口上打开/侦听

211

在vscode中使用openocd调试stm32

110

STM32使用openocd读出保护级别2

245

通过OpenOCD实现STM32读出保护

22

如何使用openOCD和gdb对STM32闪存进行编程

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档