感谢您对 Nordic nRF52840 和 OpenThread 的关注。
通常, nRF5 SDK for Thread 和 Zigbee中提供了很多示例。nRF52840 Dongle 也称为 PCA10059,SDK 提供了在其上运行的示例。我认为全线程设备,命令行界面是一个很好的起点(examples/thread/cli/ftd/usb/)。还有很多其他的例子,即使是 MQTT-SN。他们不支持带有引导加载程序的加密狗,但如果有我将尝试在下面传递的信息,您将能够实现这样的配置。
您是对的,内存布局有所不同。
带有 MBR 和引导加载程序的加密狗 - PCA10059 变体:thread_cli_ftd_usb_gcc_nrf52.ld
MEMORY
{
FLASH (rx) : ORIGIN = 0x1000, LENGTH = 0xdb000
RAM (rwx) : ORIGIN = 0x20000008, LENGTH = 0x3fff8
ot_flash_data (r) : ORIGIN = 0xdc000, LENGTH = 0x4000
}
没有 MBR 和引导加载程序的开发套件 - PCA10056 变体:thread_cli_ftd_usb_gcc_nrf52.ld:
MEMORY
{
FLASH (rx) : ORIGIN = 0x0, LENGTH = 0xfc000
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x40000
ot_flash_data (r) : ORIGIN = 0xfc000, LENGTH = 0x4000
}
您可以在内存布局部分找到详细信息。请注意,Multiprotocol 示例使用 Softdevice,而 Thread-only 不需要它并将该空间用于应用程序。
有一种方法可以解开加密狗,实际上甚至是其中的两个。一种是带针式连接器的电缆——TC2050-IDC-NL。第二种选择是在加密狗背面焊接一个 10 针连接器并使用带状电缆。拥有它们中的任何一个,您都可以连接编程器并刷新 MBR 和引导加载程序,这些都与上述 SDK 一起提供。
对于未来与 nRF 相关的问题,我强烈推荐Nordic Devzone,您可以在其中获得与 Nordic Semiconductor 合作的工程师的帮助。