你好,
我想调试串口服务代码——使用J-Link的DSP代码。但我观察到的是,只有当我走出调试模式后,我才能使用android应用程序(由DA14580 for SPS提供)扫描我的DA14580设备。如何仍处于调试模式并跟踪代码流。
谢谢asm公司
你好,阿斯梅塔,
只是猜测,但是你可以尝试在选项中设置优化标志为零,Tab C/C++(-O0)。你有什么特别的理由去调试程序流吗?
应用层概述在本用户手册的第7页中有很好的描述. 在文档中查找代码的特定部分应该不是一件很困难的事情。
谢谢!
你好,维桑,我的要求是不要将从Android移动应用程序接收到的数据打印到Tera Term上(对于DA14580芯片)。我的要求是将来自Android mobile的数据保存在一个变量中,并将该变量传递给驱动程序。所以我需要理解代码流。
我还试图调试我的SPS配置文件,似乎我不能从android向TeraTerm应用程序发送任何字符,但是android会接收TeraTerm中生成的任何字符。我注意到关于这个调试问题:在调试模式下,我甚至不能在DSPS应用程序中扫描我的设备,我还注意到我的程序似乎被卡住的地方是:arch_system.c第849行,内容如下:
while((GetWord16(SYS\u STAT\u REG)&DBG\u IS\u UP)==DBG\u IS\u UP){};
这看起来像是如果系统处于调试模式,将无限期挂起。我该如何解决这个问题?我尝试了上面建议的优化注释,结果没有什么不同。
谢谢你的帮助。奈特
我也有同样的问题,等待答案。
也被困在这里了。我试过克里姆提出的上述解决方案。有没有其他的解决方法使它不会被困在这行代码中?
您好!邮箱:jd@exp-eng.com,
没有解决这个问题的办法,你将无法调试你的程序,而它是在睡眠模式。要在SDK3中禁用睡眠模式,必须在da14580\u config中取消扩展睡眠和深度睡眠的定义,如果在SDK5中,则必须在user\u config.h文件中设置变量app\u default\u sleep\u mode in ARCH\u sleep\u OFF。
谢谢你的对话
我认为这里有两个问题,一个是设备进入睡眠模式,另一个是流量控制设置不正确。它们都固定在同一个地方,您需要编辑的文件da14580\u config.h在Keil IDE中不可见。
所以——使用文件浏览器(如Windows资源管理器)导航到项目的根目录,然后右键单击da14580_config.h文件并选择“Open With=>Notepad”。找到定义睡眠模式的行并取消它们的定义(#undef CFG_EXT_sleep和#undef CFG_DEEP_sleep)。现在找到定义流控制的部分(遵循/*UART流控制配置的行)。必须在启用*//*睡眠时启用*/),并将该部分中的所有内容注释掉。将注释掉的代码替换为以下代码://为开发人员启用软件流控制#定义CFG\u UART\u SW\u FLOW\u CTRL#未定义CFG\u UART\u HW\u FLOW\u CTRL#如果定义CFG\u UART\u SW\u FLOW\u CTRL#未定义CFG\u UART\u HW\u FLOW\u CTRL#结束
确保完全重建项目,然后测试是否可以连接到调试器,并且所有字符都在两个方向上一致地传递。不知道为什么没有人回复这个帖子,他们在其他大多数方面都很擅长帮助别人。希望这有帮助。
干杯,克里姆
你好,阿斯梅塔,
只是猜测,但是你可以尝试在选项中设置优化标志为零,Tab C/C++(-O0)。你有什么特别的理由去调试程序流吗?
应用层概述在本用户手册的第7页中有很好的描述. 在文档中查找代码的特定部分应该不是一件很困难的事情。
谢谢!
你好,维桑,
我的要求是不要将从Android移动应用程序接收到的数据打印到Tera Term上(对于DA14580芯片)。
我的要求是将来自Android mobile的数据保存在一个变量中,并将该变量传递给驱动程序。
所以我需要理解代码流。
谢谢
asm公司
我还试图调试我的SPS配置文件,似乎我不能从android向TeraTerm应用程序发送任何字符,但是android会接收TeraTerm中生成的任何字符。
我注意到关于这个调试问题:在调试模式下,我甚至不能在DSPS应用程序中扫描我的设备,我还注意到我的程序似乎被卡住的地方是:
arch_system.c第849行,内容如下:
while((GetWord16(SYS\u STAT\u REG)&DBG\u IS\u UP)==DBG\u IS\u UP){};
这看起来像是如果系统处于调试模式,将无限期挂起。我该如何解决这个问题?我尝试了上面建议的优化注释,结果没有什么不同。
谢谢你的帮助。
奈特
我也有同样的问题,等待答案。
也被困在这里了。我试过克里姆提出的上述解决方案。有没有其他的解决方法使它不会被困在这行代码中?
您好!邮箱:jd@exp-eng.com,
没有解决这个问题的办法,你将无法调试你的程序,而它是在睡眠模式。要在SDK3中禁用睡眠模式,必须在da14580\u config中取消扩展睡眠和深度睡眠的定义,如果在SDK5中,则必须在user\u config.h文件中设置变量app\u default\u sleep\u mode in ARCH\u sleep\u OFF。
谢谢你的对话
我认为这里有两个问题,一个是设备进入睡眠模式,另一个是流量控制设置不正确。它们都固定在同一个地方,您需要编辑的文件da14580\u config.h在Keil IDE中不可见。
所以——使用文件浏览器(如Windows资源管理器)导航到项目的根目录,然后右键单击da14580_config.h文件并选择“Open With=>Notepad”。找到定义睡眠模式的行并取消它们的定义(#undef CFG_EXT_sleep和#undef CFG_DEEP_sleep)。现在找到定义流控制的部分(遵循/*UART流控制配置的行)。必须在启用*//*睡眠时启用*/),并将该部分中的所有内容注释掉。将注释掉的代码替换为以下代码:
//为开发人员启用软件流控制
#定义CFG\u UART\u SW\u FLOW\u CTRL
#未定义CFG\u UART\u HW\u FLOW\u CTRL
#如果定义CFG\u UART\u SW\u FLOW\u CTRL
#未定义CFG\u UART\u HW\u FLOW\u CTRL
#结束
确保完全重建项目,然后测试是否可以连接到调试器,并且所有字符都在两个方向上一致地传递。不知道为什么没有人回复这个帖子,他们在其他大多数方面都很擅长帮助别人。希望这有帮助。
干杯,克里姆