无法连接到DSP设备。

⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads athttps://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
12个帖子/ 0新
最后一篇
Maurizio Malaspina.
Offline
最后一次露面:10个月5天前
加入:2019-01-16 21:40
无法连接到DSP设备。

Hello,

I'm running the "DA1458x_DSPS\v_5.150.2\projects\target_apps\dsps\sps_device\Keil_5\sps_device.uvprojx" in RAM on a DA14580DEVKIT-PRO.
我无法使用DSPS应用程序3.210.4(2017年7月25日)在我的Android设备(HuaWey P9 Lite)上运行)来检测设备。
What is the right procedure to work this demo?

非常感谢你提前,
Maurizio

Keywords:
设备:
PM_DIALOG.
Offline
最后一次露面:2 days 8 hours ago
职员
加入:2018-02-08 11:03
Hi Maurizio Malaspina,

Hi Maurizio Malaspina,

The default dpsp_device application code uses hardware flow control. Please check the CFG_UART_HW_FLOW_CTRL in the user_periph_setup.h header file. So, in case you have the Pro-DK you should correctly configure the jumpers. I would suggest to have a look at Figure 19 of the UM-B-088 user manual. Do you have the same jumper configurations?

https://support.dialog-semiconductor.com/system/files/resources/UM-B-088%20DA14585%20Serial%20Port%20Service%20Reference%20Application_v1.0.pdf

谢谢,PM_DIALOG.

Maurizio Malaspina.
Offline
最后一次露面:10个月5天前
加入:2019-01-16 21:40
Thank you for the reply.

Thank you for the reply.
The jumpers are correctly configured for UART with HW flow control communication.
I've rebuilt the target and now I can see the "DIALOG-SPS" device detected by the Bluetooth of my Android smartphone.
The problem now is that the debug stops.
I can see in the "Command" Window of the 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, compiled Jul 24 2018 15:19:55
固件:j-link ob-sam3u128 v1编译7月12日2018年12:17:48
Hardware: 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 Info: Iterating through AP map to find AHB-AP to use
* jlink信息:AP [0]:找到核心
*JLink Info: AP[0]: AHB-AP ROM base: 0xE00FF000
* JLINK信息:CPUID寄存器:0x410cc200。实施者代码:0x41(手臂)
*JLink Info: Found Cortex-M0 r0p0, Little endian.
*JLink Info: FPUnit: 4 code (BP) slots and 0 literal slots
* jlink信息:coresight组件:
*JLink Info: 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 Info: Reset: Halt core after reset via DEMCR.VC_CORERESET.
*JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.

Target info:
-------------
设备:ARMCM0
VTarget = 3.300V
PIN状态:TCK:0,TDI:1,TDO:1,TMS:1,TRES:1,TRST:1
硬件断点:4
软件断点:8192
观察点:2
JTAG speed: 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”* /
RESET
*JLink Info: Reset: Halt core after reset via DEMCR.VC_CORERESET.
*JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.
E long 0x50000012 = 0xa4
e long 0x50003308 = 0x2e
加载%L.
*JLink Info: Reset: Halt core after reset via DEMCR.VC_CORERESET.
*JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.
SP = _RDWORD (0x20000000)
$ = _RDWORD (0x20000004)

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

exec("log > Memlog.log");

printf("\n\n*** Memory Logging Results ***\n\n");

