- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我今天从官方 Arch Linux 存储库安装了 Openocd,现在尝试将它与我的 JTAG 适配器一起使用 ULINK-ME 。我发现ULINK-ME使用CMSIS-DAP调试固件。 Openocd 有 CMSIS-DAP 驱动程序,因此应该能够与我的适配器通信,但在我编写下面的命令后,我收到了错误。
我正在将 ULINK-ME 连接到开发板 EA3141它集成了微 Controller LPC3141 - 与 LPC3131 的近亲,我为其加载配置文件。
sudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/lpc3131.cfg -d3
Open On-Chip Debugger 0.8.0-dev-00175-g8b7acca-dirty (2014-10-14-19:53)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
User : 13 1 command.c:549 command_print(): debug_level: 3
Debug: 14 1 configuration.c:45 add_script_search_dir(): adding /root/.openocd
Debug: 15 1 configuration.c:45 add_script_search_dir(): adding /usr/local/share/openocd/site
Debug: 16 1 configuration.c:45 add_script_search_dir(): adding /usr/local/share/openocd/scripts
Debug: 17 1 configuration.c:86 find_file(): found /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg
Debug: 18 1 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_interface cmsis-dap
Debug: 19 2 command.c:145 script_debug(): command - interface ocd_interface cmsis-dap
Debug: 21 2 command.c:369 register_command_handler(): registering 'ocd_cmsis-dap'...
Debug: 22 2 command.c:369 register_command_handler(): registering 'ocd_cmsis_dap_vid_pid'...
Debug: 23 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 24 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 25 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 26 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 27 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 28 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 29 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 30 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 31 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Info : 32 2 transport.c:118 allow_transports(): only one transport option; autoselect 'cmsis-dap'
Debug: 33 2 adi_v5_cmsis_dap.c:246 cmsis_dap_select(): CMSIS-ADI: cmsis_dap_select
Debug: 34 2 command.c:404 register_command(): command 'cmsis-dap' is already registered in '<global>' context
Debug: 35 2 command.c:369 register_command_handler(): registering 'ocd_cmsis-dap'...
Error: 36 7 cmsis_dap_usb.c:175 cmsis_dap_usb_open(): unable to open CMSIS-DAP device
Error: 37 7 adi_v5_cmsis_dap.c:266 cmsis_dap_select(): unable to init CMSIS-DAP driver
Error: 38 7 transport.c:83 transport_select(): Error selecting 'cmsis-dap' as transport
Debug: 39 7 command.c:631 run_command(): Command failed with error code -4
User : 40 7 command.c:669 command_run_line(): Runtime Error: /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg:7:
in procedure 'script'
at file "embedded:startup.tcl", line 58
in procedure 'interface' called at file "/usr/local/share/openocd/scripts/interface/cmsis-dap.cfg", line 7
有人知道为什么我会收到错误吗?
<小时/>我也尝试以另一种方式启动它,但它再次打印错误。这次有点不同。
sudo openocd -c "interface cmsis-dap" -f /usr/local/share/openocd/scripts/target/lpc3131.cfg -d3
Open On-Chip Debugger 0.8.0-dev-00175-g8b7acca-dirty (2014-10-14-19:53)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
User : 13 2 command.c:549 command_print(): debug_level: 3
Debug: 14 2 configuration.c:45 add_script_search_dir(): adding /root/.openocd
Debug: 15 2 configuration.c:45 add_script_search_dir(): adding /usr/local/share/openocd/site
Debug: 16 2 configuration.c:45 add_script_search_dir(): adding /usr/local/share/openocd/scripts
Debug: 17 2 command.c:145 script_debug(): command - ocd_command ocd_command type ocd_interface cmsis-dap
Debug: 18 2 command.c:145 script_debug(): command - interface ocd_interface cmsis-dap
Debug: 20 2 command.c:369 register_command_handler(): registering 'ocd_cmsis-dap'...
Debug: 21 2 command.c:369 register_command_handler(): registering 'ocd_cmsis_dap_vid_pid'...
Debug: 22 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 23 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 24 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 25 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 26 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 27 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 28 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 29 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Debug: 30 2 command.c:369 register_command_handler(): registering 'ocd_jtag'...
Info : 31 2 transport.c:118 allow_transports(): only one transport option; autoselect 'cmsis-dap'
Debug: 32 2 adi_v5_cmsis_dap.c:246 cmsis_dap_select(): CMSIS-ADI: cmsis_dap_select
Debug: 33 2 command.c:404 register_command(): command 'cmsis-dap' is already registered in '<global>' context
Debug: 34 2 command.c:369 register_command_handler(): registering 'ocd_cmsis-dap'...
Error: 35 7 cmsis_dap_usb.c:175 cmsis_dap_usb_open(): unable to open CMSIS-DAP device
Error: 36 7 adi_v5_cmsis_dap.c:266 cmsis_dap_select(): unable to init CMSIS-DAP driver
Error: 37 7 transport.c:83 transport_select(): Error selecting 'cmsis-dap' as transport
Debug: 38 7 command.c:631 run_command(): Command failed with error code -4
User : 39 7 command.c:669 command_run_line(): in procedure 'interface'
<小时/>
更新:
ULINK-ME 的 `sudo lsusb -v 命令的输出是:
Bus 005 Device 018: ID c251:2721 Keil Software, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0xc251 Keil Software, Inc.
idProduct 0x2721
bcdDevice 1.00
iManufacturer 4 Keil Software
iProduct 32 Keil ULINK-ME
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 41
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 25
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Device Status: 0x0000
(Bus Powered)
因为其中没有字符串“CMSIS-DAP”,我想这意味着我有一个较旧的 ULINK-ME(2013 年之前购买)适配器,没有 CMSIS-DAP 固件。我希望 Keil 提供一些将 CMSIS-DAP 刷新到我的旧 ULINK-ME 的方法。
<小时/>解决方案:
我写信给Keil,他们声称ULINK-ME的固件可以更新,这是真的。他们向我指出了这三个链接:
2. - upgrade if Keil uVision hasn't done this by itself in point 1.
3. - manipulate your ULINK-ME even further
我必须在 Windows 计算机上安装 MDK-ARM v5,然后单击工具栏上一个非常隐藏的图标(魔杖)。在调试过程中,我选择了 ULINK2/ME 选项,它自行更新了我的固件。现在我的 ULINK-ME(旧型号)上有一个 CMSIS-DAP,我可以使用 sudo lsusb -v
确认这一点:
Bus 005 Device 026: ID c251:2723 Keil Software, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0xc251 Keil Software, Inc.
idProduct 0x2723
bcdDevice 1.00
iManufacturer 1 Keil Software
iProduct 2 Keil ULINK-ME CMSIS-DAP
iSerial 3 M0489MAE
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 41
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 4 CMSIS-DAP
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 33
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Device Status: 0x0000
(Bus Powered)
我尝试使用 Wine 来做到这一点,但这是不可能的。至少现在我不再需要Windows了。
最佳答案
0.8.0-dev-00175-g8b7acca-dirty
这看起来不像官方的 OpenOCD。你从哪里得到的?
注意:您的版本应该是0.9.0
,而不是'dirty'
。
您的 OpenOCD 版本可能存在 CMSIS-DAP 问题。我强烈建议您从这里克隆当前的 HEAD:
git clone git://git.code.sf.net/p/openocd/code openocd
(请记住在克隆后执行 ./configure ...
之前执行 ./bootstrap
)
-或从Freddie Chopin's site下载如果您在 Windows 下运行它。
sudo openocd
这里也有问题。您不必每次使用 OpenOCD 时都必须“sudo”。
无论如何,你应该能够使用JTAG(LPC3141似乎太旧了,不支持SWD)。
关于arm - JTAG 适配器 ULINK-ME 和 openocd(在 ArchLinux 上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27087281/
我所拥有的是直接访问 Atmel CPU 上的四个 JTAG 接口(interface)引脚。 我需要的是低级 C 代码来调整这些引脚并实现两个功能: ReadMemoryWord(address)
谁能帮助我理解 openocd 的“无效命令名称”错误?一些细节: openocd 0.7.0 windows 二进制文件 olimex arm-usb-ocd-h 适配器 基于 lpc3250 ph
假设我有一个 JTAG 链,其中包含来自不同制造商的多个设备:我的软件应与该链中的特定系统通信,如何知道链中所有其他设备的 IR 长度?我必须知道他们才能向我的设备发送特定指令,对吗? 最佳答案 可以
我了解 JTAG 如何用作边界扫描器(http://www.fpga4fun.com/JTAG1.html 中有非常清晰的解释)。然而,我看不出如今 JTAG 如何用作硬件级调试器(有点类似于在线仿真
我使用 SWD 在 stm32 芯片中加载固件和调试。它使用 3 个引脚:SWCLK(TCK) , SWDIO(TMS)和 GND . 我可以使用 SWD 接口(interface)中未使用的其他 J
我是 FPGA 新手,我正在尝试在 Lattice iCE40 FPGA 上设置一个有效的 JTAG。我使用的开发板来自 Olimex,具有 iCE40-HX8K FPGA。 我使用 urjtag 作
最近我买了一个 ESP32 开发套件和一个低预算的 FT4232H jtag 适配器,我设法使用 Espressif-idf 插件在 VSCode 中进行设置。 基本上到目前为止它似乎有效。我可以从
我有一个用 Verilog 编写的简单 Controller ,用于配置 Altera 的 TSE MAC。到目前为止,这相当简单。然而,我接下来想做的是设置很多 Marvel PHY 的设置,并继续
在 Emacs 24+ 的开发版本中通过 ELPA 使用 jtags-mode(版本 0.96),我似乎无法以编程方式启用次要模式(手动调用工作正常)。在深入了解我尝试过的内容和我期望的设置之前,最重
我试图了解 JTAG 调试背后发生的过程。 据我了解,支持 JTAG 调试的设备在设备中有一个特殊的组件,称为 DOC(片上调试)。该组件的核心是 TAP Controller ,负责执行来自连接的
我正在使用 gdb 进行调试。我想知道 gdb 如何在内部工作以通过 JTAG 在嵌入式处理器上设置断点。 最佳答案 它要么对硬件断点寄存器进行编程,要么通过将断点处的指令替换为会导致异常的指令来放置
我使用的是 NXP LPC1769,它包含一个 Cortex-M3。到目前为止,我只是从 JTAG 接口(interface)访问它,但现在我必须以相反的方式进行访问。 IT 例程应该读取内存的某些部
好吧,我对 ARM 处理器的编程有点困惑。一连串的提问时间: 如何将编译后的二进制文件放入 ARM 处理器? JTAG 是正常方法吗(我认为这就是我的研究表明的......)? 这是唯一的方法吗? 如
假设您有一个指向函数的指针,您没有它的源并且它是“不受信任的”,因为它可能读/写到不允许的内存区域。 在它执行每条汇编指令之前,您要验证它不会访问不允许的内存区域。 操作系统(几乎)是裸机,即自定义
我正在使用 at91sam9260 进行开发。其中运行着一个 Linux 内核,我在其上启动了自己的软件。 我想知道我是否可以使用 JTAG 调试器来调试我正在使用的软件,而无需了解 Linux 内核
这将打开变量 a 的窗口: v.v a 在同一窗口中查看变量 b。怎么办? v.v b 我知道这可以将它们放在同一个窗口中,但我想稍后再查看 b v.v a b 最佳答案 我自己想的。 Var.Add
我正在“玩”rm48 板(Texas Instrument RM48L952、ARM CORTEX-R4F),并且我想对循环进行计时(例如)。 char message[20]; int temp=0
从 Java 调用 Corelis Jtag USB-1149.1_1E 的 DLL 方法时遇到问题,即使我可以从 Labview 调用它。在 Corelis 用户指南中,scan_multiple
我今天从官方 Arch Linux 存储库安装了 Openocd,现在尝试将它与我的 JTAG 适配器一起使用 ULINK-ME 。我发现ULINK-ME使用CMSIS-DAP调试固件。 Openoc
在 SAM4C 微 Controller 平台上,time() 函数在库中调用。我发现,当我从调试器启动时,这给出了正确的时间 (1496321612)。然而,当我在电路板上进行硬件重置并且闪存固件在
我是一名优秀的程序员,十分优秀!