Nordic
文章平均质量分 53
gdut_llkkyy
这个作者很懒,什么都没留下…
展开
-
nrf52832 利用app_timer 产生精确的1ms 心跳
一、我的需求应用层的调度依赖于一个周期为1ms的滴答心跳(SysTick),并且对这个心跳的精确度要求比较高。二、存在的问题初来乍到,对nordic 的sdk 并不熟悉,发现app 定时器 用起来挺方便,直接用它实现一个周期为1ms的周期定时器,然后在定期处理函数中进行SysTick 计数。用了一段时间才发现,这种方式实现的1ms 中断,误差非常大,实测只有976 us,对应用层的影响比较大,需要更精确的心跳。三、解决历程3.1 利用 Systick Timer 实现心跳?第一时间想到的就是用原创 2021-06-10 19:54:49 · 3048 阅读 · 2 评论 -
mdk fromelf.exe 将axf 文件转换hex时,生成目录
一、背景最近利用mdk 提供的命令行工具编译构建 nordic bootloader 工程,编译、连接都正常执行,连接后输出boot.axf 文件。最后要将boot.axf 文件转换成 hex 文件时,发现生成的是包括三个hex文件的目录。二、环境mcu :nrf52833协议栈:S140sdk:sdk17.02命令行工具:fromelf.exe make三、问题分析分散加载文件排查在网上查了一轮,比较多的说法是分散加载文件(.sct 文件)配置出错,我仔细检测了一下,sct文件定原创 2021-05-21 19:54:57 · 1239 阅读 · 0 评论 -
nrf52832 上电后,程序是怎样跳转到bootloader?
一、运行环境单片机:nRF52832-QFAA (flash 512k;ram 64k)协议栈:S132sdk:sdk16编译环境:keil mdk二、上电跳转流程2.1 我的疑问?一个完整的带ota 升级的flash 布局是如何的?程序是怎么从MBR跳转到BootLoader的,它怎么知道BootLoader的地址?MBR 只负责跳转到BootLoader?2.2 Flash 布局2.3 MBRMBR( master boot record) 主引导记录。在官方提供的协议原创 2021-05-14 21:04:55 · 3295 阅读 · 0 评论 -
nrf52832 P0.09 P0.10 脚位配置成普通GPIO 使用
默认情况下P0.09 和 P0.10 是作为NFC 的引脚使用,要作为GPIO 使用,要先将NFC 功能除能,然后再配置成GPIO 使用。SDK 开发包中,已经对这个功能切换做了代码的封装,并提供了实现切换的宏,CONFIG_NFCT_PINS_AS_GPIOS 。一、使用keil 编译构建时,在keil 中可以定义这个宏二、使用makefile 编译构建时,可以在makefile 中定义SYMBOL :=-DDEBUG -DCONFIG_NFCT_PINS_AS_GPIOS -DAPP_TIMER原创 2021-04-26 18:27:59 · 1120 阅读 · 0 评论 -
nrf52832 运行提示 <error> app: ERROR 8 [NRF_ERROR_INVALID_STATE]
一、运行环境mcu nrf52832协议栈 S132SDK sdk16二、问题在调用APP_UART_FIFO_INIT 初始化 串口时,提示 <error> app: ERROR 8 [NRF_ERROR_INVALID_STATE] 。三、分析nrf52832 只有一个uart资源 。我这里的问题是,在程序的开头已经调用了NRF_LOG_DEFAULT_BACKENDS_INIT 对串口进行了初始化,后面再调用APP_UART_FIFO_INIT , 系统就会认为是原创 2021-04-26 18:24:12 · 2272 阅读 · 0 评论 -
nrf52832 断开连接并停止广播
一、运行环境mcu nrf52832协议栈 S132SDK sdk16二、需求nrf52832 工作在slave 模式。当蓝牙处于连接状态时,先断开连接,然后停止广播。当蓝牙处于广播状态时,直接停止广播。三、遇到的问题3.1 在nrf52832 处于连接状态时直接调用 sd_ble_gap_disconnect 和 sd_ble_gap_adv_stop 时,程序出错,提示 ERROR 8 [NRF_ERROR_INVALID_STATE]3.2 在nrf52832 处于原创 2021-04-17 15:57:47 · 3577 阅读 · 7 评论 -
Nordic 命令行工具
一、nrfjprog概述nrfjprog 是Nordic 官方提供的命令行工具,用来对nrf 蓝牙芯片进行读写操作。常用功能1. 擦写mcunrfjprog.exe -f NRF52 -e2. 复位mcunrfjprog.exe --reset3. 擦写并烧录hex 文件nrfjprog.exe -f nRF52 --program prj.hex --chiperase4. 读flash指定位置的数据nrfjprog.exe --memrd addr --w 8 --n 100–原创 2020-12-10 22:02:50 · 2850 阅读 · 8 评论