无法连接到dsp设备。

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
12个职位/ 0个新职位
最后发表
莫里吉奥Malaspina
离线
最后看到:8个月3周前
加入:2019-01-16 21:40
无法连接到dsp设备。

你好,

我在da14580devkit-pro上运行“da1458x_dsps \ v_5.150.2 \ projects \ target_apps \ dsps \ sps_device.uvprojx”。
我无法检测在我的Android设备(华为P9 Lite)上运行您的DSPS App 3.210.4(2017年7月25日)的设备。
工作这个演示的正确程序是什么?

非常感谢,
毛里利奥

关键词:
设备:
PM_Dialog
离线
最后看到:7小时14分钟前
工作人员
加入:2018-02-08 11:03
嗨Maurizio Malaspina,

嗨Maurizio Malaspina,

默认DPSP_DEVICE应用程序代码使用硬件流控制。请检查user_periph_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

莫里吉奥Malaspina
离线
最后看到:8个月3周前
加入:2019-01-16 21:40
感谢您的答复。

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

运行代码大小限制:32K
将JLink项目文件设置为"C:\Users\Utente\Desktop\DA1458x_DSPS\v_5.150.2\projects\target_apps\dsps\sps_device\Keil_5\JLinkSettings.ini"* JLink Info: Device " cortexm0 " selected。

JLink信息:
------------
DLL:v6.32i,编译7月24日2018 15:19:55
固件:J-Link obs - sam3u128 V1编译2018.7.12 12:17:48
硬件:v1.00
S / N:480068119

* JLink Info: Found SW-DP with ID 0x0BB11477
* JLink信息:扫描AP地图,以找到所有可用的AP
* JLink信息:AP[1]:停止AP扫描作为AP地图的结束已经到达
* JLink Info: AP[0]: AHB-AP (IDR: 0x04770021)
* jlink信息:通过ap map迭代以查找ahb-ap使用
* JLink Info: AP[0]: Core found
* JLINK INFO:AP [0]:AHB-AP ROM基数:0xE00FF000
* JLink Info: CPUID register: 0x410CC200。实现代码:0x41 (ARM)
* jlink信息:找到cortex-m0 r0p0,小endian。
* jlink信息:fpUnit:4代码(BP)插槽和0个字幕插槽
* JLink信息:corelight组件:
* jlink信息:romtbl [0] @ E00FF000
* JLink Info: ROMTbl[0][0]: E000E000, 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
ROMTableAddr = 0 xe00ff000
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。

目标信息:
------------
设备:ARMC0.
vtarget = 3.300V.
引脚状态:TCK: 0, TDI: 1, TDO: 1, TMS: 1, TRES: 1, TRST: 1
Hardware-Breakpoints: 4
Software-Breakpoints: 8192
监测点:2
JTAG速度:1000 kHz

