问题标签 [nrf51]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
842 浏览

c - 使用 Keil IDE 时未定义的符号

我正在使用 Nordic nRF51-DK SDK_11 和软设备 s130。

添加设备管理器时遇到以下错误。我正在使用 Keil 编译器。

._build\nrf51422_xxac_s130.axf:错误:L6218E:未定义符号 dm_init(来自 main.o)。._build\nrf51422_xxac_s130.axf:错误:L6218E:未定义符号 dm_register(来自 main.o)。信息不足,无法列出图像符号。

我已将 device_manager.h 包含在 PATHS 中。使用 Keil,我通过转到 Menu->Flash->Configure Flash Tools ... -> Include Paths -> Add components\ble\device_manager 来做到这一点

我还错过了什么?

0 投票
1 回答
676 浏览

xamarin.ios - 如何为 Xamarin 使用(或转换)这个 NATIVE BLE DFU 库?

我正在使用 Xamarin.forms(PCL 项目)制作应用程序。

我正在制作像 FITBIT 及其可穿戴设备这样的应用程序。

我正在使用 Nordic 的 nrf51822 MCU。有人为与 Xamarin.Forms 的 ble 设备同步做了大量工作,幸运的是它运行良好。

现在,我需要使用 DFU OTA 库来支持用户固件更新。Nordic 提供了很好的示例和源代码。

适用于 iOS 的 dfu 库:https ://github.com/NordicSemiconductor/IOS-DFU-Library

完整项目(iOS):https ://github.com/NordicSemiconductor/IOS-nRF-Toolbox

适用于 Android 的 dfu 库:https ://github.com/NordicSemiconductor/Android-DFU-Library

以及如何转换此库以在 Xamarin 上使用它?我应该查看哪些文件或技术?任何提示都会帮助我。(可能会很痛苦?)

谢谢。

Nordic 说他们甚至还没有开始寻找 Xamarin,所以只有三个人(包括我)正在寻找这些绑定项目。

在这里讨论:https ://forums.xamarin.com/discussion/comment/214516

0 投票
1 回答
193 浏览

esb - 北欧 nRF51 DK nrf_esb_init() 不返回

我正在 nRF51 DK 上开发并发 BLE 和 Shockburst 应用程序。首先,我尝试单独运行 Shockbust。它已编译,将其加载到板上没有问题。但是当我运行它时,它不起作用。我想我找到了错误,但我不知道如何解决它:

nrf_esb_init ()函数不返回。我用 LED 包围了该功能以进行测试。LED_1 亮起,因此调用了该函数,但 LED_2 从不闪烁:

}

我使用 SDK 10.0 和 Softdevice s310。

有人知道如何解决我的问题吗?

0 投票
1 回答
3418 浏览

debugging - CLion 中的 J-Link GDB 调试

不久前,CLion添加了对远程 GDB 调试的支持,我正在尝试使用 Seggers 的 J-Link GDB 服务器对其进行设置。

我的设置:

  • 运行 Ubuntu 16.04 的 VM VirtualBox
  • J-Link 驱动程序:V6.10
  • 目标芯片:nRF51(ARM Cortex M0)
  • 克莱恩 2016.2.2

我通常在 Windows 中工作,但由于 CLion 不支持 Windows 中的远程 GDB,我试图让它在 VirtualBox 中运行 Ubuntu。我在 CLion 中配置了调试器,如图所示,上面链接中的博客提供了一些帮助。我使用的论据基于 J-Link 文档(文档:UM08001)和一些猜测。 GDB 服务器设置

我的问题是,在运行调试器时,进程刚刚停止并且 CLion 的控制台输出:

“无法连接到目标。请检查电源、连接和设置。”

我试图从终端运行 JLinkGDBServer ,然后我得到了这样的结果:

有谁知道我做错了什么?

0 投票
2 回答
1809 浏览

ios - iOS10上的CoreBluetooth:CBPeripheral discoverServices后超时

我们的应用程序通过 CoreBluetooth 连接到蓝牙 LE 设备。

在 iOS 8 和 9 上一切正常。在 iOS 10 上,Error Domain=CBErrorDomain Code=6 "The connection has timed out unexpectedly."我们
CBCentralManagerDelegate:

在调用discoverServices连接的CBPeripheral.

有谁知道出了什么问题?这是 iOS 10 的问题吗?是否有特定的 BLE 日志要检查?

使用 Nordic Semiconductor nRF51822 在 iPad Pro 9.7 上设置 iOS 10.0.1 (14A403)

0 投票
3 回答
156 浏览

android - 如何将此库添加到我的项目中?

链接 我想将dfu 库添加到我的项目中。它有一个下载 oètopn,但没有直接下载,它说使用 Gradle 来添加它。
无论如何,文档说要执行此步骤。

将项目或仅将 DFULibrary 文件夹(使用 sparse-checkout)克隆到临时位置。

