无法连接到DSP设备。

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
12个帖子/ 0新
最后一篇
Maurizio Malaspina
离线
最后一次露面:9个月1周前
加入:2019-01-16 21:40
无法连接到DSP设备。

你好,

我正在运行“DA1458x_DSPS\v_5.150.2\projects\target_apps\dsps\sps_device\Keil_5\sps_device”。在DA14580DEVKIT-PRO上的RAM中。
我无法使用DSPS应用程序3.210.4(2017年7月25日)在我的Android设备(HuaWey P9 Lite)上运行)来检测设备。
这个演示的正确步骤是什么?

非常感谢你提前,
莫里吉奥

关键词:
设备:
PM_DIALOG.
离线
最后一次露面:18小时57分钟前
职员
加入:2018-02-08 11:03
嗨Maurizio Malaspina,

嗨Maurizio Malaspina,

默认的dpsp_device应用程序代码使用硬件流控制。请检查头文件user_外围_setup.h中的CFG_UART_HW_FLOW_CTRL。所以,如果你有Pro-DK,你应该正确配置跳线。我建议看一下UM-B-088用户手册的图19。你们有相同的跳线配置吗?

https://support.dialog-seminile.com/system/files/resources/um-b-088%20da14585%20serial%20port%20service%20reference%20application_v1.0.pdf.

谢谢,PM_DIALOG.

Maurizio Malaspina
离线
最后一次露面:9个月1周前
加入:2019-01-16 21:40
感谢您的答复。

感谢您的答复。
跳线是正确配置的UART与HW流量控制通信。
我已经重建了目标,现在我可以看到“对话- sps”设备检测到我的Android智能手机的蓝牙。
现在的问题是调试停止了。
我可以在Keil IDE的“命令”窗口中看到:

使用代码大小限制:32K
将JLink项目文件设置为“C:\用户\ utente \ desktop \ da1458x_dsps \ v_5.150.2 \ projects \ target_apps \ dsps \ sps_device \ keil_5 \ jlinksettings.ini”* jlink info:设备“cortex-m0”选择。

jlink信息:
-------------
DLL: V6.32i,编译于2018年7月24日15:19:55
固件:j-link ob-sam3u128 v1编译7月12日2018年12:17:48
硬件:V1.00
S / N: 480068119

* JLINK信息:找到带ID 0x0BB11477的SW-DP
* JLINK信息:扫描AP地图查找所有可用的AP
* JLINK信息:AP [1]:已停止AP扫描作为AP地图的结尾已达到
* JLINK INFO:AP [0]:AHB-AP(IDR:0x04770021)
* JLink信息:迭代通过AP地图找到AHB-AP使用
* jlink信息:AP [0]:找到核心
* JLink Info: AP[0]: AHB-AP ROM base: 0xE00FF000
* JLINK信息:CPUID寄存器:0x410cc200。实施者代码:0x41(手臂)
* jlink信息:找到cortex-m0 r0p0,小endian。
* JLink Info: FPUnit: 4 code (BP)插槽和0字面值插槽
* jlink信息:coresight组件:
* JLink信息:ROMTbl[0] @ E00FF000
* jlink信息:romtbl [0] [0]:e000000,cid:b105e00d,pid:000bb008 scs
* JLink Info: ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 000BB00A DWT
* JLINK INFO:ROMTBL [0] [2]:E0002000,CID:B105E00D,PID:000BB00B FPB
romtableddr = 0xe00ff000
* JLink信息:Reset:通过demcr . vc_coreset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。

目标信息:
-------------
设备:ARMCM0
vtarget = 3.300V.
引脚状态:TCK: 0, TDI: 1, TDO: 1, TMS: 1, TRES: 1, TRST: 1
硬件断点:4
软件断点:8192
观察点:2
JTAG速度:1000 kHz

包括“c:\\ users \\ utente \\ desktop \\ da1458x_dsps \\ v_5.150.2 \\ projects \\ target_apps \\ dsps \\ sps_device \\ keil_5 \\ .. \\ .. \\ .. \\.. \\ .. \\ sdk_580 \\ sdk \\ common_project_files \\ misc \\ sysram_case23.ini“
/ *杀死按钮* * /
/ *定义按钮“重置dk580”,“包含../../misc/sysram_case23.ini”* /
重启
* JLink信息:Reset:通过demcr . vc_coreset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。
e long 0x50000012 = 0xA4
e long 0x50003308 = 0x2e
加载%L.
* JLink信息:Reset:通过demcr . vc_coreset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。
SP = _RDWORD (0x20000000)
$ = _rdword(0x20000004)