printf(">>> ENV HEAP <<<\n");
printf("Used size in this HEAP : %4d (current) - %4d (maximum)\n", mem_log[0].used_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("Used size in other HEAPs: %4d (current) - %4d (maximum)\n\n", mem_log[1].used_other_sz, mem_log[1].max_used_other_sz);

printf(“>>> msg heap <<< \ n”);
printf("Used size in this HEAP : %4d (current) - %4d (maximum)\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 is running
***JLink Error: Can not read register 1 (R1) while CPU is running
***JLink Error: Can not read register 2 (R2) while CPU is running
*** jlink错误:CPU运行时无法读取寄存器3(R3)
***JLink Error: Can not read register 4 (R4) while CPU is running
* * * JLink错误:无法读取寄存器5 (R5)CPU is running
***JLink Error: Can not read register 6 (R6) while CPU is running
*** jlink错误:CPU运行时无法读取寄存器7(R7)
***JLink Error: Can not read register 8 (R8) while CPU is running
***JLink Error: Can not read register 9 (R9) while CPU is running
***JLink Error: Can not read register 10 (R10) while CPU is running
*** jlink错误:CPU运行时无法读取寄存器11(R11)
***JLink Error: Can not read register 12 (R12) while CPU is running
***JLink Error: Can not read register 13 (R13) while CPU is running
***JLink Error: Can not read register 14 (R14) while CPU is running
*** JLINK错误:CPU运行时无法读取寄存器15(R15)
*** jlink错误:CPU正在运行时无法读取寄存器16(XPSR)
***JLink Error: Can not read register 17 (MSP) while CPU is running
*** jlink错误:CPU运行时无法读取寄存器18(PSP)
***JLink Error: Can not read register 20 (CFBP) while CPU is running

可能是什么问题?

Thank you in advance,
Maurizio

PM_DIALOG.
Offline
最后一次露面:2 days 8 hours ago
职员
加入:2018-02-08 11:03
Hi Maurizio Malaspina,

Hi Maurizio Malaspina,

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

谢谢,PM_DIALOG.

Maurizio Malaspina.
Offline
最后一次露面:10个月5天前
加入:2019-01-16 21:40
Thank you for the reply.

Thank you for the reply.

我正确地指出“。。。。。\DA1458x_DSPS\v_5.150.2\projects\target_apps\dsps\sps_device\Keil_5\JLinkSettings.ini" initialization file in the debug tab of the "option for target 'spds_device_580'" inthe KEIL uVision IDE.

In this way no crash happens during debugging in RAM and launching the "DIALOG-SPS" App on my Android smartphone my "DIALOG-SPS" device is found.

Despite of this the connection cannot be established during debugging.

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!

Why the application doesn't properly run during debug?

PM_DIALOG.
Offline
最后一次露面:2 days 8 hours ago
职员
加入:2018-02-08 11:03
Hi Maurizio Malaspina,

Hi Maurizio Malaspina,

>> Despite of this the connection cannot be established during debugging.

Do you mean that you have the debugger hot attached and you are not able to connect?

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

Could you please clarify it? Do you mean that you download the firmware into the SPI Flash?

谢谢,PM_DIALOG.

Maurizio Malaspina.
Offline
最后一次露面:10个月5天前
加入:2019-01-16 21:40
Thank you for the reply and

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

>>Do you mean that you have the debugger hot attached and you are not able to connect?

Exactly (see "Picture_1.png" attached)

I note a "*** error 10: Syntax error" in the command prompt, when I launch the debugging session.

>> Could you please clarify it? Do you mean that you download the firmware into the SPI Flash?

I'm loading the hex file into the main SysRAM of the chip (see "Picture_2.png" and "Picture_3.png" attached) and the DIALOG_SPD device is detected (see "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, compiled Jul 24 2018 15:19:55
固件:j-link ob-sam3u128 v1编译7月12日2018年12:17:48
Hardware: 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 Info: Iterating through AP map to find AHB-AP to use
* jlink信息:AP [0]:找到核心
*JLink Info: AP[0]: AHB-AP ROM base: 0xE00FF000
* JLINK信息:CPUID寄存器:0x410cc200。实施者代码:0x41(手臂)
*JLink Info: Found Cortex-M0 r0p0, Little endian.
*JLink Info: FPUnit: 4 code (BP) slots and 0 literal slots
* jlink信息:coresight组件:
*JLink Info: 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 Info: Reset: Halt core after reset via DEMCR.VC_CORERESET.
*JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.

Target info:
-------------
设备:ARMCM0
VTarget = 3.300V
PIN状态:TCK:0,TDI:1,TDO:1,TMS:1,TRES:1,TRST:1
硬件断点:4
软件断点:8192
观察点:2
JTAG speed: 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 Info: Reset: Halt core after reset via DEMCR.VC_CORERESET.
*JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.
Include "C:\\Users\\Utente\\Desktop\\DA1458x_DSPS\\v_5.150.2\\projects\\target_apps\\dsps\\sps_device\\Keil_5\\JLinkSettings.ini"
[BREAKPOINTS]
^
***错误10:语法错误

What do you think is wrong?

Thank you in advance,

Maurizio

附件:
PM_DIALOG.
Offline
最后一次露面:2 days 8 hours ago
职员
加入:2018-02-08 11:03
Hi Maurizio Malaspina

Hi Maurizio Malaspina

Could you please read theTutorial 8: Debugging methodstutorial from our support website in order to see how you can run the code in debug mode?

谢谢,PM_DIALOG.

Maurizio Malaspina.
Offline
最后一次露面:10个月5天前
加入:2019-01-16 21:40
Dear PM_Dialog,

Dear PM_Dialog,

thanks for the support.

I've successfully read and putted into practice the first part of tutorial 8.

Subsequently I've tried to perform the same steps in the sps_device project.

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

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

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

In this project, unfortunately, the UART2 port is used as I/O terminal for the UART over BLE, so I cannot activate the "CFG_PRINTF" as described in the tutorial 8, but the debug starts in the KEIL IDE.

With this configuration, the DIALOG-SPS application is able to detect the device and all is properly working but the JLINK loses the connection preventing to perform real-time debugging from the IDE.

When the connection to the uC is lost, the command prompt output windows shows:

使用代码大小限制: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, compiled Jul 24 2018 15:19:55
固件:j-link ob-sam3u128 v1编译7月12日2018年12:17:48
Hardware: 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 Info: Iterating through AP map to find AHB-AP to use
* jlink信息:AP [0]:找到核心
*JLink Info: AP[0]: AHB-AP ROM base: 0xE00FF000
* JLINK信息:CPUID寄存器:0x410cc200。实施者代码:0x41(手臂)
*JLink Info: Found Cortex-M0 r0p0, Little endian.
*JLink Info: FPUnit: 4 code (BP) slots and 0 literal slots
* jlink信息:coresight组件:
*JLink Info: 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 Info: Reset: Halt core after reset via DEMCR.VC_CORERESET.
*JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.

Target info:
-------------
设备:ARMCM0
VTarget = 3.300V
PIN状态:TCK:0,TDI:1,TDO:1,TMS:1,TRES:1,TRST:1
硬件断点:4
软件断点:8192
观察点:2
JTAG speed: 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 Info: Reset: Halt core after reset via DEMCR.VC_CORERESET.
*JLink Info: Reset: Reset device via 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”* /
RESET
*JLink Info: Reset: Halt core after reset via DEMCR.VC_CORERESET.
*JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.
E long 0x50000012 = 0xa4
e long 0x50003308 = 0x2e
加载%L.
*JLink Info: Reset: Halt core after reset via DEMCR.VC_CORERESET.
*JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.
SP = _RDWORD (0x20000000)
$ = _RDWORD (0x20000004)

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

exec("log > Memlog.log");

printf("\n\n*** Memory Logging Results ***\n\n");

printf(">>> ENV HEAP <<<\n");
printf("Used size in this HEAP : %4d (current) - %4d (maximum)\n", mem_log[0].used_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("Used size in other HEAPs: %4d (current) - %4d (maximum)\n\n", mem_log[1].used_other_sz, mem_log[1].max_used_other_sz);

printf(“>>> msg heap <<< \ n”);
printf("Used size in this HEAP : %4d (current) - %4d (maximum)\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 is running
***JLink Error: Can not read register 1 (R1) while CPU is running
***JLink Error: Can not read register 2 (R2) while CPU is running
*** jlink错误:CPU运行时无法读取寄存器3(R3)
***JLink Error: Can not read register 4 (R4) while CPU is running
* * * JLink错误:无法读取寄存器5 (R5)CPU is running
***JLink Error: Can not read register 6 (R6) while CPU is running
*** jlink错误:CPU运行时无法读取寄存器7(R7)
***JLink Error: Can not read register 8 (R8) while CPU is running
***JLink Error: Can not read register 9 (R9) while CPU is running
***JLink Error: Can not read register 10 (R10) while CPU is running
*** jlink错误:CPU运行时无法读取寄存器11(R11)
***JLink Error: Can not read register 12 (R12) while CPU is running
***JLink Error: Can not read register 13 (R13) while CPU is running
***JLink Error: Can not read register 14 (R14) while CPU is running
*** JLINK错误:CPU运行时无法读取寄存器15(R15)
*** jlink错误:CPU正在运行时无法读取寄存器16(XPSR)
***JLink Error: Can not read register 17 (MSP) while CPU is running
*** jlink错误:CPU运行时无法读取寄存器18(PSP)
***JLink Error: Can not read register 20 (CFBP) while CPU is running

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

Is possible to perform a standard debug of this project?

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

What are the limitations/constraints in general?

Thank you very much indeed in advance,

Maurizio

PM_DIALOG.
Offline
最后一次露面:2 days 8 hours ago
职员
加入:2018-02-08 11:03
Hi Maurizio Malaspina,

Hi Maurizio Malaspina,

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

app_default_sleep_mode = ARCH_SLEEP_OFF ; // in user_config.h

谢谢,PM_DIALOG.

Maurizio Malaspina.
Offline
最后一次露面:10个月5天前
加入:2019-01-16 21:40
Yes, thanks al lot!

Yes, thanks al lot!

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

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

Regards,

Maurizio

PM_DIALOG.
Offline
最后一次露面:2 days 8 hours ago
职员
加入:2018-02-08 11:03
Hi Maurizio Malaspina,

Hi Maurizio Malaspina,

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

谢谢,PM_DIALOG.