嗨,对话框中,
我读过一篇老文章:
,有人已经将DA1468x SDK从FreeRTOS 8升级到FreeRTOS 10。
如果这是真的,如我们所知,ROM不能升级,这是否意味着DA1468x BLE堆栈存在于ROM是一个没有FreeRTOS的裸程序?
当前DA1468x或DA1469X sdk中的一些例子在某些特殊情况下无法工作,例如:许多广告主发送广告包速度很快,扫描过程会崩溃或挂起。
经过深入调试,我们知道瓶颈是FreeRTOS。
我们想要将SDK移植到一个没有FreeRTOS的简单SDK以获得高性能,首先需要假设ROM不需要FreeRTOS。
谢谢你,彼得
关键词:
设备:
嗨,彼得•罗
ROM包括BLE堆栈和ROM引导程序。请查看数据集。这里有一个DA1469x的裸金属示例。为什么不用DA1469x呢?SDK1是由FreeRTOS提供的。DA1468x没有任何裸金属示例。
请同时查看以下文件:
//www.xmece.com/sites/default/files/um-b-044-da1468x_software_platform_reference_6v0.pdf
//www.xmece.com/sites/default/files/um-b-056-da1468x_software_developers_guide_6v0.pdf
谢谢,PM_Dialog
嗨,对话框中,
DA1469x对我们的应用程序来说太复杂了,最重要的是,DA1468x的一个非常关键的特性在DA1469x中被删除了。
我们担心BLE栈可能会使用FreeRTOS的某些功能。如果这是真的,我们应该克服更多的困难。
我们已经做了一些初步的测试,也取得了一些进展,希望能从你那里得到一个明确的答案。
谢谢你,彼得
嗨,彼得•罗
如前所述,BLE堆栈存在于ROM代码中。如果您检查SDK架构,您将看到BLE适配器位于BLE堆栈之上,BLE堆栈实现了BLE堆栈的接口。BLE适配器上面的一层是BLE管理器,它实现了BLE框架。请参阅第7节BLE框架um-b-044文件。根据BLE框架实现,在裸金属系统(没有FreeRTOS)中不可能有BLE功能。此外,请记住,建议在多线程环境和多任务环境中使用适配器,因为它们将照顾不同任务之间的资源等。适配器还处理与受控资源相关的电源管理操作,从应用程序中隐藏电源管理细节,例如当受控HW资源繁忙时阻塞系统休眠,或在系统唤醒时恢复HW配置。最后,裸金属仅用于非常简单的应用程序——仅访问外围设备,而不是任何BLE活动。举个眨眼的例子。在这种情况下,要访问外围设备,您应该使用低级驱动程序,而不是适配器概念。
谢谢,PM_Dialog
嗨,对话框中,
谢谢你这么好的回答!
文档也很有用,我们已经找到了解决方案。
再一次感谢您!
彼得