func void disp_memlog(void)
{
int idx;
unsigned int min_delta;

exec(“日志> Memlog.log”);

printf("\n\n***内存记录结果***\n\n");

printf(“>>> env heap <<< \ n”);
printf(“此堆中的使用大小:%4d(当前) - %4d(最大)\ n”,mem_log [0] .use_sz,mem_log [0] .max_used_sz);
printf(“其他堆的使用大小:%4d(当前) - %4d(最大)\ n \ n”,mem_log [0] .used_other_sz,mem_log [0] .max_used_other_sz);

printf(“>>> db heap <<< \ n”);
printf("Used size in this HEAP: %4d (current) - %4d (maximum)\n"), mem_log[1]。used_sz, mem_log [1] .max_used_sz);
printf(“其他堆的使用大小:%4d(current) - %4d(最大)\ n \ n”,mem_log [1] .used_other_sz,mem_log [1] .max_used_other_sz);

printf(“>>> msg heap <<< \ n”);
printf(“此堆中的使用大小:%4d(当前) - %4d(最大)\ n”,mem_log [2] .used_sz,mem_log [2] .max_used_sz);
printf("Used size in other HEAPs: %4d (current) - %4d (maximum)\n\n"), mem_log[2]。used_other_sz, mem_log [2] .max_used_other_sz);

printf(">>> Non-Ret HEAP <<<\n");
printf(“此堆中的使用大小:%4d(当前) - %4d(最大)\ n”,mem_log [3] .use_sz,mem_log [3] .max_used_sz);
printf("Used size in other HEAPs: %4d (current) - %4d (maximum)\n\n"), mem_log[3]。used_other_sz, mem_log [3] .max_used_other_sz);

exec(“注销”);
} // disp_memlog()结束

** jlink警告:CPU无法停止
*** JLINK错误:CPU运行时无法读取寄存器15(R15)
*** jlink错误:CPU正在运行时无法读取寄存器16(XPSR)
***JLink Error: Can not read register 0 (R0) while CPU正在运行
***JLink Error: Can not read register 1 (R1) while CPU正在运行
*** JLINK错误:CPU运行时无法读取寄存器2(R2)
*** jlink错误:CPU运行时无法读取寄存器3(R3)
***JLink Error: Can not read register 4 (R4) while CPU正在运行
*** jlink错误:CPU运行时无法读取寄存器5(R5)
*** jlink错误:CPU运行时无法读取寄存器6(R6)
*** jlink错误:CPU运行时无法读取寄存器7(R7)
***JLink Error: Can not read register 8 (R8) while CPU正在运行
***JLink Error: Can not read register 9 (R9) while CPU正在运行
***JLink Error: Can not read register 10 (R10) while CPU正在运行
*** jlink错误:CPU运行时无法读取寄存器11(R11)
*** jlink错误:CPU运行时无法读取寄存器12(R12)
***JLink Error: Can not read register 13 (R13) while CPU正在运行
***JLink Error: Can not read register 14 (R14) while CPU正在运行
*** JLINK错误:CPU运行时无法读取寄存器15(R15)
*** jlink错误:CPU正在运行时无法读取寄存器16(XPSR)
***JLink Error: Can not read register 17 (MSP) while CPU正在运行
*** jlink错误:CPU运行时无法读取寄存器18(PSP)
*** jlink错误:CPU正在运行时无法读取寄存器20(CFBP)

可能是什么问题?

先谢谢你,
莫里吉奥

PM_DIALOG.
离线
最后一次露面:18小时57分钟前
职员
加入:2018-02-08 11:03
嗨Maurizio Malaspina,

嗨Maurizio Malaspina,

你能用热门安装调试器可以运行它吗?为了找到固件崩溃的位置?代码崩溃时?当你试图从你手机连接?由于您将固件下载到System-RAM,因此DA14580开始广告?请您查看它的SmartSnipptes Toolbox的电源分布器吗?

谢谢,PM_DIALOG.

Maurizio Malaspina
离线
最后一次露面:9个月1周前
加入:2019-01-16 21:40
感谢您的答复。

感谢您的答复。

我已经正确地指出了“.....\DA1458x_DSPS\v_5.150.2\projects\target_apps\dsps\sps_device\Keil_5\JLinkSettings.ini”初始化文件在KEIL uVision IDE中的“目标'spds_device_580'选项”的调试选项卡中。

通过这种方式,在调试RAM期间不会发生崩溃,并在我的Android智能手机上启动“Dialog-SPS”应用程序,我的“Dialog-SPS”设备被找到。

