你好我刚开始从事DA14580专家委员会和试图运行接近报告演示记录在嗯- b - 050,但智能手机应用程序不会发现任何广告包。
这里是我配置:凯尔IDE, 5.16 SDK 5.0.2.1, DA14580专家委员会,USB软件狗。董事会被连接到一个桌面和设备连接到一台笔记本电脑。
以下是我所做的:
(1)负载作品的成功演示在凯尔和构建应用程序。启动调试会话和加载到目标图像和LED灯闪烁。
(2)负载接近报告演示凯尔,从项目DA1458x_SDK \ 5.0.2.1 \ \ target_apps \ ble_examples \ prox_reporter \ Keil_5 \ prox_reporter.uvprojx。构建有一个警告,但看起来温和。立即开始一个调试会话和PC停在0 x200004a4和调用堆栈显示Reset_Handler。命令窗口的输出如下:
运行代码大小限制:32 k
* JLink信息:设备“CORTEX-M0”选中。
JLink项目文件设置为“C: \ DA1458x_SDK \ 5.0.2.1 \ target_apps \ ble_examples \ \项目prox_reporter \ Keil_5 \ JLinkSettings。ini CORTEX-M0“* JLink信息:设备选择。
JLink信息:
- - - - - - - - - - - -
DLL: V5.02b, 2015年9月8日18:47:15编译
固件:J-Link手臂Lite V8编制2014年10月29日09:03:16
硬件:V8.00
S / N: 228205529
功能(s): GDB
* JLink信息:发现SWD-DP x0bb11477 ID为0
* JLink信息:发现Cortex-M0 r0p0,小端字节序。
* JLink信息:FPUnit: 4代码(BP)槽和0文字插槽
* JLink信息:CoreSight组件:
* JLink信息:@ E00FF000 ROMTbl 0
* JLink信息:ROMTbl 0 [0]: FFF0F000, CID: PID: 000 bb008 SCS B105E00D
* JLink信息:ROMTbl 0 [1]: FFF02000, CID: PID: 000 bb00a DWT B105E00D
* JLink信息:ROMTbl 0 [2]: FFF03000, CID: B105E00D, PID: 000 bb00b FPB
ROMTableAddr = 0 xe00ff003
目标信息:
- - - - - - - - - - - -
设备:ARMCM0
VTarget = 2.963 v
针的状态:TCK: 0, TDI: 0, TDO: 0, TMS: 1,非常:1,TRST: 1
Hardware-Breakpoints: 4
Software-Breakpoints: 8192
监测点:2
JTAG速度:2000千赫
包括“C: \ \ \ \ DA1458x_SDK \ \ 5.0.2.1 \ \项目target_apps \ \ ble_examples \ \ prox_reporter \ \ Keil_5 \ \ . \ \ . . \ \ . \ \ . \ \ . \ \ sdk \ \ common_project_files \ \ misc \ \ sysram_case23.ini”
* * / / *杀死按钮
/ *定义按钮”复位DK580”、“包括. . / . . / . . / misc / sysram_case23。ini”* /
重置
E xa4长0 x50000012 = 0
E。表示就是长0 x50003308 = 0 x2e
负载% L
* * * 32768字节代码大小限制限制版本
当前使用的* * *:26168字节(79%)
SP = _RDWORD (0 x20000000)
美元= _RDWORD (0 x20000004)
函数void disp_memlog(空白)
{
int idx;
unsigned int min_delta;
exec(“日志> Memlog.log”);
printf (" \ n \ n * * *内存日志结果* * * \ n \ n”);
printf (" > > > ENV堆< < < \ n ");
printf("在这堆:大小使用% 4 d(当前)- % 4 d(最大)\ n”, mem_log [0]。used_sz, mem_log [0] .max_used_sz);
printf("大小用于其他堆:% 4 d(当前)- % 4 d(最大值)\ n \ n”, mem_log [0]。used_other_sz, mem_log [0] .max_used_other_sz);
printf (" > > > DB堆< < < \ n ");
printf("在这堆:大小使用% 4 d(当前)- % 4 d(最大)\ n”, mem_log [1]。used_sz, mem_log [1] .max_used_sz);
printf("大小用于其他堆:% 4 d(当前)- % 4 d(最大值)\ n \ n”, mem_log [1]。used_other_sz, mem_log [1] .max_used_other_sz);
printf(" > > >味精堆< < < \ n ");
printf("在这堆:大小使用% 4 d(当前)- % 4 d(最大)\ n”, mem_log [2]。used_sz, mem_log [2] .max_used_sz);
printf("大小用于其他堆:% 4 d(当前)- % 4 d(最大值)\ n \ n”, mem_log [2]。used_other_sz, mem_log [2] .max_used_other_sz);
printf (" > > > Non-Ret堆< < < \ n ");
printf("在这堆:大小使用% 4 d(当前)- % 4 d(最大)\ n”, mem_log [3]。used_sz, mem_log [3] .max_used_sz);
printf("大小用于其他堆:% 4 d(当前)- % 4 d(最大值)\ n \ n”, mem_log [3]。used_other_sz, mem_log [3] .max_used_other_sz);
exec(“注销”);
}/ / disp_memlog()结束
(3)我尝试重置CPU,然后运行。目标似乎是在一个循环中,智能手机BLE应用不检测任何东西。
我额头上提到的线程在这个论坛,发现一些线程Keil4的项目文件需要修改这个演示。我需要做同样的Keil5和我在哪里可以找到参考吗?
提前感谢任何帮助。
嗨Zheshen,
日志看起来正常。什么智能手机应用程序参考吗?你试过lightblue在iOS和Android ble扫描仪?
谢谢,MH_Dialog
嗨,MH_Dialog,
我用祝福扫描仪在Android和一无所获。
我附上屏幕截图后我开始一个调试会话和应用程序似乎没有得到主。
我也试过其他一些外围的例子,他们都没有问题。尝试ble_app_profile演示,得到相同的崩溃。
你好,
你需要de-attach调试器(停止)。代码执行时将暂停sleepmode启用调试器是运行。我认为这是你的问题。
未定义在da1458x_config_basic睡眠模式。h(找不到CFG_EXT_SLEEP和CFG_DEEP_SLEEP所有项目文件)
# undef CFG_MEM_MAP_EXT_SLEEP
# undef CFG_MEM_MAP_DEEP_SLEEP
重建所有和运行调试器和代码执行前停了下来一样。退出调试器会话和BLE扫描仪扫描,仍然一无所获。
你好,
启用/禁用睡眠模式的正确方法在SDK5如下所示。(37行user_config.h)
请试试。
默认值的app_default_sleep_mode ARCH_SLEEP_OFF SDK5和我并没有改变。重建,仍然是一样的。
我认为我应该恢复da1458x_configu_basic的变化。h ?
是的,请回复到原来的代码库。请确保你有合适的硬件配置。这样做是在硬件配置向导user_periph_setup.h:
(35和向前行)。你可以打开文件,单击“配置向导”选项卡从下拉菜单中选择您的devkit或编辑直接在代码中。
我希望有帮助。
硬件配置是在user_periph_setup.h专家(3)。da1458x_configu_basic的变化。h是恢复。重建所有和执行停了下来。
你试过扫描设备使用BlueLoupe (Android)或LightBlue (iOS) ?黄色箭头addr 0 x200004a4并不表明该设备不运行,我有相同的东西,和我的设备是广告。如果你仍然不能够看到广告,请空模板项目。硬件独立,将加载广告就开始。
我试着LightBlue (IOS)和BLEScanner (Android)和没有广告包。
我比较和作品之间的选择目标接近报告,唯一不同的,我发现是作品的目标选项卡项目的启动和大小iROM1were设置为0 x2000000/0x8000和iRAM1were的开始和大小设置为0 x2008000/0x2800(根据嗯- b - 014),然而距离报告项目这些地址和大小没有。所以我应该设置这些选项,如果我应该正确的值是什么?(我试图重用作品的价值,但他们没有工作)。
我也不认为这个应用程序是运行后我开始调试会话。点击Run命令(F5)后,马上执行暂停在0 x20000c40并停止代码执行按钮没有启用。我做了下面的屏幕截图,并将它连接。
你好,
你不应该操控族长设置。在您的硬件或SDK引起了一个问题。我建议或许解压SDK5和使用模板项目的最新副本。如果一切正常,我们将尝试proximty记者是否在您的硬件造成这个问题。
的完整路径SDK5模板项目你上面提到的吗?我试着用新鲜SDK5副本和建造empty_peripheral_template项目/ target_apps \模板和有同样的问题。
明天我将尝试另一个DA14580董事会并让你知道结果。
谢谢你的帮助。
你好,
你有合适的项目路径。应该没有问题。我会留意你的测试结果与不同的硬件的明天。
你好,
我再次尝试用不同的DA14580专家委员会,然后也试板与新安装SDK / Keil5一台新的笔记本电脑,和我一致的观察在所有组合:
(1)作品演示董事会和所有电脑上工作。
(2)间接报告和模板工程建造和加载好然后执行停止(停止按钮禁用)。重复按下运行按钮(F5)造成执行停在0 x20000c40和停止按钮禁用。
(3)重置CPU,然后运行(F5)似乎得到执行(现在停止按钮启用)。按下停止按钮停止0 x00000500和0 x00000900之间的代码执行。有non-meaningful在虚拟com端口输出而执行。然而,扫描LightBlue和BLE扫描仪应用程序没有发现任何广告包。
必须有在你的设置。我将联系你离线,所以我们可以有一个讨论。
你好,我也有同样的问题和我的专业工具。ie。所有外围例子工作但ble的例子并不__main之后,从来没有跳到main_func。我读的地方这是由于芯片的版本吗?(不需要v01 v00 ?)如果你算出的问题请让我知道。谢谢你!
事实证明flyingbed正确猜测,问题是子板的版本。感谢MHv_Dialog送我一个新的子板,当我插入工作。