我正在使用iOS应用程序与Arduino主板进行交互。在Arduino方面,我使用HM-10 / 11固件中实现的“透明”序列。所以我只需将HM-10/11 RT / TX引脚与Arduino引脚连接起来就可以完美地工作并写入特定的特性来发送数据和订阅/读取某些特定的读取来自BLE模块。无需在arduino sketch中使用任何SDK或BLE库,无需修改bootloader。
现在我需要支持NRF51822 BLE芯片。 Nordic已在firmware sources中实现了UART序列,但对于我的NRF51822板(在ebay上购买),默认情况下它没有上传到芯片,因为我看不到0001
服务和{{1} }和0002
特征。我是否需要购买NRF motherboard并编译并上传此固件?我可以不购买这款开发套件吗?我可以仅通过USB上传或通过BLE上传吗?
答案 0 :(得分:2)
如果您使用的是NRF51822独立模块,然后通过SWIO / SWCLK引脚更新其固件,则需要兼容的JTAG编程器/调试器(您可以在segger网站上查看)。您可以使用Keil IDE将更新的固件硬件上传到NRF51822的闪存中。
答案 1 :(得分:1)
虽然您需要使用SWD程序员上传,但您不仅限于Segger。 有一些开源替代品,比如Black Magic Problems,您可以从ebay闪存到$ 5硬件(stm32f103板)。
您的编译器工具链也不限于Keil或IAR。
可以使用Eclipse和GCC进行编译(Nordic在如何设置Eclipse基础开发环境方面有一篇博客文章) 您甚至可以使用Arduino IDE对这些设备进行编程。
可以上传OTA,但你需要首先使用SWD将OTA引导加载程序刷到设备上,即便如此,你可能需要通过手机上传,因为我不知道任何PC设备通过DFU协议支持传输(尽管可能存在一些)
这些设备本身不支持USB。 使用这些设备的某些主板有一个单独的处理器,允许上传,好像芯片是一个大容量存储设备,但我不知道你可以插入这个模块的主板,具有该功能。
顺便说一句。您链接的模块实际上是由Waveshare.com设计和制造的。看看他们的网站,它有关于硬件的完整文档,包括原理图
答案 2 :(得分:0)
nRF51和nRF52开发板具有板载Segger / JLink。那么你就可以开发和调试nRF51822并闪存其他nRF51822s。