尽管如此,在调试期间不能建立连接。

如果我上传应用程序在RAM中使用“booter”工具提供的“SmartSnippet工具箱v.5.0.6.2196”应用程序运行和连接可以建立!

为什么应用程序在调试期间不能正常运行?

PM_DIALOG.
离线
最后一次露面:18小时57分钟前
职员
加入:2018-02-08 11:03
嗨Maurizio Malaspina,

嗨Maurizio Malaspina,

>>尽管这有,但在调试期间无法建立连接。

你的意思是你有调试器热连接,你不能连接?

>>如果我使用“SmartSnippet Toolbox V.5.0.6.2196”提供的“Booter”工具在RAM中上传应用程序运行和连接可以建立连接!

你能解释一下吗?你是说你把固件下载到SPI Flash里了吗?

谢谢,PM_DIALOG.

Maurizio Malaspina
离线
最后一次露面:9个月1周前
加入:2019-01-16 21:40
谢谢您的回复和

感谢您的回复,请原谅我延迟。

>>你的意思是你有调试器热门的调试器,你无法连接?

确切地说(见附件“Picture_1.png”)

当我启动调试会话时,我注意到命令提示符中的“***错误10:语法错误”。

你能解释一下吗?你是说你把固件下载到SPI Flash里了吗?

我正在将十六进制文件加载到芯片的主Sysram中(请参阅“picture_2.png”和“picture_3.png”附加),并检测到对话框(请参阅“screenshot_android.png”)。

这是完整的命令提示符输出:

使用代码大小限制:32K
将JLink项目文件设置为“C:\用户\ utente \ desktop \ da1458x_dsps \ v_5.150.2 \ projects \ target_apps \ dsps \ sps_device \ keil_5 \ jlinksettings.ini”* jlink info:设备“cortex-m0”选择。

jlink信息:
-------------
DLL: V6.32i,编译于2018年7月24日15:19:55
固件:j-link ob-sam3u128 v1编译7月12日2018年12:17:48
硬件:V1.00
S / N: 480068119

* JLINK信息:找到带ID 0x0BB11477的SW-DP
* JLINK信息:扫描AP地图查找所有可用的AP
* JLINK信息:AP [1]:已停止AP扫描作为AP地图的结尾已达到
* JLINK INFO:AP [0]:AHB-AP(IDR:0x04770021)
* JLink信息:迭代通过AP地图找到AHB-AP使用
* jlink信息:AP [0]:找到核心
* JLink Info: AP[0]: AHB-AP ROM base: 0xE00FF000
* JLINK信息:CPUID寄存器:0x410cc200。实施者代码:0x41(手臂)
* jlink信息:找到cortex-m0 r0p0,小endian。
* JLink Info: FPUnit: 4 code (BP)插槽和0字面值插槽
* jlink信息:coresight组件:
* JLink信息:ROMTbl[0] @ E00FF000
* jlink信息:romtbl [0] [0]:e000000,cid:b105e00d,pid:000bb008 scs
* JLink Info: ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 000BB00A DWT
* JLINK INFO:ROMTBL [0] [2]:E0002000,CID:B105E00D,PID:000BB00B FPB
romtableddr = 0xe00ff000
* JLink信息:Reset:通过demcr . vc_coreset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。

目标信息:
-------------
设备:ARMCM0
vtarget = 3.300V.
引脚状态:TCK: 0, TDI: 1, TDO: 1, TMS: 1, TRES: 1, TRST: 1
硬件断点:4
软件断点:8192
观察点:2
JTAG速度:1000 kHz

load“c:\\ users \\ utente \\桌面\\ da1458x_dsps \\ v_5.150.2 \\ projects \\ target_apps \\ dsps \\ sps_device \\ keil_5 \\ out_580 \\ sps_device_580.axf”
* JLink信息:Reset:通过demcr . vc_coreset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。
包括“c:\\ users \\ utente \\ desktop \\ da1458x_dsps \\ v_5.150.2 \\ projects \\ target_apps \\ dsps \\ sps_device \\ keil_5 \\ jlinksettings.ini”
(断点)
^
***错误10:语法错误

你觉得怎么样是错的?

先谢谢你,

莫里吉奥

附件:
PM_DIALOG.
离线
最后一次露面:18小时57分钟前
职员
加入:2018-02-08 11:03
嗨Maurizio Malaspina

嗨Maurizio Malaspina

你能读一下吗教程8:调试方法从我们的支持网站的教程来看看你如何能在调试模式下运行代码?

谢谢,PM_DIALOG.

