![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
nRF51/nRF52
文章平均质量分 78
NRF51822、nRF52832开发笔记
JavonPeng
提得起,放得下,提放自如,方是自在人
展开
-
nRF51 DFU的Dual-bank and single-bank 模式区别
Dual-bank and single-bank 模式区别 Dual-bank 在更新过程中会先将新的 app 放在 falsh 中,等全部就收完了。然后会 检验收到的 app 是否有效,如果有效就替换掉现有的 app。这样即使新的 app 是无效的,至少还有旧的 app 可以运行。 Single-bank 模式是在更新过程中就直接开始用新的 app 覆盖旧的,因为不需要在 falsh ...原创 2020-04-21 15:44:13 · 2798 阅读 · 0 评论 -
SEGGER-RTT调试教程(可替代串口打印)
RTT:Real Time Terminal 即jink的实时终端在没有多余串口printf输出的情况下,可以使用SEGGER-RTT开发调试。本次是在 nRF51822里面使用RTT,理论上使用JLINK调试即可使用RTT。在Jlink驱动安装目录(“\SEGGER\JLink_V512f\Samples\RTT”)下找到RTT包。如图所示:压缩包内有以下内容:...原创 2019-08-18 16:23:54 · 7397 阅读 · 2 评论 -
NRF51822 烧录bootloader 后,需要OTA一次,才能启动App解决办法
Nordic 51822 烧录bootloader 后,需要OTA一次,才能启动App解决办法使用nrfjprog烧写寄存器标志位nrfjprog --memwr 0x3FC00 --val 0x011官网解释说明如下:E.如何通过编程器(JLINK)而不是DFU对原始应用程序进行编程?刷新引导加载程序后,下一步是通过引导加载程序DFU模...原创 2019-04-13 15:25:53 · 2071 阅读 · 0 评论 -
【NRF51822】百度手环开源源码分析--数据自动同步部分
1. void send_all_data(boolis_from_cb)发送数据都是通过send_all_data()去上传的。 1) static boolneed_send_sync_process(void )判断是否需要进行同步,在send_all_data()一开始时调用。当sync_process_start_send等于false并且有数据存储在FLASH或RA...转载 2019-01-22 18:51:26 · 981 阅读 · 0 评论 -
【NRF51822】百度手环开源源码分析--存储部分
一、编写说明对duBand源码的存储部分进行分析,本文档用于记录分析过程。二、源码分析1. 存储区域划分在使用nRF Studio进入程序下载时,可以看出,存储区域分为三个Region,如下图所示,分别存在蓝牙协议栈、应用程序和Bootloader。 在APP中,程序存储区域再细分为APP、DATA和SWAP区,通过阅读源码,得知区域图详细划分如下图所示(注意:du...转载 2019-01-22 18:49:26 · 1450 阅读 · 0 评论 -
【NRF51822】百度手环开源源码分析--底层通讯部分
一、编写说明duBand源码中的通讯部分源码较多,但细细阅读发现其分层结构清晰,很值得借鉴。为了深入对duBand通讯源码的学习,并理解通讯分层设计的思想,决定对duBand源码的通讯部分进行分析,本文档用于记录分析过程。二、源码分析1. 层次说明通讯部分主要分为三个层,这三个层主要的功能划分如下:L0层:负责从硬件电路上读、写数据。移植时主要重写该层函数。L1层:负责对协...转载 2019-01-22 18:48:04 · 2437 阅读 · 1 评论 -
【NRF51822】百度手环开源源码分析--框架部分
1.Main函数(main.c)a) gpio_init(); //初始化全部IO口为初始状态(输入、关上拉、关复用)b) pre_init(); //初始化时钟与RTC0并进行待机,待RTC0中断唤醒。用此方式待电源稳定c) init1(); //初始化LED、MOTOR、TIMER、ADC、G-SENSOR等硬件。初始化TIMER、系统调度等相关服务d) 检测是否在充电状态,如...转载 2019-01-22 18:46:06 · 3690 阅读 · 0 评论 -
【NRF51822】协议栈下按键的使用--外部中断
1.目的 nrf51822外部中断2.分析 在实际应用中经常要用到外部中断,比如按键唤醒。3.平台:协议栈版本:SDK10.0.0编译软件:keil 5.12硬件平台:微雪开发板nrf51822例子:SDK 10.0.0\1.目的 nrf51822外部中断2.分析 &nb...转载 2019-01-15 18:20:21 · 1047 阅读 · 0 评论 -
【NRF51822】DFU过程梳理
定义一个DFU 服务#ifdef BLE_DFU_APP_SUPPORT /** @snippet [DFU BLE Service initialization] */ ble_dfu_init_t dfus_init; // Initialize the Device Firmwa...转载 2019-01-09 18:25:29 · 1184 阅读 · 0 评论 -
常用蓝牙服务对应的UUID码
UUID是“Universally Unique Identifier”的缩写,通用唯一识别码的意思。对于蓝牙设备,每个服务都有一个与它对应的UUID(唯一的)。下面列出一些常用的蓝牙服务UUID:ServiceDiscoveryServerServiceClassID_UUID = '{00001000-0000-1000-8000-00805F9B34FB}'BrowseGroupD...转载 2019-01-24 14:59:45 · 10704 阅读 · 0 评论