将 DFULibrary 文件夹复制到您的项目根目录,例如 AndroidstudioProjects。

将 dfu 模块添加到您的项目中:

将 '..:DFULibrary:dfu' 添加到 settings.gradle 文件中:include ':app', '..:DFULibrary:dfu'

打开项目结构 -> 模块 -> 应用程序 -> 依赖项选项卡并添加 dfu 模块依赖项。您还可以通过添加以下依赖项手动编辑应用程序模块中的 build.gradle 文件: compile project(':..:DFULibrary:dfu')

但我在这个项目中找不到 DFULibrary 文件夹。

0 投票
1 回答
1393 浏览

c - Nordic SDK 打印转串口

我有一个在 Nordic SDK 上运行的 Arduino 设备(它是 Red Bear Lab BLE nano)。我希望能够在 GTKTerm 中进行串行打印,以便能够调试我的代码中正在发生的事情。为此,我有以下代码:

我遇到的问题是,只有有时我会在 GTKterm 中看到输出。我无法找到它何时起作用和何时不起作用的模式。我将如何调试这个?

0 投票
1 回答
649 浏览

arduino - Arduino OpenOCD 命令在 IDE 中有效,但在 CMD 提示符下无效。我错过了什么?(NRF)

Arduino 成功完成了以下操作。但是当我从命令行尝试它时它失败了。这是为什么?

结果:

当我从命令行尝试上述操作时,我得到以下信息:

我已经替换了十六进制文件的完整路径,以使其更易于阅读。

我正在尝试使用 Arduino 作为我的工具链来上传预先构建的二进制文件。从 IDE 我可以做到,但只能使用 Arduino Built 代码。

我错过了什么?

0 投票
1 回答
1072 浏览

gpio - 通过 SWD 接口控制 Nordic nRF52

我正在尝试对 Nordic Semi MCU 进行编程/暂停/启动/擦除等。这是 nRF52 中的 ARM-Cortex M4。我正在使用芯片的 SWD 引脚,如果我将商业 J-Link 与 nrfjprog 命令行工具或他们的 Segger windows 实用程序一起使用,则可以实现这一点。

但是,我想通过第二个 MCU 的 GPIO 引脚从另一个 MCU 控制 nRF52,并通过将 3 根线连接到 nRF52 - SWCLK、SWDIO 和 GND 来编写我自己的 SWD 驱动程序。

这些线现在由主机驱动,我正在使用 SWD 的 ARM 参考手册。对于我想要实现的目标,该协议相对简单。以下 PDF 包含一些详细信息: http: //hackipedia.org/Hardware/CPU/ARM/pdf,%20Cortex/IHI0031A_ARM_debug_interface_v5.pdfhttps://www.silabs.com/Support%20Documents/TechnicalDocs/AN0062.pdf

我设法发送初始数据包标头(START、APnDP、Read、Addr、Stop、Parity 等)。然而,在那之后,SWDIO 就再也没有转过身来。我的主机 MCU 浮动 SWDIO 并准备好接收输入。然而,nRF52 似乎从未开始使用 ACK 驱动 SWDIO 线。

我想这一定是因为 NRF52 从来没有看到数据包头或者不喜欢我发送的东西,但我不知道是什么。有没有人经历过这种情况或有任何线索为什么会发生这种情况?顺便说一下,SWDCLK 转换发生在 100 kHZ。(时钟周期为 10 us)。

任何帮助表示赞赏。

0 投票
0 回答
1751 浏览

android - 小米 BLE 配对仅适用于调试

我们基于Nordic nRF51蓝牙低功耗芯片开发设备,whitch作为外设模式,并且有android应用,whitch作为蓝牙中枢。应用程序开始广告,我们的设备与手机配对(出现要求 PIN 码的弹出对话框)。

我们在某些手机上遇到了非常奇怪的问题,尤其是在小米手机上(我使用的是小米红米 Note 3 Pro):蓝牙配对只有在手机连接到 ADB 时才能正常工作:

  1. 我在没有连接手机的 USB 数据线的情况下开始做广告
  2. 出现 PIN 码对话框
  3. 我输入有效的 PIN 码
  4. 我可以看到蓝牙对已创建,但设备停止通信并在蓝牙对创建后立即断开连接。

如果我将 USB 线插入手机以在 Android Studio 中查看 logcat,一切正常 - 蓝牙配对工作正常,设备可以与手机进行通信!此问题仅在某些型号的手机中出现。我还尝试在 Android Studio 中修改“发布”设置以禁用优化并在发布版本中添加错误信息,但这并没有解决问题。

Logcat(配对正常):

可能有某种方法可以在应用程序中显示 logcat,而无需在没有 USB 的情况下进行 ADB 连接,或者我错过了日志中的某些内容。

我也不明白这一行: GKI_timer_update no work to be done when expected work