0

我正在开发 iOS 应用程序以与 Arduino 板进行交互。在 Arduino 方面,我使用在HM-10 /11 固件中实现的“透明”串行。因此,我只需将 HM-10/11 RT/TX 引脚与 Arduino 引脚连接起来,它就可以完美地工作并写入特定特征以发送数据并订阅/读取某些特定以从 BLE 模块读取。无需在 arduino 草图中使用任何 SDK 或 BLE 库,无需修改引导加载程序。

现在我需要支持 NRF51822 BLE 芯片。Nordic 已在固件源中实现了 UART串​​行,但对于我的 NRF51822 板(在ebay上购买)它默认不会上传到芯片,因为我看不到0001服务00020003特性。我需要购买NRF 主板并编译和上传这个固件吗?我可以在不购买此开发套件的情况下做到这一点吗?我可以仅通过 USB 上传还是通过 BLE 上传?

4

3 回答 3

2

如果您使用的是 NRF51822 独立模块,那么要通过 SWIO/SWCLK 引脚更新其固件,您需要一个兼容的 JTAG 编程器/调试器(您可以在 segger 网站上查看)。您可以使用 Keil IDE 将您更新的固件上传到 NRF51822 的闪存中。

于 2015-10-13T11:28:07.817 回答
1

尽管您需要使用 SWD 编程器进行上传,但您不仅限于 Segger。有像 Black Magic Proble 这样的开源替代品,您可以从 ebay 将其闪存到 5 美元的硬件(stm32f103 板)中。

您的编译器工具链也不限于 Keil 或 IAR。

可以使用 Eclipse 和 GCC 进行编译(Nordic 有一篇关于如何设置 Eclipse 基础开发环境的博客文章)您甚至可以使用 Arduino IDE 对这些设备进行编程。

可以上传 OTA,但您需要先使用 SWD 将 OTA 引导加载程序闪存到设备上,即使这样,您也可能需要通过手机上传,因为我不知道任何支持通过传输的 PC ble 设备DFU 协议(虽然有些可能存在)

这些设备本身不支持 USB。使用这些设备的一些主板有一个单独的处理器,允许上传,就好像芯片是一个大容量存储设备,但我不知道你可以插入这个模块的主板,它具有该功能。

顺便提一句。您链接到的模块实际上是由 Waveshare.com 设计和制造的。看看他们的网站,它有关于硬件的完整文档,包括原理图

于 2015-12-09T20:11:08.523 回答
0

nRF51 和 nRF52 开发板具有板载 Segger / JLink。因此,您可以在 nRF51822 上进行开发和调试,也可以刷写其他 nRF51822。

于 2015-10-22T21:54:49.333 回答