问题标签 [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.
c - 在内存中的特定点分配结构?
我正在尝试在内存中的特定位置创建一个结构:
但是这条线仅在 RAM 中不可保留的位置分配内存。我需要从特定的内存地址开始 malloc 才能正常工作,但是如何?
objective-c - 将 Objective-C 代码转换为 Swift
我一直在使用 nrf51x。我有一个用 Obj-C 编写的示例代码。我无法将其转换为 Swift。
我试过了
和这个
谁能帮我?非常感谢
c++ - 尝试使用 Eclipse/OpenOCD 进行调试时出现“程序文件不存在”
我最近得到了一个 nrf51 蓝牙模块,我正在尝试使用 Eclipse Mars 对其进行调试。我安装了所需的工具链以及 OpenOCD(我正在使用 STLink v2 调试板)。
在控制台中运行 openOCD 和 arm-none-eabi-gdb 时,一切正常。OpenOCD 服务器启动,我可以连接 gdb 工具。
但是,当尝试使用 Eclipse 启动调试会话时,它会抛出错误“启动期间发生异常。原因:程序文件不存在”。构建过程正常完成。这是我第一次使用 Eclipse 进行 C/C++ 开发,也是多年后我第一次使用 Eclipse,所以我什至不知道哪里出了问题。
我尝试在没有运气的情况下弄乱项目设置。谁能给我一个提示?
我应该提到,我使用了一个已经存在的 Makefile,因为我尝试编译了一个北欧 SDK 示例。我对其进行了更改,以便生成的文件可以进行调试。
c - 如何将联合缓冲区与 RAM 地址进行字节对齐
我目前正在用 C 编写代码并使用 NORDIC(32 位 ARM Cortex M0)的 nRF51 MCU。
我想通过无线电发送工会的缓冲区。为此,我必须将联合缓冲区的地址提供给 PACKETPTR。否则,根据手册参考,给予“PACKETPTR”的地址必须是:字节对齐的 RAM 地址。如果它没有对齐,它会设法获取下一个最接近的,但这样接收器将接收到不完整的缓冲区和“虚拟”数据......
你可以猜到,我的缓冲区不是字节对齐的。这是相关的联合和全局变量。
我的 union 元素必须被打包,以便它们可以容纳 7 个字节;
...
...
一开始我__packed
在typedef union
. 但它好像m_adv
是用一些以前的数据“打包”的,因此buf
地址不是与 ram 地址字节对齐的。
所以我删除了它,然后 buf 地址是正确的(即字节与 RAM 地址对齐)。我认为这是解决方案,但几分钟后它再次错位......我的问题是:__packed
限定符是否也会因为联合而影响 buf?有没有办法强制buf
我的全局变量中的地址对齐?或者有什么建议?
谢谢
c - 具有静态 const 成员的动态分配数组
如何定义和使用一个动态分配的数组,其成员是static const
?
背景:我需要执行上述操作,以存储运行时请求的几个事务。下面的代码片段举例说明了如何定义事务。此代码使用 Nordic Semiicondictor nRF5x SDK。
c - Make error: make (e=2): The system cannot find the file specified
I am trying to compile a c project on a new windows PC, but when I run make I get:
On my other PC the project is compiling just fine. Also "Fejl 2" is danish for "Error 2", have no idea why that is in danish when the rest is english.
EDIT: Here is the makefile (it's rather long)
openocd - 使用 st link v2 mini 和 openocd 的程序 nrf51822
我正在尝试使用带有 openocd 的 st link v2 mini 对 nrf51822 分线板进行编程或上传代码。我一直在关注http://icarus-sensors.github.io/general/starting-with-nRF51822.html的博文教程。但是,我无法使用 openocd 连接到设备。错误消息附在下面。知道有什么问题吗?或者,我可以用其他简单的方法对 nrf51 进行编程吗?
GNU ARM Eclipse 64-bits Open On-Chip Debugger 0.9.0-00073-gdd34716-dirty (2015-05-19-09:55) 在 GNU GPL v2 下获得许可 对于错误报告,请阅读 http://openocd.org/doc /doxygen/bugs.html 信息:自动选择第一个可用的会话传输“hla_swd”。要覆盖使用“传输选择”。信息:选定的传输接管低级目标控制。结果可能与普通 JTAG/SWD 适配器速度不同:1000 kHz 信息:无法匹配请求的速度 1000 kHz,使用 950 kHz 信息:无法匹配请求的速度 1000 kHz,使用 950 kHz 信息:时钟速度 950 kHz 信息:STLINK v2 JTAG v25 API v2 SWIM v4 VID 0x0483 PID 0x3748 信息:使用 stlink api v2 信息:目标电压:3.268965 错误:在过程“init”中初始化模式失败(无法连接到目标)
st 链接 v2 迷你: http ://www.electrodragon.com/product/st-link-v2-programmer-for-stm8-stm32/
bluetooth - 在 nrf51822 源代码中找不到 sd_ble_enable() 的定义
无法浏览 pca10001->s110 softdevice 的部分功能。是这个函数 sd_ble_enable() 所指的固件代码吗?
arm - ARM gnu install build error with Nordic nRF51,可能是路径或管理员
我一直在 Windows 10 上安装 ARM 工具链以开发 Nordic nRF51,并按照他们的教程 https://devzone.nordicsemi.com/tutorials/7中的说明进行操作
当我第一次运行 make 时,我得到一个构建错误。
详细说明:我已经在目录 C:\Program Files (x86)\GNU Tools ARM Embedded\5.3 2016q1 中安装了工具链
Coreutils 安装在目录 C:\Program Files (x86)\GnuWin32
Nordict SDK 工具链安装在目录 C:\Program Files (x86)\Nordic Semiconductor\NRF5_SDK
我在用户路径环境中添加了以下内容:C:\Program Files (x86)\GNU Tools ARM Embedded\5.3 2016q1;C:\Program Files (x86)\GnuWin32\bin
在目录 C:\Program Files (x86)\Nordic Semiconductor\NRF5_SDK\components\toolchain\gcc windows.makefile 更改为:
我已经检查过从命令行找到了 make 和 gcc。
按照目录中的教程说明:C:\Program Files (x86)\Nordic Semiconductor\NRF5_SDK\examples\peripheral\blinky\pca20006\blank\armgcc 打开一个 cmd 窗口(作为用户)并运行 make。
错误提示无法创建 _build 目录。
因此,以管理员身份从新的 cmd 窗口重试:
make -d 的输出摘要(在管理窗口中):
似乎 make 找不到 makefile.windows (正确吗?),所以我通过将目标复制到 cmd 并使用 as 来检查路径:
这更改为正确的目录。所以我相信目标路径是正确的。
问题:为什么需要管理员来运行 make,为什么它没有正确的权限来创建 _build 目录?
在管理窗口中运行 make 时失败是什么?
提前致谢。
bluetooth-lowenergy - 无法闪存到软设备
我正在使用 nRF5 SDK 来刷新 softdevice pca10001 s110,并且当我使用 make 时flash_softdevice
,它会显示以下错误行: