无法连接到DSPS设备。

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程//www.xmece.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
12 posts / 0 new
Last post
毛里利奥Malaspina
离线
Last seen:8个月3周前
加入:2019-01-16 21:40
无法连接到DSPS设备。

你好,

我在da14580devkit-pro上运行“da1458x_dsps \ v_5.150.2 \ projects \ target_apps \ dsps \ sps_device.uvprojx”。
I'm not able to detect the device with your DSPS App 3.210.4 (25 July 2017) running on my Android device (Huawey P9 Lite).
工作这个演示的正确程序是什么?

Thank you very much in advance,
毛里利奥

关键词:
Device:
PM_Dialog
离线
Last seen:7小时58分钟前
工作人员
加入: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 semiconductor.com/system/files/resources/UM-B-088%20DA14585%20Serial%20Port%20Service%20Reference%20Application\u v1.0.pdf

Thanks, PM_Dialog

毛里利奥Malaspina
离线
Last seen:8个月3周前
加入:2019-01-16 21:40
谢谢你的回复。

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

Running with Code Size Limit: 32K
Set JLink Project File to "C:\Users\Utente\Desktop\DA1458x_DSPS\v_5.150.2\projects\target_apps\dsps\sps_device\Keil_5\JLinkSettings.ini"* JLink Info: Device "CORTEX-M0" selected.

JLink info:
------------
DLL:v6.32i,编译7月24日2018 15:19:55
Firmware: J-Link OB-SAM3U128 V1 compiled Jul 12 2018 12:17:48
硬件:v1.00.
S / N:480068119

* JLink Info: Found SW-DP with ID 0x0BB11477
* JLink Info: Scanning AP map to find all available APs
* JLink Info: AP[1]: Stopped AP scan as end of AP map has been reached
* 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. Implementer code: 0x41 (ARM)
* jlink信息:找到cortex-m0 r0p0,小endian。
* jlink信息:fpUnit:4代码(BP)插槽和0个字幕插槽
* JLink Info: CoreSight components:
* 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
*链接信息:ROMTbl[0][2]:E0002000,CID:B105E00D,PID:000BB00B FPB
ROMTableAddr = 0xE00FF000
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
*JLink信息:重置:重置设备通过空勤系统重置请求.

目标信息:
------------
设备:ARMC0.
V目标=3.300V
State of Pins: TCK: 0, TDI: 1, TDO: 1, TMS: 1, TRES: 1, TRST: 1
Hardware-Breakpoints: 4
Software-Breakpoints: 8192
Watchpoints: 2
JTAG速度:1000 kHz

Include "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"
/* KILL BUTTON * */
/* DEFINE BUTTON "Reset DK580" , "include ../../../misc/sysram_case23.ini" */
复位
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
*JLink信息:重置:重置设备通过空勤系统重置请求.
E长0x50000012=0xa4
E long 0x50003308 = 0x2e
LOAD %L
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
*JLink信息:重置:重置设备通过空勤系统重置请求.
sp = _rdword(0x20000000)
$=\r单词(0x2000004)

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

Exec(“log> memlog.log”);

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

printf(“>>>环境堆<<\n”);
printf(“此堆中使用的大小:%4d(当前)-%4d(最大)\n”,mem\u log[0]。Used\u sz,mem\u log[0]。max\u Used\u 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(当前)-%4d(最大)\n\n”,mem\u log[1]。Used\u other\u sz,mem\u log[1]。max\u Used\u other\u sz);

printf(">>> MSG HEAP <<<\n");
printf(“此堆中使用的大小:%4d(当前)-%4d(最大)\n”,mem\u log[2]。Used\u sz,mem\u log[2]。max\u Used\u 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("log off");
} //disp_memlog() ends

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

What could be the issue?

先感谢您,
毛里利奥

PM_Dialog
离线
Last seen:7小时58分钟前
工作人员
加入:2018-02-08 11:03
嗨Maurizio Malaspina,

嗨Maurizio Malaspina,

Could you please run it with hot attach the debugger in order to find where the firmware gets crashed? When the code get crashed? When you are trying to connect from you phone? Since you downloaded the firmware to System-RAM, the DA14580 starts advertising? Could you please check it with the power profiler of SmartSnipptes toolbox?

Thanks, PM_Dialog

