你好
使用JTAG和自定义板时,我的连接不稳定。
首先,我可以检测我的板,但当我进入工具箱,并下载引导程序固件,它出错了。
日志显示如下:
[信息概述@19-01-11 16:33:26]找到ID为0x0BB11477的SWD-DP
[信息概述@ 19-01-11 16:33:26]找到了Cortex-M0 R0P0,Little Endian。
[INFO General @19-01-11 16:33:26] FPUnit: 4个代码(BP)槽和0个文字槽
[INFO General @19-01-11 16:33:26]
[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错误
[INFO General@19-01-11 16:33:35]无法测量总IR透镜。时差是恒定的高。
[INFO General@19-01-11 16:33:35]无法测量总IR透镜。时差是恒定的高。
[INFO General@19-01-11 16:33:35]无法测量总IR透镜。时差是恒定的高。
[error aligent @ 19-01-11 16:33:35]无法读取内存地址0x50003200功能jlinkarm_readmemhw
[INFO General@19-01-11 16:33:35]无法测量总IR透镜。时差是恒定的高。
[常规错误@19-01-11 16:33:35]无法使用函数JLINKARM_ReadMemHW读取内存地址0x50003201
[INFO General@19-01-11 16:33:35]无法测量总IR透镜。时差是恒定的高。
[ERROR General @19-01-11 16:33:35] failed read memory address 0x50003202 with function JLINKARM_ReadMemHW .
[INFO General@19-01-11 16:33:35]无法测量总IR透镜。时差是恒定的高。
[error aligent @ 19-01-11 16:33:35]无法读取内存地址0x50003200功能jlinkarm_readmemhw
[INFO General@19-01-11 16:33:35]无法测量总IR透镜。时差是恒定的高。
[error aligonal @ 19-01-11 16:33:35]无法阅读内存地址0x50003204功能jlinkarm_readmemhw
[INFO General@19-01-11 16:33:35]无法测量总IR透镜。时差是恒定的高。
[ERROR General @19-01-11 16:33:35]无法读取内存地址0x50003208与函数JLINKARM_ReadMemHW
[INFO General@19-01-11 16:33:35]无法测量总IR透镜。时差是恒定的高。
[ERROR General @19-01-11 16:33:35]无法读取内存地址0x5000320c与函数JLINKARM_ReadMemHW
[INFO General@19-01-11 16:33:35]无法测量总IR透镜。时差是恒定的高。
[常规错误@19-01-11 16:33:35]无法使用函数JLINKARM\u ReadMem读取内存地址0x50040200
[INFO General@19-01-11 16:33:35]无法测量总IR透镜。时差是恒定的高。
[ERROR General @19-01-11 16:33:35] failed read memory address 0x50040204 with function JLINKARM_ReadMem .
[INFO General@19-01-11 16:33:35]无法测量总IR透镜。时差是恒定的高。
[常规错误@19-01-11 16:33:35]无法使用函数JLINKARM\u ReadMem读取内存地址0x50040208
[INFO General@19-01-11 16:33:35]无法测量总IR透镜。时差是恒定的高。
[ERROR General @19-01-11 16:33:35]无法读取内存地址0x5004020c与函数JLINKARM_ReadMem
[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来访问设备)。你提到你有一个自定义电路板,所以你有自定义电路板上的JTAG或你使用Pro或Basic DK来编程你的电路板?我强烈建议您检查是否已经在SmartSnippets工具箱的Board Setup选项卡中正确配置了SPI Flash引脚。可能在定制PCB上的处理器和试图与设备通信的Jlink fw之间没有连接。这可能是任何东西,从连接到PCB问题,使580无法操作。我的建议是检查引导加载程序是否正在执行,以验证580操作正确。您可以探测P04和P05引脚,并且该引脚应该被切换到引导加载程序的执行部分,因此当连接到终端时,您应该看到设备打印垃圾。我还会建议你连接板使用Jlink本身,而不是使用智能片段,我也会尝试通过Keil下载代码。
谢谢,下午好
嗨PM_Dialog,
我想我在使用一个自定义JTAG设备,连接到我的自定义板。
我可以使用Keil进入调试会话,但当我使用ble_app_barebone项目运行代码时,它会转到代码:
if((GetWord16(SYS\u STAT\u REG)&DBG\u向上)==DBG\u向上)
__asm(“BKPT#0\n”);
我测试了我的5块板,只有1块板可以通过代码。
我的板子质量差吗?
你好daniel59,
您能解释一下您所说的定制JTAG设备是什么意思吗?您使用的是哪个版本的J-Link ?这就意味着你得到了NMI。你能试着调试你的代码,并试着找出NMI的原因吗?您的应用程序代码会在哪里卡住?如果你不知道如何找到NMI的原因,我建议你看看教程8:调试方法从我们的支持门户。另外,很有可能是由于PCB质量不好造成的。
谢谢,下午好
嗨,PM_Dialog
呃…我指的是定制的J-link设备。这就像J-Link EDU Mini,但只有swdio, swclk, vcc和gnd。
我正在使用jlink v5.12f,由smartsnippets studio v2.0.6推荐用于DA14580。
我看了教程8,但我找不到错误是在使用两种方法。
我在考虑我的电源。常用的J-link是使用QFN40 DA14580将swdio直接连接到引脚25,swclk直接连接到引脚26,vcc直接连接到引脚15,gnd直接连接到引脚16。
但对于我的电路板,因为我想给电池和JTAG充电,所以我将swdio连接到引脚25,swclk连接到引脚26,gnd连接到引脚16,而vcc连接到电池管理芯片ltc4054给锂离子电池充电,然后将电池连接到3.3v LDO,然后将LDO的3.3v输出连接到引脚15。
这会让事情错了吗?
我试了很多次,有时工具箱可以找到芯片,但显示CPU无法停止,有时工具箱找不到芯片,有时它直接显示无法写入文件D:\Desktop\empty\u peripheral\u template\u 580.hex(地址20000000)。
你好daniel59,
请注意,我们在开发板中使用了H-Link Lite,我并不完全确定我们是否使用过J-Link EDU Mini。请您尝试使用Keil将固件下载到系统内存中,以确保您的自定义板正常工作?只有一个董事会有这个问题,还是所有董事会都有?
谢谢,下午好
嗨,PM_Dialog
使用keil将固件下载到Sysram进入调试会话吗?
只有我的一些董事会有这个问题……
有时日志显示无法启动CPU核心。(错误代码:-1)。
我试了又试,有些板可以通过SPI Flash程序员连接,但下一次失败了。如附件日志所示。
我用J-link连接我的板的电缆长度会影响连接吗?
丹尼尔
你好daniel59,
请检查您是否从smarsnippet的“Booter & Board Setup”标签中正确配置了SPI Flash引脚?“SPI Flash引脚配置”应该根据您的板连接。你提到你能够连接到SPI Flash,所以当程序失败时,尝试读或写Flash ?电缆的长度可能是个问题,所以尽量使用较短的电缆。关于系统内存,是的,我是想用Keil下载你的固件。这是一个有点奇怪的行为,所以这可能是PCB上的硬件问题。你也提到只有一些板有这个问题,所以让我问你一些事情来澄清。除了这些板,你能告诉我你是否有完全功能的板(连接,读,写SPI Flash,引导,开始广告?)
谢谢,下午好
嗨,PM_Dialog
使用keil,当我运行代码时,使用ble_app_barebone项目,它转到代码:
if((GetWord16(SYS\u STAT\u REG)&DBG\u向上)==DBG\u向上)
__asm(“BKPT#0\n”);
SPI flash错误,我的意思是,例如,这次我按连接它显示成功,下一次我按连接它显示失败。
是的,我有一个功能齐全的电路板,它可以正确地连接。所以我认为J-link设备运行良好。
丹尼尔
你好daniel59,
这意味着您的应用程序代码会在某个地方卡在NMI_HandlerC或HardFault_HandlerC上。你能澄清一下如果卡在哪里吗?我向您推荐了一个教程,介绍如何找到NMI/HARDFAULT的原因。由于您有功能板,并且您运行了一些代码,所以我认为您的一些板存在硬件问题。
谢谢,下午好
嗨PM_Dialog,
是的,我尝试了Tutorial 8,2种方法都不工作。
显示被调用者只需跳转到u asm(“BKPT#0\n”);
MSP方法显示地址0xFFFF0000;哪个是movsr0,r0
也许是因为我的定制j-link设备?
有什么方法可以检测坏芯片还是坏板?
你好daniel59,
您是否检查了引导加载程序是否正在执行,以便验证580是否正常运行?您可以探测P04和P05引脚,并且应切换引导程序的一部分的引脚,因此在连接到终端时,您应该看到设备打印垃圾。
谢谢,下午好