Maurizio Malaspina
离线
最后一次露面:9个月1周前
加入:2019-01-16 21:40
亲爱的pm_dialog,

亲爱的pm_dialog,

谢谢你的支持。

我已成功阅读并推动了教程的第一部分。

随后,我尝试在sps_device项目中执行相同的步骤。

第一次尝试失败。我发现,“目标”SPS_DEVICE_580' - > debug选项选项中的jlink的默认初始化文件指向的jlink指向“选项”选项卡错误。

正确的一个到点是“.. \ .. \ .. \ .. \。\ sdk_580 \ sdk \ common_project_files \ misc \ sysram_case23.ini”。

通过这种方式,在命令提示符输出窗口中没有更多“***错误10:语法错误”。

在这个项目中,不幸的是,UART2端口被用作BLE上的UART的I/O终端,所以我不能像教程8中描述的那样激活“CFG_PRINTF”,但是调试将在KEIL IDE中启动。

通过这种配置,DIALOG-SPS应用程序能够检测到设备,并且所有设备都正常工作,但是JLINK会失去连接,从而阻止从IDE执行实时调试。

当连接失败时,命令提示符显示如下:

使用代码大小限制:32K
将JLink项目文件设置为“C:\用户\ utente \ desktop \ da1458x_dsps \ v_5.150.2 \ projects \ target_apps \ dsps \ sps_device \ keil_5 \ jlinksettings.ini”* jlink info:设备“cortex-m0”选择。

jlink信息:
-------------
DLL: V6.32i,编译于2018年7月24日15:19:55
固件:j-link ob-sam3u128 v1编译7月12日2018年12:17:48
硬件:V1.00
S / N: 480068119

* JLINK信息:找到带ID 0x0BB11477的SW-DP
* JLINK信息:扫描AP地图查找所有可用的AP
* JLINK信息:AP [1]:已停止AP扫描作为AP地图的结尾已达到
* JLINK INFO:AP [0]:AHB-AP(IDR:0x04770021)
* JLink信息:迭代通过AP地图找到AHB-AP使用
* jlink信息:AP [0]:找到核心
* JLink Info: AP[0]: AHB-AP ROM base: 0xE00FF000
* JLINK信息:CPUID寄存器:0x410cc200。实施者代码:0x41(手臂)
* jlink信息:找到cortex-m0 r0p0,小endian。
* JLink Info: FPUnit: 4 code (BP)插槽和0字面值插槽
* jlink信息:coresight组件:
* JLink信息:ROMTbl[0] @ E00FF000
* jlink信息:romtbl [0] [0]:e000000,cid:b105e00d,pid:000bb008 scs
* JLink Info: ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 000BB00A DWT
* JLINK INFO:ROMTBL [0] [2]:E0002000,CID:B105E00D,PID:000BB00B FPB
romtableddr = 0xe00ff000
* JLink信息:Reset:通过demcr . vc_coreset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。

目标信息:
-------------
设备:ARMCM0
vtarget = 3.300V.
引脚状态:TCK: 0, TDI: 1, TDO: 1, TMS: 1, TRES: 1, TRST: 1
硬件断点:4
软件断点:8192
观察点:2
JTAG速度:1000 kHz

load“c:\\ users \\ utente \\桌面\\ da1458x_dsps \\ v_5.150.2 \\ projects \\ target_apps \\ dsps \\ sps_device \\ keil_5 \\ out_580 \\ sps_device_580.axf”
* JLink信息:Reset:通过demcr . vc_coreset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。
包括“c:\\ users \\ utente \\ desktop \\ da1458x_dsps \\ v_5.150.2 \\ projects \\ target_apps \\ dsps \\ sps_device \\ keil_5 \\ .. \\ .. \\ .. \\.. \\ .. \\ sdk_580 \\ sdk \\ common_project_files \\ misc \\ sysram_case23.ini“
/ *杀死按钮* * /
/ *定义按钮“重置dk580”,“包含../../misc/sysram_case23.ini”* /
重启
* JLink信息:Reset:通过demcr . vc_coreset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。
e long 0x50000012 = 0xA4
e long 0x50003308 = 0x2e
加载%L.
* JLink信息:Reset:通过demcr . vc_coreset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。
SP = _RDWORD (0x20000000)
$ = _rdword(0x20000004)