包括“C: \ \用户桌面\ \ Utente \ \ \ \ \ \ DA1458x_DSPS \ \ v_5.150.2 \ \项目target_apps \ \ \ \ sps_device \ \ Keil_5 \\..\\..\\..\\..\\..\\ sdk_580 \ \ sdk \ \ common_project_files \ \ misc \ \ sysram_case23.ini”
/*关闭按钮* */
/* DEFINE BUTTON "Reset DK580", "include ../../misc/sysram_case23.ini
重启
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。
e long 0x50000012 = 0xA4
E长0x50003308 = 0x2e
负载% L
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。
sp = _rdword(0x20000000)
$ = _rdword(0x20000004)

函数void disp_memlog(空白)

int idx;
unsigned int min_delta;

Exec(“log> 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("Used size in other HEAPs: %4d (current) - %4d (maximum)\n\n"), mem_log[0]。used_other_sz, mem_log [0] .max_used_other_sz);

printf(“>>> db heap <<< \ n”);
printf(“此堆中的使用大小:%4d(当前) - %4d(最大)\ 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(“其他堆中的使用大小:%4d(当前) - %4d(最大)\ n \ n”,mem_log [2] .used_other_sz,mem_log [2] .max_used_other_sz);

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

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

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

有什么问题吗?

先感谢您,
毛里利奥

PM_Dialog
离线
最后看到:7小时14分钟前
工作人员
加入:2018-02-08 11:03
嗨Maurizio Malaspina,

嗨Maurizio Malaspina,

你可以运行它与热连接调试器,以找到哪里固件崩溃?当代码崩溃的时候?当你试图从你的电话连接?既然你下载了系统ram的固件,DA14580开始发布广告?你能检查一下SmartSnipptes工具箱的功率分析器吗?

谢谢,PM_Dialog

莫里吉奥Malaspina
离线
最后看到:8个月3周前
加入:2019-01-16 21:40
感谢您的答复。

感谢您的答复。

我已经正确地指出了“...... \ da1458x_dsps \ v_5.150.2 \ projects \ target_apps \ dsps \ sps_device \ keil_5 \ jlinksettings.ini”在“目标”spds_device_580'“选项的调试选项卡中的初始化文件Keil Uvision IDE。

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

尽管存在此功能,但在调试期间无法建立联系。

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

为什么应用程序在调试期间未正确运行?

PM_Dialog
离线
最后看到:7小时14分钟前
工作人员
加入:2018-02-08 11:03
嗨Maurizio Malaspina,

嗨Maurizio Malaspina,

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

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

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

你能澄清一下吗?你的意思是你把固件下载到spi flash?

谢谢,PM_Dialog

莫里吉奥Malaspina
离线
最后看到:8个月3周前
加入:2019-01-16 21:40
谢谢你的回复

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

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

正好(见“picture_1.png”附加)

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

>>你能澄清一下吗?你的意思是你把固件下载到spi flash?

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

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

运行代码大小限制:32K
将JLink项目文件设置为"C:\Users\Utente\Desktop\DA1458x_DSPS\v_5.150.2\projects\target_apps\dsps\sps_device\Keil_5\JLinkSettings.ini"* JLink Info: Device " cortexm0 " selected。

JLink信息:
------------
DLL:v6.32i,编译7月24日2018 15:19:55
固件:J-Link obs - sam3u128 V1编译2018.7.12 12:17:48
硬件:v1.00
S / N:480068119

* JLink Info: Found SW-DP with ID 0x0BB11477
* JLink信息:扫描AP地图,以找到所有可用的AP
* JLink信息:AP[1]:停止AP扫描作为AP地图的结束已经到达
* JLink Info: AP[0]: AHB-AP (IDR: 0x04770021)
* jlink信息:通过ap map迭代以查找ahb-ap使用
* JLink Info: AP[0]: Core found
* JLINK INFO:AP [0]:AHB-AP ROM基数:0xE00FF000
* JLink Info: CPUID register: 0x410CC200。实现代码:0x41 (ARM)
* jlink信息:找到cortex-m0 r0p0,小endian。
* jlink信息:fpUnit:4代码(BP)插槽和0个字幕插槽
* JLink信息:corelight组件:
* jlink信息:romtbl [0] @ E00FF000
* JLink Info: ROMTbl[0][0]: E000E000, 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
ROMTableAddr = 0 xe00ff000
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。

目标信息:
------------
设备:ARMC0.
vtarget = 3.300V.
引脚状态:TCK: 0, TDI: 1, TDO: 1, TMS: 1, TRES: 1, TRST: 1
Hardware-Breakpoints: 4
Software-Breakpoints: 8192
监测点:2
JTAG速度:1000 kHz

加载用户" C: \ \ \ \ Utente桌面\ \ DA1458x_DSPS \ \ v_5.150.2 \ \ \ \ \ \ target_apps \ \项目需求方\ \ sps_device \ \ Keil_5 \ \ out_580 \ \ sps_device_580.axf”
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。
包括“c:\\ users \\ utente \\ desktop \\ da1458x_dsps \\ v_5.150.2 \\ projects \\ target_apps \\ dsps \\ sps_device \\ keil_5 \\ jlinksettings.ini”
[断点]

error 10:语法错误

你觉得怎么样是错的?

先感谢您,

毛里利奥

附件:
PM_Dialog
离线
最后看到:7小时14分钟前
工作人员
加入:2018-02-08 11:03
嗨Maurizio Malaspina

嗨Maurizio Malaspina

你能读懂吗?教程8:调试方法来自我们支持网站的教程,以了解如何在调试模式下运行代码?

谢谢,PM_Dialog

莫里吉奥Malaspina
离线
最后看到:8个月3周前
加入:2019-01-16 21:40
亲爱的pm_dialog,

亲爱的pm_dialog,

感谢您的支持。

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

随后我试图在SPS_DEVICE项目中执行相同的步骤。

第一次尝试失败了。我发现JLINK的默认初始化文件在“选项为目标'sps_device_580'——> Debug”标签是错误的。

正确的是“.. .\..\..\..\sdk_580\sdk\common_project_files\misc\sysram_case23.ini”。

这样,就不会再在命令提示符输出窗口中引发“*** error 10: Syntax error”。

在这个项目中,遗憾的是,UART2端口用作UART在BLE上的I / O终端,因此我无法激活“CFG_PRINTF”,如教程8中所述,但调试在KEIL IDE中启动。

使用此配置,Dialog-SPS应用程序能够检测到设备,并且所有正常工作都是正确的工作,但JLINK失去了连接从IDE执行实时调试的连接。

当与UC的连接丢失时,命令提示符输出Windows显示:

运行代码大小限制:32K
将JLink项目文件设置为"C:\Users\Utente\Desktop\DA1458x_DSPS\v_5.150.2\projects\target_apps\dsps\sps_device\Keil_5\JLinkSettings.ini"* JLink Info: Device " cortexm0 " selected。

JLink信息:
------------
DLL:v6.32i,编译7月24日2018 15:19:55
固件:J-Link obs - sam3u128 V1编译2018.7.12 12:17:48
硬件:v1.00
S / N:480068119

* JLink Info: Found SW-DP with ID 0x0BB11477
* JLink信息:扫描AP地图,以找到所有可用的AP
* JLink信息:AP[1]:停止AP扫描作为AP地图的结束已经到达
* JLink Info: AP[0]: AHB-AP (IDR: 0x04770021)
* jlink信息:通过ap map迭代以查找ahb-ap使用
* JLink Info: AP[0]: Core found
* JLINK INFO:AP [0]:AHB-AP ROM基数:0xE00FF000
* JLink Info: CPUID register: 0x410CC200。实现代码:0x41 (ARM)
* jlink信息:找到cortex-m0 r0p0,小endian。
* jlink信息:fpUnit:4代码(BP)插槽和0个字幕插槽
* JLink信息:corelight组件:
* jlink信息:romtbl [0] @ E00FF000
* JLink Info: ROMTbl[0][0]: E000E000, 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
ROMTableAddr = 0 xe00ff000
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。

目标信息:
------------
设备:ARMC0.
vtarget = 3.300V.
引脚状态:TCK: 0, TDI: 1, TDO: 1, TMS: 1, TRES: 1, TRST: 1
Hardware-Breakpoints: 4
Software-Breakpoints: 8192
监测点:2
JTAG速度:1000 kHz

加载用户" C: \ \ \ \ Utente桌面\ \ DA1458x_DSPS \ \ v_5.150.2 \ \ \ \ \ \ target_apps \ \项目需求方\ \ sps_device \ \ Keil_5 \ \ out_580 \ \ sps_device_580.axf”
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。
包括“C: \ \用户桌面\ \ Utente \ \ \ \ \ \ DA1458x_DSPS \ \ v_5.150.2 \ \项目target_apps \ \ \ \ sps_device \ \ Keil_5 \\..\\..\\..\\..\\..\\ sdk_580 \ \ sdk \ \ common_project_files \ \ misc \ \ sysram_case23.ini”
/*关闭按钮* */
/* DEFINE BUTTON "Reset DK580", "include ../../misc/sysram_case23.ini
重启
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。
e long 0x50000012 = 0xA4
E长0x50003308 = 0x2e
负载% L
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
* jlink信息:重置:通过aircr.sysresetreq重置设备。
sp = _rdword(0x20000000)
$ = _rdword(0x20000004)

函数void disp_memlog(空白)

int idx;
unsigned int min_delta;

Exec(“log> 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("Used size in other HEAPs: %4d (current) - %4d (maximum)\n\n"), mem_log[0]。used_other_sz, mem_log [0] .max_used_other_sz);

printf(“>>> db heap <<< \ n”);
printf(“此堆中的使用大小:%4d(当前) - %4d(最大)\ 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(“其他堆中的使用大小:%4d(当前) - %4d(最大)\ n \ n”,mem_log [2] .used_other_sz,mem_log [2] .max_used_other_sz);

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

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

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

也许任何睡眠模式进入从而使JLINK连接下降?

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

我是否被迫使用串行端口进行调试?

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

非常感谢你确实提前,

毛里利奥

PM_Dialog
离线
最后看到:7小时14分钟前
工作人员
加入:2018-02-08 11:03
嗨Maurizio Malaspina,

嗨Maurizio Malaspina,

DSPS项目默认使用的是延长睡眠模式,所以如果你把它改成活动模式,请问你现在是否有同样的问题?

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

谢谢,PM_Dialog

莫里吉奥Malaspina
离线
最后看到:8个月3周前
加入:2019-01-16 21:40
是的,谢谢很多!

是的,谢谢很多!

这样调试器就可以正常工作了。

你能给我发送一些调试限制的链接吗?为了理解什么是调试限制和/或睡眠模式如何影响代码的行为?

问候,

毛里利奥

PM_Dialog
离线
最后看到:7小时14分钟前
工作人员
加入:2018-02-08 11:03
嗨Maurizio Malaspina,

嗨Maurizio Malaspina,

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

谢谢,PM_Dialog