的DA14585和DA14586可用于新的设计。
在竞争中领先
这个DA14580基本开发工具包使您能够灵活地进行开发。DA14580的所有I/ o都是可用的,并映射到扩展连接器上。PCB上提供了一个调试器,它与Dialog的完整软件环境SmartSnippets™相结合,使您能够编写和测试应用程序。
SmartBond™:电力,尺寸和系统成本没有妥协
特性
所有的灵活性
所有I/O可用,并映射到扩展连接器上
在调试器
提供完整的软件环境
Starter kit
董事会
电池
USB电缆
快速开始指南
相关链接
SmartBond™DA14580 - Development Kit - Basic
DA14580
6个月前
DA14580_DSPS在收到BT分片l2cap报文时复位。
发布的magnus.lovdahl……25分 7回复你好
我有一个问题,DA14580重置时,接收l2cap数据被分成碎片。第一个帧只是l2cap报头的一部分,第二部分是报头和属性协议数据的其余部分。见图。我不确定这是否符合BT协议?无论如何DA14580不应该重置。
DA14580充当外围角色,我有一个PC程序,使用PC上的BT芯片作为中心。
附呈的是Sodera LE BT嗅探跟踪显示BT流量。
我可以在DA14580_DSPS软件中做些什么来避免这个重置?
这样发送l2cap fragment数据是否符合规范?
致以最亲切的问候
马格努斯Lovdahl
附件 | 大小 |
---|---|
DA14580 resets.png | 112.25 KB |
6个月前
您好,谢谢您的回复,
是的,DSPS项目(v_5.150.2)有一些小的变化,但我认为这不会影响这个问题。
我没有可能使用你的SPS设备作为中心,所以我不能测试。
正如我所写的,当重置发生时,我使用PC作为中心设备,使用我们自己编写的程序。中央设备SW是为许多平台编写的,所以我们可以在手机或ipad上运行它。当从手机或ipad上运行它时,我们不会看到重置,我认为这是因为他们不会将l2cap头部分成BT帧(见第一个评论的图片),但PC会。
我认为DSPS项目(v_5.150.2)重置是因为l2cap头被分割的小BT帧。我不确定根据BT协议这样做是否合法。这是我的一个问题。
无论如何,即使它违反协议DA14580不应该重置,它应该作为错误而不是重置处理。
第二个问题是,我能否以任何方式阻止这种重置。
希望您可以测试发送l2cap层数据,并将l2cap头分隔开。
致以最亲切的问候
马格努斯Lovdahl
6个月前
嗨,马格努斯Lovdahl,
谢谢你的评论。有没有可能把整个嗅探器连在一起这样我们就可以去思考了?
你提到DA14580复位。你能不能在调试模式下运行它,检查代码是否冻结到断言,NMI或WDOG过期?我想检查一下复位的复位方法是什么。我假设DA4580是从flash启动的,所以在重置后它立即开始发布信息。
请问是基于DA14580的现有产品还是即将推出的产品?
如果您正在开始一个新的设计,我们强烈建议转向DA14531或DA14585/586产品和SDK6.0.14,因为它得到了更多的改进。雷电竞官网登录我们有很多代码示例和改进的文档,也有软件路线图支持。DA14580产品族和SDK5没有任何软件路线图支持。
//www.wsdof.com/雷电竞官网登录products/connectivity/bluetooth-low-energy/products/da14531
也有一个DA14531模块,即DA14531 SmartBond TINY™模块!
DSPS也适用于DA14531:
//www.wsdof.com/雷电竞官网登录products/dialog-serial-port-service-dsps
谢谢,PM_Dialog
6个月前
你好,
这是一款已经在手机和平板电脑上使用了一段时间的现有产品。我们正处于计划发布PC上的“中央设备”SW的阶段。当我们使用PC时,我们看到了问题。
附件是带有问题的嗅探器文件的一部分。
让我来解释一下。我们在流模式下读取所有的数据从微连接通过UART到da14580,通过BT发送数据到PC。有时PC通过向另一个方向发送数据来确认传输。在其中一个过程中,PC将l2cap头部分成一个小BT片段,后面跟着27个字节的片段。DA14580崩溃。
错误发生在帧号184681。PC发送l2cap帧。5字节的“开始”帧和27字节的“延续”BT帧和DA14580崩溃。
在帧号184420的日志开始时,PC发送一个正确的l2cap帧。27字节的“开始”帧和27字节的“延续”BT帧。
我没有可能调试连接了模拟器的da14580,所以当崩溃发生时,我从HardFault_HandlerC发送UART数据。
这就是它所指向的,也映射了来自地址的文件信息
R0 = 0 x00082273
rwip_heap_env_ret 0x00080f74数据1036
rwip_heap_msg_ret 0x00081380数据4108
dev_bdaddr 0x0008238c数据
sys_startup_flag 0x00082392数据1
R1 = 0 x00083000
diss_state 0x00082426数据1
描述0x00082a20数据1502
__vector 0x20000000 Data
__Vectors_End 0x200000a0数据0
R2 = 0 x00000052
R3 = 0 x00000000
R12 = 0 x0000052
LR = 0 x00031adb
l2cc_pdu_pack 0x0003164d拇指代码
l2cc_pdu_unpack 0x000318f3拇指代码
0x00031b2d拇指代码
smpc_check_param 0x00031b95拇指代码
电脑= 0 x00033b36
__aeabi_memcpy4 0x00033b21拇指代码
__aeabi_memcpy8 0x00033b21拇指代码
__aeabi_memset 0x00033b45拇指代码
__aeabi_memset4 0x00033b45拇指代码
PSR = 0 x21000000
致以最亲切的问候
马格努斯
附件 | 大小 |
---|---|
dsps_log.zip | 7.74 KB |
6个月前
嗨,马格努斯Lovdahl,
感谢问题描述和附加Sniffer日志的一部分。让我查一下,然后给你答复。也许我需要把这件事升级到团队内部去调查。
谢谢,PM_Dialog
6个月前
嗨,马格努斯Lovdahl,
谢谢你的帖子。请问您是否正在使用Dialog提供的DSPS (sps_device),或者您是否对源代码做过任何修改?另外,您使用的Central设备是什么?您能在sps_host应用程序中复制这一点吗?
谢谢,PM_Dialog