靠近报告不起作用

19个帖子/ 0新
最后一篇
Zheshen.
离线
最后一次露面:1年9个月前
加入:2015-08-11 20:01
靠近报告不起作用

嗨,我刚刚开始在DA14580专家委员会上工作,并试图在UM-B-050中记录的,但智能手机应用程序不会检测到任何广告数据包。

以下是我的配置:Keil 5.16a IDE,SDK 5.0.2.1,DA14580专家委员会,USB加密狗。电路板连接到桌面,加密狗连接到笔记本电脑。

这是我所做的:

(1)在Keil加载Blinky演示并成功构建应用程序。启动调试会话并将图像加载到目标,LED灯呈闪烁。
(2)从da1458x_sdk \ 5.0.2.1 \ projects \ target_apps \ ble_examples \ prox_reporter \ keil_5 \ prox_reporter.uvprojx中加载keil中的接近报告演示。该构建有一个警告,但看起来良性。启动调试会话并立即在0x200004a4停止,调用堆栈显示reset_handler。命令窗口的输出如下:

使用代码大小限制:32K
* JLINK INFO:选择“Cortex-M0”所选的。
将JLink项目文件设置为“C:\ da1458x_sdk \ 5.0.2.1 \ projects \ target_apps \ ble_examples \ prox_reporter \ keil_5 \ jlinksettings.ini”* jlink信息:设备“cortex-m0”所选。

jlink信息:
-------------
DLL:v5.02b,编译9月8日2015年18:47:15
固件:J-Link ARM Lite V8编译10月29日2014 09:03:16
硬件:V8.00.
S / N:228205529
特征:GDB

* JLINK信息:找到了带ID 0x0BB11477的SWD-DP
* jlink信息:找到cortex-m0 r0p0,小endian。
* jlink信息:fpUnit:4代码(BP)插槽和0个字幕插槽
* jlink信息:coresight组件:
* jlink信息:romtbl 0 @ E00FF000
* jlink信息:romtbl 0 [0]:fff0f000,cid:b105e00d,pid:000bb008 scs
* jlink信息:romtbl 0 [1]:fff02000,cid:b105e00d,pid:000bb00a dwt
* jlink信息:romtbl 0 [2]:fff03000,cid:b105e00d,pid:000bb00b fpb
romtableaddr = 0xe00ff003.

目标信息:
-------------
设备:ARMC0.
vtarget = 2.963v.
引脚状态:TCK:0,TDI:0,TDO:0,TMS:1,TRES:1,TRST:1
硬件断点:4
软件断点:8192
观察点:2
JTAG速度:2000 kHz

包括“c:\\ da1458x_sdk \\ 5.0.1 \\ projects \\ target_apps \\ ble_examples \\ prox_reporter \\ keil_5 \\ .. \\ .. \\ .. \\ .. \\ .. \ .. \\ .. \\ .. \ \ ......\\ common_project_files \\ misc \\ sysram_case23.ini“
/ *杀死按钮* * /
/ *定义按钮“重置dk580”,“包含../../misc/sysram_case23.ini”* /
重启
e long 0x50000012 = 0xA4
e long 0x50003308 = 0x2e
加载%L.

***具有32768字节代码大小限制的限制版本
***目前使用:26168字节(79%)

sp = _rdword(0x20000000)
$ = _rdword(0x20000004)