func void disp_memlog(void)
{
int idx;
unsigned int min_delta;

exec(“日志> Memlog.log”);

printf("\n\n***内存记录结果***\n\n");

printf(“>>> env heap <<< \ n”);
printf(“此堆中的使用大小:%4d(当前) - %4d(最大)\ n”,mem_log [0] .use_sz,mem_log [0] .max_used_sz);
printf(“其他堆的使用大小:%4d(当前) - %4d(最大)\ n \ n”,mem_log [0] .used_other_sz,mem_log [0] .max_used_other_sz);

printf(“>>> db heap <<< \ n”);
printf("Used size in this HEAP: %4d (current) - %4d (maximum)\n"), mem_log[1]。used_sz, mem_log [1] .max_used_sz);
printf(“其他堆的使用大小:%4d(current) - %4d(最大)\ n \ n”,mem_log [1] .used_other_sz,mem_log [1] .max_used_other_sz);

printf(“>>> msg heap <<< \ n”);
printf(“此堆中的使用大小:%4d(当前) - %4d(最大)\ n”,mem_log [2] .used_sz,mem_log [2] .max_used_sz);
printf("Used size in other HEAPs: %4d (current) - %4d (maximum)\n\n"), mem_log[2]。used_other_sz, mem_log [2] .max_used_other_sz);

printf(">>> Non-Ret HEAP <<<\n");
printf(“此堆中的使用大小:%4d(当前) - %4d(最大)\ n”,mem_log [3] .use_sz,mem_log [3] .max_used_sz);
printf("Used size in other HEAPs: %4d (current) - %4d (maximum)\n\n"), mem_log[3]。used_other_sz, mem_log [3] .max_used_other_sz);

exec(“注销”);
} // disp_memlog()结束

** jlink警告:CPU无法停止
*** JLINK错误:CPU运行时无法读取寄存器15(R15)
*** jlink错误:CPU正在运行时无法读取寄存器16(XPSR)
***JLink Error: Can not read register 0 (R0) while CPU正在运行
***JLink Error: Can not read register 1 (R1) while CPU正在运行
*** JLINK错误:CPU运行时无法读取寄存器2(R2)
*** jlink错误:CPU运行时无法读取寄存器3(R3)
***JLink Error: Can not read register 4 (R4) while CPU正在运行
*** jlink错误:CPU运行时无法读取寄存器5(R5)
*** jlink错误:CPU运行时无法读取寄存器6(R6)
*** jlink错误:CPU运行时无法读取寄存器7(R7)
***JLink Error: Can not read register 8 (R8) while CPU正在运行
***JLink Error: Can not read register 9 (R9) while CPU正在运行
***JLink Error: Can not read register 10 (R10) while CPU正在运行
*** jlink错误:CPU运行时无法读取寄存器11(R11)
*** jlink错误:CPU运行时无法读取寄存器12(R12)
***JLink Error: Can not read register 13 (R13) while CPU正在运行
***JLink Error: Can not read register 14 (R14) while CPU正在运行
*** JLINK错误:CPU运行时无法读取寄存器15(R15)
*** jlink错误:CPU正在运行时无法读取寄存器16(XPSR)
***JLink Error: Can not read register 17 (MSP) while CPU正在运行
*** jlink错误:CPU运行时无法读取寄存器18(PSP)
*** jlink错误:CPU正在运行时无法读取寄存器20(CFBP)

也许任何睡眠模式都进入,因此jlink连接掉下来?

是否有可能执行此项目的标准调试?

我是否被迫将串行端口用于DEBG?

一般的限制/约束是什么?

非常感谢,

莫里吉奥

PM_DIALOG.
离线
最后一次露面:18小时57分钟前
职员
加入:2018-02-08 11:03
嗨Maurizio Malaspina,

嗨Maurizio Malaspina,

DSP项目默认使用扩展睡眠模式,因此如果您将其更改为活动模式,请您现在可以让我如果您有同样的问题?

app_default_sleep_mode = arch_sleep_off;//在user_config.h.中

谢谢,PM_DIALOG.

Maurizio Malaspina
离线
最后一次露面:9个月1周前
加入:2019-01-16 21:40
是的,非常感谢!

是的,非常感谢!

通过这种方式,调试器似乎正常工作。

您可以将一些链接发送给调试限制/要知道的内容,以便了解哪些调试限制和/或睡眠模式如何影响代码的行为?

问候,

莫里吉奥

PM_DIALOG.
离线
最后一次露面:18小时57分钟前
职员
加入:2018-02-08 11:03
嗨Maurizio Malaspina,

嗨Maurizio Malaspina,

您可以参考ARM进行调试限制。我们没有任何文档描述这种限制。调试限制为4个断点,最多8个观察点。当您在扩展睡眠模式下运行项目时,调试器已关闭,因此这是您无法附加的原因。如果您发现任何答案有用,请将其标记为“已接受”。

谢谢,PM_DIALOG.