构建良好,但在启动调试器时获得以下内容。
使用uVusion 5.15, SDK 3.0.6,根据外设测试设置调试器到内部RAM,
启动文件似乎有问题-如果我注释它的可执行程序运行,但我不能看到任何BLE广告。第一个问题是什么是启动文件抛出错误?
谢谢,克里斯
=============== ||=================.
JLink信息:
------------
DLL: V4.96i,编译Feb 19 2015 11:29:51
固件:J-Link obs - sam3u128 V1编译Nov 28 2014 10:24:11
硬件:V1.00
S / N: 480054962
* JLink Info: Found SWD-DP with ID 0x0BB11477
* JLink Info: Found Cortex-M0 r0p0, Little endian。
* JLink Info: FPUnit: 4 code (BP)插槽和0字面值插槽
ROMTableAddr = 0 xe00ff003
目标信息:
------------
设备:ARMCM0
vtarget = 3.300V.
引脚状态:TCK: 0, TDI: 0, TDO: 1, TMS: 1, TRES: 1, TRST: 1
Hardware-Breakpoints: 4
Software-Breakpoints: 8192
监测点:2
JTAG速度:16667 kHz
负载“C: \ \ DialogSemiTools \ \ DA14580_DSPS_3.150.2 \ \ dk_apps \ \ keil_projects \ \ sps \ \ sps_device \ \ \ \ sps_device.axf”
***受限版本32768字节代码大小限制
***目前使用:15516个字节(47%)
包括“c:\\ dialogsemitools \\ da14580_dsps_3.150.2 \\ dk_apps \\ keil_projects \\ sps \\ sps_device \\ .. \\ .. \\ .. \\ misc \\ sysram_case23.ini”
/*关闭按钮* */
/* DEFINE BUTTON "Reset DK580", "include ../../misc/sysram_case23.ini
重置
e long 0x50000012 = 0xA4
E长0x50003308 = 0x2e
负载% L
***受限版本32768字节代码大小限制
***目前使用:15516个字节(47%)
SP = _RDWORD (0x20000000)
$ = _rdword(0x20000004)
函数void disp_memlog(空白)
{
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("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("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(“此堆中的使用大小:%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("Used size in this HEAP: %4d (current) - %4d (maximum)\n"), mem_log[3]。used_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()结束
函数void displayvalues(空白)
{
int idx;
unsigned int min_delta;
exc(“log> myvalues.log”);
printf (" * * * dbg_remaining_times [] \ n”);
For (idx = 0;idx < 100;idx + +) {
printf (" % d \ n”,dbg_remaining_times [idx]);
____________________^
***错误34,第51行:未定义的标识符
}
printf (" * * * dbg_sleep_times [] \ n”);
For (idx = 0;idx < 100;idx + +) {
printf (" % d \ n”,dbg_sleep_times [idx]);
____________________^
***错误34,第55行:未定义的标识符
}
printf (" * * * dbg_check_times [] \ n”);
For (idx = 0;idx < 100;idx + +) {
printf(“%d \ n”,dbg_check_times [idx]);
____________________^
***错误34,第59行:未定义的标识符
}
printf (" \ n \ n = = = = = = = =结果\ n”);
min_delta = 0 xffffffff;
printf("三角洲max \ n”);
For (idx = 0;idx < 100;idx + +) {
int结果;
If (dbg_remaining_times[idx] < 170)
________ ^
***错误34,第66行:未定义的标识符
Result = 625 + dbg_remaining_times[idx] - 170;
_____________________^
***错误34,第67行:未定义标识符
其他的
Result = dbg_remaining_times[idx] - 170;
_______________^
***错误34,第69行:未定义的标识符
If (min_delta > result) min_delta = result;
printf (" % d \ n”,结果);
}
printf("达美航空敏\ n”);
For (idx = 0;idx < 100;idx + +) {
int结果;
If (dbg_remaining_times[idx] < 400)
________ ^
***错误34,第76行:未定义的标识符
结果= 625 + dbg_remaining_tips [Idx] - 400;
_____________________^
***错误34,第77行:未定义的标识符
其他的
Result = dbg_remaining_times[idx] - 400;
_______________^
***错误34,第79行:未定义的标识符
If (min_delta > result) min_delta = result;
printf (" % d \ n”,结果);
}
Printf (" min_delta: %d\n", min_delta);
printf (" SLP剩余时间\ n”);
For (idx = 0;idx < 100;idx + +) {
printf (" % d \ n”,dbg_slp_rem [idx]);
____________________^
***错误34,第86行:未定义标识符
}
printf("最小记录SLP rem时间:%d\n", dbg_slp_rem_min);
______________________________________________^
***错误34,第88行:未定义标识符
printf("最大记录SLP rem时间:%d\n", dbg_slp_rem_max);
______________________________________________^
***错误34,第89行:未定义标识符
printf("SLP hit to clk补偿程序延迟:%d\n", dbg_slp_rem_diff_min);
__________________________________________________________^
***错误34,第90行:未定义标识符
exec(“注销”);
} / / displayvalues()结束
rxdesc WS 1”
你好Chris,这周我会和美国队讨论这个问题。快速问:你使用的目标HW是什么?BASIC或PRO或Expert套件或PAN1740 / Murata模块?
谢谢& BR
JE_Dialog
我正在使用基本董事会
RGSD - Chris.
嗨,克里斯:
我也看到错误由于启动文件。我会将此信息传达给我们的开发团队。尽管有错误,我还是看到了广告。您可以尝试加载另一个示例项目吗?我的建议是,您从SDK 3.0.6: C:\DA1458x_SDK_3.0.6\dk_apps\keil_projects\proximity\reporter_fh加载近似报告程序项目。让我们看看你是否能看到这个项目的广告。我们将从那里开始。
谢谢,
TR_DIALOG
这个项目没有出现错误,但我仍然没有看到广告
使用的Connection Manager验证芯片是否正常 - 外设模式通告正常
更有趣的是,当下载DSPS项目时,它简单地宣传了DialogDemo。一旦我运行DSPS项目,广告就会停止
祝好,克里斯
你好,
你能解释一下你所说的“外围模式广告OK”是什么意思吗?
Proximity Reporter_FH也是一个外设项目。
谢谢,
TR_DIALOG
我的意思是,当我使用连接管理器(作为外设启动)启用它时,外设广告工作良好——在iOS上使用LightBlue进行测试
只有我对项目进行的更改是内部存储器的KEIL目标选项中的设置 - 根据外设测试项目。
你能把在BASIC板上在内存中运行的dsp项目的版本发给我吗?如果这不起作用,一定是工具问题?
-当我停止调试广告启动,我也看到一些字符从Android应用程序使它的USB串口
-我也有点困惑,为什么我不能得到一个标准样本工作的标准eval板开箱。如果这行不通,那就预示着未来不妙:)
看起来我们在check_sys_startup_period(),第849行- while ((GetWord16(SYS_STAT_REG) & DBG_IS_UP) == DBG_IS_UP) {};
为什么DBG_IS_UP标记没有被声明?你能确认他的软件真的在BASIC板上测试过吗?这在专家委员会上似乎很管用。
嗨,克里斯:
使用DSPS的基本套件需要一些额外的步骤,如用户手册8.1节所述。
你试过这种配置吗?
谢谢,
TR_DIALOG
非常感谢您的回复。
DSPS用户手册(UM-B-038) 8.1节?这就是让串口运行的方法。我还没到那一步,广告还没上线,我无法连接。
还是我错过了什么互动?例如,因为RTS游戏没有设置,所以SW被炸毁了?
另外,为什么我不能在没有流量控制的segger连接上使用串行端口?我可以在另一个串行端口,但这似乎是一个不必要的麻烦?
问候 - 克里斯
嗨,克里斯:
以下是我们在电话交谈中讨论的几点:
- 您必须停止调试器的M0处理器以执行代码。这是必要的,因为与J-Link调试器的深度睡眠或延长休眠冲突。您必须停止调试器为设备启动广告。您还可以在每个项目的DA14580_CONFIG.H文件中禁用(undefine)睡眠模式,这将允许您使用调试器。
-当使用DSPS项目与基本套件,需要一些额外的步骤,以使数据在两个方向移动。这些步骤在用户手册8.1节中概述。
-专家工具包可能是您评估过程更好的平台。专家工具包还允许您使用智能片段的电能表功能,以实时监控当前的消费。你也可以连接外部电流表来测量峰值和休眠模式电流。
谢谢,
TR_DIALOG
谢谢。是的,睡眠模式是罪魁祸首。关闭深度睡眠&调试器是愉快的。
也使SW流量控制代替HW流量控制和Segger UART工作良好。
关闭。
使用Expert Kit,我面临着与原始帖子相同的问题。
我该怎么办?在用户手册的8.1节中,专家工具包没有额外的步骤。
我有一个问题使用基本开发工具和DSPS参考设计。sps_device项目使用JTAG编译和下载到板,但设备没有显示在DSPS android应用程序。我使用SW_FLOW_CTRL:
#define cfg_uart_sw_flow_ctrl.
# undef CFG_UART_HW_FLOW_CTRL
停止调试无关。
使用SmartSnippets下载也不会有任何区别。
使用DA14580_1,我的自定义板发生了同样的问题。
你能帮忙吗?
嗨之列,
检查您的FTDI连接,如果您的连接是好的,请删除睡眠配置,以便调试您的程序,并查看程序卡住的地方。
谢谢MT_dialog。
你好,谢谢你的回复
现在,基本的开发板与DSPS工作,并宣传设备。
然而,相同的代码在我的定制板上没有广告,也没有显示在DSPS android应用程序。我已经在buck模式下为50欧姆天线使用ref设计,并使用了非常接近芯片的3.3nH电感。当DSPS下载和调试器停止,我从RFIOp探针和没有显示在范围(除了一个非常低的幅度信号约50mv),而在开发板我可以观察到一个良好的信号。定制板使用这个小天线:http://www.farnell.com/datasheets/1819371.pdf.有匹配的PI电路(还没有匹配的元件)。
50OHM阻抗匹配是多么重要?
你认为为什么在dsp运行的时候我看不到任何信号?
我是否需要改变我的定制委员会的DSP代码中的任何东西(除了GPIO拨款)?
非常感谢你的帮助。
谢谢你!