func void disp_memlog(void)
{
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(“其他堆的使用大小:%4d(当前) - %4d(最大)\ 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(“此堆中的使用大小:%4d(当前) - %4d(最大)\ n”,mem_log [3] .use_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()结束

(3)我尝试重置CPU然后运行。目标似乎处于循环,智能手机BLE应用程序不会检测到任何内容。

我批评这个论坛中的线程,发现一些线程提到了需要修改此演示的Keil4的项目文件。我需要对Keil5做同样的事情,我可以在哪里找到参考?

感谢您提前任何帮助。

设备:
mh_dialog(未经验证)
Zheshen,

Zheshen,

日志看起来像普通。什么您指的智能手机应用程序?您是否在Android中尝试过IOS和BLE Scanner的LightBlue?

谢谢,Mh_dialog

Zheshen.
离线
最后一次露面:1年9个月前
加入:2015-08-11 20:01
嗨,mh_dialog,

嗨,mh_dialog,

我在Android中使用了BLE扫描仪,并找不到任何东西。

Zheshen.
离线
最后一次露面:1年9个月前
加入:2015-08-11 20:01
我附上了一个屏幕射击

我开始调试会话后附加了一个屏幕镜头,看起来这个应用程序没有到达主要。

我还尝试了一些其他外围示例,他们都没有问题。尝试了BLE_APP_PROFILE演示并获得相同的崩溃。

mhv_dialog.
离线
最后一次露面:3个月2周前
职员
加入:2013-12-06 15:10
你好,

你好,

您需要去附着(停止)调试器。代码执行将在启用SleepMode并且调试器正在运行时暂停。我认为这是你的问题。

Zheshen.
离线
最后一次露面:1年9个月前
加入:2015-08-11 20:01
未定义两个睡眠模式

在DA1458x_config_basic.h中未定义两个睡眠模式(无法在所有项目文件中找到cfg_ext_sleep和cfg_deep_sleep)

#undef cfg_mem_map_ext_sleep.
#undef cfg_mem_map_deep_sleep.

重建所有和使用调试器,代码执行就像以前一样暂停。退出调试器会话并使用BLE扫描仪扫描,仍然没有找到。

mhv_dialog.
离线
最后一次露面:3个月2周前
职员
加入:2013-12-06 15:10
你好,

你好,

在SDK5中启用/禁用睡眠模式的正确方法如下所示。(user_config.h的第37行)

//默认睡眠模式。可能的值Arch_sleep_off,Arch_ext_sleep_on,Arch_deep_sleep_on const静态sleep_state_t app_default_sleep_mode = Arch_sleep_off;

请尝试一下。

Zheshen.
离线
最后一次露面:1年9个月前
加入:2015-08-11 20:01
应用程序的默认值

app_default_sleep_mode的默认值是sdk5中的arch_sleep_off,我没有改变它。重建所有和仍然是一样的。

我假设我应该恢复da1458x_configu_basic.h中的更改?

mhv_dialog.
离线
最后一次露面:3个月2周前
职员
加入:2013-12-06 15:10
是的,请恢复回归

是的,请恢复原始代码库。另请确保已配置合适的硬件。这是在user_periph_setup.h的硬件配置向导中完成的:

(第35行和前进)。您可以打开文件,然后单击“配置向导”选项卡以从下拉菜单中选择Devkit或直接在代码中编辑。

/ * *定义***************************************************************************************** * // *** <<<在上下文菜单中使用配置向导>>> *** //  DK选择<0 =>如da1458x_periph_setup.h <1 => basic <2 => pro <3 =>专家#define hw_config(2)#define hw_config_basic_dk((hw_config == 0 && sdk_config == 1)|| hw_config == 1)#define hw_config_pro_dk((hw_config == 0 && sdk_config == 2)|| hw_config == 2)#define hw_config_expert_dk((hw_config == 0 && sdk_config == 3)|| hw_config == 3)// *** <<<配置部分>>> ***

我希望有所帮助。

Zheshen.
离线
最后一次露面:1年9个月前
加入:2015-08-11 20:01
硬件配置是

硬件配置被设置为user_periph_setup.h中的专家(3)。恢复了da1458x_configu_basic.h中的更改。重建所有和执行以前暂停。

mhv_dialog.
离线
最后一次露面:3个月2周前
职员
加入:2013-12-06 15:10
你试图扫描吗?

您是否尝试使用BlueLoupe(Android)或LightBlue(iOS)扫描设备?Addr 0x200004A4处的黄色箭头不是设备未运行的指示 - 我有完全相同的东西,我的设备是预期的广告。如果您仍然无法看到广告,请尝试空白模板项目。它是硬件独立的,一旦加载,就会开始广告。

Zheshen.
离线
最后一次露面:1年9个月前
加入:2015-08-11 20:01
我试过闪烁(ios)

我尝试了闪烁(iOS)和Blescanner(Android),没有广告数据包。

我比较了眨眼和接近报告之间的目标选项,我发现的唯一不同的是,在眨眼项目的目标选项卡上,iRom1were的开始和大小设置为0x2000000 / 0x8000,iram1were的开始和大小设置为0x2008000/ 0x2800(根据UM-B-014),但是对于接近报告项目,未设置这些地址和大小。那么我应该设置这些选项,如果我应该,那将是正确的值?(我试图重用眨眼值,但它们不起作用)。

此外,我不认为我开始调试会话后运行了该应用程序。在击中RUN命令(F5)后,执行暂停在0x20000C40上的执行,并未启用停止代码执行按钮。我制作了一个屏幕截图并附上它。

mhv_dialog.
离线
最后一次露面:3个月2周前
职员
加入:2013-12-06 15:10
你好,

你好,

您不应该操纵IRAM设置。硬件或SDK中的某些内容导致问题。我建议您解压缩SDK5的新副本并使用这次模板项目。如果这是有效的,我们将尝试临近的报告者查看硬件中的某些内容是否会导致问题。

Zheshen.
离线
最后一次露面:1年9个月前
加入:2015-08-11 20:01
什么是SDK5的完整路径

SDK5中的完整路径是您提到的模板项目?我尝试使用一个新鲜的SDK5副本,并在项目/ target_apps \模板下构建了extent_peripheral_template,并具有相同的问题。

明天我会给另一个DA14580板试一试,让您了解结果。

谢谢您的帮助。

mhv_dialog.
离线
最后一次露面:3个月2周前
职员
加入:2013-12-06 15:10
你好,

你好,

你有正确的项目路径。应该没有问题工作。明天将与不同的硬件进行测试的结果。

Zheshen.
离线
最后一次露面:1年9个月前
加入:2015-08-11 20:01
你好,

你好,

我再次尝试了一个不同的DA14580专家委员会,然后还尝试在一台新的笔记本电脑上使用新安装的SDK / Keil5,并且我对所有组合具有一致的观察:

(1)Blinky Demo在所有板和所有计算机上工作。
(2)邻近报告和模板项目构建和加载精细,但执行停止(禁用停止按钮)。重复按RUN(F5)按钮导致0x20000C40的执行停止,禁用停止按钮。
(3)重置CPU,然后运行(F5)似乎得到执行运行(现在已启用停止按钮)。按下停止按钮停止在0x00000500和0x00000900之间的代码执行。在执行时,虚拟COM端口上存在非有意义的输出。但是,使用LightBlue和BLE Scanner应用程序扫描没有检测到任何广告数据包。

mhv_dialog.
离线
最后一次露面:3个月2周前
职员
加入:2013-12-06 15:10
你必须有一些东西

您的设置中必须有一些东西。我会脱机联系你,所以我们可以讨论。

飞床
离线
最后一次露面:5年6个月前
加入:2015-09-10 19:48
嗨,我也有相同的

嗨,我的专家套件也有同样的问题。IE。所有外设示例工作,但__Main后,BLE示例不起作用,切勿跳转到Main_Func。我读到某个地方是由于芯片版本?(需要V01不是v00?)如果你弄清楚问题,请告诉我。谢谢你。

Zheshen.
离线
最后一次露面:1年9个月前
加入:2015-08-11 20:01
事实证明,如此

事实证明,由于飞行被飞行而猜测,问题是女儿板版本。感谢MHV_DIALOG向我发送新的女儿板,一旦插入就职。