毛里利奥Malaspina
离线
Last seen: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”应用程序的过程中,不会发生崩溃。

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

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

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

PM_Dialog
离线
Last seen:7小时58分钟前
工作人员
加入:2018-02-08 11:03
嗨Maurizio Malaspina,

嗨Maurizio Malaspina,

>>尽管如此,在调试期间无法建立连接。

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

>> If I upload the application in RAM using the "booter" tool provided by "SmartSnippet Toolbox v.5.0.6.2196" the application run and the connection can be established!

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

Thanks, PM_Dialog

毛里利奥Malaspina
离线
Last seen:8个月3周前
加入:2019-01-16 21:40
谢谢你的回复

谢谢你的回复excuse me for the delay.

>>您的意思是调试器已热连接,无法连接吗?

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

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

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

我正在将十六进制文件加载到芯片的主系统内存中(见附件“Picture\u 2.png”和“Picture\u 3.png”),并检测到对话\u SPD设备(见“屏幕截图_安卓.png").

This is the complete command prompt output:

Running with Code Size Limit: 32K
Set JLink Project File to "C:\Users\Utente\Desktop\DA1458x_DSPS\v_5.150.2\projects\target_apps\dsps\sps_device\Keil_5\JLinkSettings.ini"* JLink Info: Device "CORTEX-M0" selected.

JLink info:
------------
DLL:v6.32i,编译7月24日2018 15:19:55
Firmware: J-Link OB-SAM3U128 V1 compiled Jul 12 2018 12:17:48
硬件:v1.00.
S / N:480068119

* JLink Info: Found SW-DP with ID 0x0BB11477
* JLink Info: Scanning AP map to find all available APs
* JLink Info: AP[1]: Stopped AP scan as end of AP map has been reached
* 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. Implementer code: 0x41 (ARM)
* jlink信息:找到cortex-m0 r0p0,小endian。
* jlink信息:fpUnit:4代码(BP)插槽和0个字幕插槽
* JLink Info: CoreSight components:
* 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
*链接信息:ROMTbl[0][2]:E0002000,CID:B105E00D,PID:000BB00B FPB
ROMTableAddr = 0xE00FF000
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
*JLink信息:重置:重置设备通过空勤系统重置请求.

目标信息:
------------
设备:ARMC0.
V目标=3.300V
State of Pins: TCK: 0, TDI: 1, TDO: 1, TMS: 1, TRES: 1, TRST: 1
Hardware-Breakpoints: 4
Software-Breakpoints: 8192
Watchpoints: 2
JTAG速度:1000 kHz

Load "C:\\Users\\Utente\\Desktop\\DA1458x_DSPS\\v_5.150.2\\projects\\target_apps\\dsps\\sps_device\\Keil_5\\out_580\\sps_device_580.axf"
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
*JLink信息:重置:重置设备通过空勤系统重置请求.
包括“C:\\Users\\Utente\\Desktop\\DA1458x\u DSPS\\v\u 5.150.2\\projects\\target\u apps\\DSPS\\sps\u device\\Keil\u 5\\JLinkSettings.ini文件"
[断点]
^
*** error 10: Syntax error

你认为哪里不对?

先感谢您,

毛里利奥

PM_Dialog
离线
Last seen:7小时58分钟前
工作人员
加入:2018-02-08 11:03
你好Maurizio Malaspina

你好Maurizio Malaspina

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

Thanks, PM_Dialog

毛里利奥Malaspina
离线
Last seen:8个月3周前
加入:2019-01-16 21:40
尊敬的PM\U Dialog,

尊敬的PM\U Dialog,

感谢您的支持。

我已经成功地阅读并实践了教程8的第一部分。

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

The first attempt failed. I've discovered that the default initialization file for the JLINK pointed in the "Option for target 'sps_device_580' --> Debug" tab was wrong.

The right one to point is "..\..\..\..\..\sdk_580\sdk\common_project_files\misc\sysram_case23.ini".

In this way, no more "*** error 10: Syntax error" raises in the command prompt output window.

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

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

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

Running with Code Size Limit: 32K
Set JLink Project File to "C:\Users\Utente\Desktop\DA1458x_DSPS\v_5.150.2\projects\target_apps\dsps\sps_device\Keil_5\JLinkSettings.ini"* JLink Info: Device "CORTEX-M0" selected.

JLink info:
------------
DLL:v6.32i,编译7月24日2018 15:19:55
Firmware: J-Link OB-SAM3U128 V1 compiled Jul 12 2018 12:17:48
硬件:v1.00.
S / N:480068119

* JLink Info: Found SW-DP with ID 0x0BB11477
* JLink Info: Scanning AP map to find all available APs
* JLink Info: AP[1]: Stopped AP scan as end of AP map has been reached
* 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. Implementer code: 0x41 (ARM)
* jlink信息:找到cortex-m0 r0p0,小endian。
* jlink信息:fpUnit:4代码(BP)插槽和0个字幕插槽
* JLink Info: CoreSight components:
* 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
*链接信息:ROMTbl[0][2]:E0002000,CID:B105E00D,PID:000BB00B FPB
ROMTableAddr = 0xE00FF000
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
*JLink信息:重置:重置设备通过空勤系统重置请求.

目标信息:
------------
设备:ARMC0.
V目标=3.300V
State of Pins: TCK: 0, TDI: 1, TDO: 1, TMS: 1, TRES: 1, TRST: 1
Hardware-Breakpoints: 4
Software-Breakpoints: 8192
Watchpoints: 2
JTAG速度:1000 kHz

Load "C:\\Users\\Utente\\Desktop\\DA1458x_DSPS\\v_5.150.2\\projects\\target_apps\\dsps\\sps_device\\Keil_5\\out_580\\sps_device_580.axf"
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
*JLink信息:重置:重置设备通过空勤系统重置请求.
Include "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"
/* KILL BUTTON * */
/* DEFINE BUTTON "Reset DK580" , "include ../../../misc/sysram_case23.ini" */
复位
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
*JLink信息:重置:重置设备通过空勤系统重置请求.
E长0x50000012=0xa4
E long 0x50003308 = 0x2e
LOAD %L
* jlink信息:重置:通过demcr.vc_corereset重置后停止核心。
*JLink信息:重置:重置设备通过空勤系统重置请求.
sp = _rdword(0x20000000)
$=\r单词(0x2000004)

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

Exec(“log> memlog.log”);

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

printf(“>>>环境堆<<\n”);
printf(“此堆中使用的大小:%4d(当前)-%4d(最大)\n”,mem\u log[0]。Used\u sz,mem\u log[0]。max\u Used\u 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(当前)-%4d(最大)\n\n”,mem\u log[1]。Used\u other\u sz,mem\u log[1]。max\u Used\u other\u sz);

printf(">>> MSG HEAP <<<\n");
printf(“此堆中使用的大小:%4d(当前)-%4d(最大)\n”,mem\u log[2]。Used\u sz,mem\u log[2]。max\u Used\u 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("log off");
} //disp_memlog() ends

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

Perhaps any sleep mode enters making thus the JLINK connection falling down?

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

Am I forced to use serial ports to debg?

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

非常感谢你确实提前,

毛里利奥

PM_Dialog
离线
Last seen:7小时58分钟前
工作人员
加入:2018-02-08 11:03
嗨Maurizio Malaspina,

嗨Maurizio Malaspina,

The DSPS projects is by default using the extended sleep mode, so if you change it into the active mode, could you please let me now if you have the same issue?

app_default_sleep_mode=ARCH_sleep_OFF;//在user_config.h中

Thanks, PM_Dialog

毛里利奥Malaspina
离线
Last seen:8个月3周前
加入:2019-01-16 21:40
是的,谢谢很多!

是的,谢谢很多!

In this way the debugger seems to properly work.

Could you pse send me some links to the debugging limitations / what to know in order to understand what are the debugging limitations and/or how sleep modes influence the behaviour of the code?

当做,

毛里利奥

PM_Dialog
离线
Last seen:7小时58分钟前
工作人员
加入:2018-02-08 11:03
嗨Maurizio Malaspina,

嗨Maurizio Malaspina,

You can refer to ARM for debugging limitation. We haven’t any document describing this kind of limitations. A debugging limitation is up 4 breakpoint and up to 8 watch points. When you run the project in extended sleep mode the debugger is powered off, so that’s the reason why you were not able to attach it. If you found any answer useful, pleas mark it as “accepted”.

Thanks, PM_Dialog