你好,
我的连接使用JTAG与我的定制板不稳定。
首先,我可以检测我的板,但当我进入工具箱,并下载引导固件,它出错。
日志显示如下:
[信息概述@ 19-01-11 16:33:26]找到了带ID 0x0BB11477的SWD-DP
[INFO General @19-01-11 16:33:26]找到了Cortex-M0 r0p0, Little endian。
[INFO General @19-01-11 16:33:26] FPUnit: 4 code (BP)插槽和0字面值插槽
[INFO General @19-01-11 16:33:26] CoreSight组件:
[INFO General @19-01-11 16:33:26] ROMTbl 0 @ E00FF000
[信息概述@ 19-01-11 16:33:26] romtbl 0 [0]:fff0f000,cid:b105e00d,pid:000bb008 scs
[INFO General @19-01-11 16:33:26] ROMTbl 0 [1]: FFF02000, CID: B105E00D, PID: 000BB00A DWT
[信息概述@ 19-01-11 16:33:26] Romtbl 0 [2]:FFF03000,CID:B105E00D,PID:000BB00B FPB
[INFO General @19-01-11 16:33:26] BTLE设备已选择。
[INFO General @19-01-11 16:33:34]找到ID为0x0BB11477的SWD-DP
[ERROR General @19-01-11 16:33:34]在读取DP-Ctrl-Stat寄存器时发生DAP错误。
[信息概述@ 19-01-11 16:33:35]无法衡量总IR LEN。TDO是恒定的。
[信息概述@ 19-01-11 16:33:35]无法衡量总IR LEN。TDO是恒定的。
[信息概述@ 19-01-11 16:33:35]无法衡量总IR LEN。TDO是恒定的。
[ERROR General @19-01-11 16:33:35]无法用函数JLINKARM_ReadMemHW读取内存地址0x50003200
[信息概述@ 19-01-11 16:33:35]无法衡量总IR LEN。TDO是恒定的。
[error alignal @ 19-01-11 16:33:35]无法读取使用jlinkarm_readmemhw的内存地址0x50003201
[信息概述@ 19-01-11 16:33:35]无法衡量总IR LEN。TDO是恒定的。
[ERROR General @19-01-11 16:33:35]无法用函数JLINKARM_ReadMemHW读取内存地址0x50003202
[信息概述@ 19-01-11 16:33:35]无法衡量总IR LEN。TDO是恒定的。
[ERROR General @19-01-11 16:33:35]无法用函数JLINKARM_ReadMemHW读取内存地址0x50003200
[信息概述@ 19-01-11 16:33:35]无法衡量总IR LEN。TDO是恒定的。
[ERROR General @19-01-11 16:33:35]无法用函数JLINKARM_ReadMemHW读取内存地址0x50003204
[信息概述@ 19-01-11 16:33:35]无法衡量总IR LEN。TDO是恒定的。
[ERROR General @19-01-11 16:33:35]无法用函数JLINKARM_ReadMemHW读取内存地址0x50003208
[信息概述@ 19-01-11 16:33:35]无法衡量总IR LEN。TDO是恒定的。
[ERROR General @19-01-11 16:33:35]无法用函数JLINKARM_ReadMemHW读取内存地址0x5000320c
[信息概述@ 19-01-11 16:33:35]无法衡量总IR LEN。TDO是恒定的。
[errow aligent @ 19-01-11 16:33:35]无法读取内存地址0x50040200与函数jlinkarm_readmem
[信息概述@ 19-01-11 16:33:35]无法衡量总IR LEN。TDO是恒定的。
[ERROR General @19-01-11 16:33:35]无法使用JLINKARM_ReadMem函数读取内存地址0x50040204
[信息概述@ 19-01-11 16:33:35]无法衡量总IR LEN。TDO是恒定的。
[errow aligent @ 19-01-11 16:33:35]无法阅读内存地址0x50040208功能jlinkarm_readmem
[信息概述@ 19-01-11 16:33:35]无法衡量总IR LEN。TDO是恒定的。
[ERROR General @19-01-11 16:33:35]无法用函数JLINKARM_ReadMem读取内存地址0x5004020c
[ERROR General @19-01-11 16:33:35]打开JLink连接时没有发现已知芯片。终止过程中…
[ERROR Booter @19-01-11 16:33:35]下载固件到单板失败。
是什么问题?我的有线电视还是冲浪板?
嗨Daniel59,
这是来自Jlink软件的指示,而不是来自Smart Snippets(当通过JTAG连接时,Smart Snippets使用Jlink来访问设备)。你提到你有一个自定义电路板,那么你在自定义PCB上有JTAG吗?或者你在使用Pro或Basic DK来为你的电路板编程?我强烈建议您检查是否已正确配置SPI Flash引脚在SmartSnippets工具箱的板设置选项卡。可能在自定义PCB上的处理器和尝试与设备通信的Jlink fw之间没有连接。这可能是任何事情,从连接到PCB问题,使580无法操作。我的建议是检查引导加载程序是否正在执行,以验证580是否正确运行。您可以探测P04和P05引脚,这两个引脚应该被切换为引导加载程序的执行部分,因此当连接到终端时,您应该看到设备打印垃圾。此外,我建议您使用Jlink本身连接板,而不是使用智能片段,我也会尝试通过Keil下载代码。
谢谢,PM_DIALOG.
嗨PM_Dialog,
我想我正在使用一个自定义JTAG设备,连接到我的自定义板。
我可以使用keil进入调试会话,但是当我运行代码时,使用ble_app_barebone项目,它转到代码:
if((getword16(sys_stat_reg)&dbg_is_up)== dbg_is_up)
__asm(“bkpt#0 \ n”);
我测试了我的5个板只有1个董事会可以通过代码。
我的董事会质量不好吗?
嗨Daniel59,
你能解释一下定制JTAG设备是什么意思吗?你使用的是哪个版本的J-Link ?这意味着你会得到一个NMI。你能试着调试你的代码并试着找出NMI的原因吗?您的应用程序代码会卡在哪里?如果你不知道如何才能找到NMI的原因,我建议你去看看教程8:调试方法_v1.1从我们的支持门户。另外,很有可能是错误是由于你们的PCB质量不好造成的。
谢谢,PM_DIALOG.
嗨,PM_Dialog
呃…我指的是定制的J-link设备。这就像J-Link EDU Mini,但只有swdio, swclk, vcc和gnd。
我使用的是jlink v5.12f, SmartSnippets studio v2.0.6推荐用于da14580。
我看教程8,但我不能找到错误是使用两种方法。
我正在考虑我的电源。通常使用J-Link直接将SWDIO连接到引脚25,SWCLK到引脚26,VCC到引脚15和GND到引脚16,使用QFN40 DA14580。
但对于我的电路板,因为我想要两个充电电池和JTAG,我将SWDIO连接到引脚25,SWCLK到引脚26,GND到引脚16,但VCC到电池管理芯片LTC4054充电锂离子电池,然后将电池充电,然后将电池充电到3.3V LDO,然后将3.3V从LDO输出到引脚15。
这会让事情变糟吗?
我尝试了很多次,有时工具箱可以找到芯片,但显示CPU无法停止,有时工具箱无法找到芯片,有时它直接显示失败的写入文件D:\ Desktop \ extent_PerientalAl_Template_580.hex在地址20000000。
嗨Daniel59,
请注意,我们在开发板中使用H-Link Lite,如果我们使用过J-Link Edu Mini,我并不是完全sur。您可以尝试使用Keil下载固件进入Sysram,以确保您的定制板正常工作?只有一个板有这个问题或所有的董事会?
谢谢,PM_DIALOG.
嗨,PM_Dialog
下载固件到SysRAM使用Keil意味着使用Keil进入调试会话?
只有我的一些黑板有这个问题…
有时,日志显示无法启动CPU核心。(错误代码:-1)。
我尝试并尝试后的一些板可以通过SPI闪存程序员连接,但下次失败。作为附件日志显示。
我用J-link连接我的板的电缆长度会影响连接吗?
丹尼尔
嗨Daniel59,
请检查您是否正确配置了smartnippet的“Booter & Board Setup”标签中的SPI Flash引脚?“SPI Flash引脚配置”应根据您的板连接。您提到您能够连接到SPI Flash,所以当过程失败时,试图读取或写入Flash ?电缆的长度可能是个问题,所以尽量使用较短的电缆。关于syram,是的,我想用Keil下载你的固件。这是一个有点奇怪的行为,所以这可能是你的PCB上的硬件问题。你也提到只有一些董事会有这个问题,所以我想问你一个问题。除了那些板,你能告诉我你是否有完全功能的板(连接,读,写SPI Flash,引导,并开始广告?)
谢谢,PM_DIALOG.
嗨,PM_Dialog
使用keil,当我运行代码,使用ble_app_barebone项目,它去代码:
if((getword16(sys_stat_reg)&dbg_is_up)== dbg_is_up)
__asm(“bkpt#0 \ n”);
SPI flash错误我的意思是,例如,这次我按连接它显示成功,下次我按连接它显示失败。
是的,我有一个完全功能的板,它可以正确地连接。所以我认为J-link装置工作得很好。
丹尼尔
嗨Daniel59,
这意味着您的应用程序代码的某个地方将粘附到nmi_handlerc或hardfault_handlerc。你能澄清哪里困扰吗?我建议您为如何找到NMI / Hardfault的原因的教程。由于您有功能板,并且您运行一些代码,我想您的一些电路板有硬件问题。
谢谢,PM_DIALOG.
嗨PM_Dialog,
是的,我尝试了教程8,和2种方法都不工作。
显示Callee只是跳到__asm(“bkpt#0 \ n”);
和MSP方法显示地址0xFFFF0000;这是MOVS R0,R0
也许是因为我定制的j-link设备?
是否有任何方法可以检测是否芯片或坏板是否?
嗨Daniel59,
您是否检查了引导加载程序是否正在执行,以验证580是否正确运行?您可以探测P04和P05引脚,这两个引脚应该被切换为引导加载程序的执行部分,因此当连接到终端时,您应该看到设备打印垃圾。
谢谢,PM_DIALOG.