nrf52810学习笔记——二
nrf52810为nordic支持蓝牙 5.0性价比最高的一款芯片,不过这个芯片的rom不得不吐槽下,只有192KB,不知道为什么定了个192,而不是大家所熟悉的256KB,估计价格是个原因吧,15.2的协议栈中S112 softdevice占用了100KB,只剩92KB了,后面还要减掉bootloader的大小,所以给用户使用的空间并不大,15.2中pca10040e为52810的工程
原文:https://blog.csdn.net/htaijqq/article/details/84178119
nRF52832, 可以通过蓝牙、串口,USB 升级。
nRF52832 内存布局中,包含MBR,Soft device,Application, Application data, Bootloader, Bootloader Settings.
具体Flash布局参考: http://www.sunyouqun.com/2017/05/nordic-dfu-study/
编译环境和升级过程参考:https://blog.csdn.net/wulazula/article/details/78130954
nRF52832 对升级过程中的数据进行了加密和认证处理,具体过程参考:https://blog.csdn.net/oqqdake12/article/details/53928601
要启动bootloader,需要设置芯片的UICR 区域,UICR.BOOTLOADERADDR. 将bootloader 地址写入此区域。
具体命令:nrfjprog.exe --memwr 0x10001014 --val 0x00078000.
nrfjprog 一个python 的程序,安装过程参考上面所提文章。0x10001014 是 UICR.BOOTLOADERADDR 地址。0x00078000 是14.2.0 SDK版本中bootloader 区域地址。
原文:https://blog.csdn.net/weixin_38051349/article/details/80074799
nRF52832的UICR
UICR(User information configuration registers)是保存用户特殊设置的非易失存储寄存器(NVM:Non-volatile memory),UICR与Flash的不同的是只有通过全片擦除后才能重新写入,不能单独擦除。
UICR寄存器组:
NRFFW[14:0]:为Nordic固件保留,与DFU的设计有关。
NRFHW[11:0]:为Nordic硬件件保留。
CUSTOMER[31:0]:为用户保留。
PSELRESET[1:0]:选择nReset连接的引脚位置(并不是所有引脚都支持),两个寄存器值必须一致nReset才有效,否则没有nReset引脚。
APPROTECT:使能或禁止Access Port 保护功能。
NFCPINS:设置NFC引脚为GPIO还是NFC。
nRESET和NFC PIN
默认在system_nrf52.c中通过宏CONFIG_NFCT_PINS_AS_GPIOS和CONFIG_GPIO_AS_PINRESET控制打开或关闭nRESET和NFC PIN的功能。在擦除和烧写后的首次程序运行的时候,SystemInit()函数根据宏定义设置会先根据宏定义写UICR寄存器。
Bootloader
在Bootloader的程序中NRF_UICR->NRFFW[0]储存的是Bootloader的地址。
原文:https://blog.csdn.net/weixin_40643581/article/details/78980997
nrf52810学习笔记——二的更多相关文章
- WPF的Binding学习笔记(二)
原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
- JMX学习笔记(二)-Notification
Notification通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知. 这里写 ...
- java之jvm学习笔记二(类装载器的体系结构)
java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...
- Java IO学习笔记二
Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...
- 《SQL必知必会》学习笔记二)
<SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语 ...
- NumPy学习笔记 二
NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(二) indigo tools
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
随机推荐
- 微软官方NET Core 2.0
NET Core 2.0 微软官方发布的.NET Core 2.0相关的博客: Announcing .NET Standard 2.0 Announcing .NET Core 2.0 F# and ...
- reaver 破解wifi
1. 无线网卡设置为监控模式 airmon-ng start wlan0 2. 获取附近路由信息 airodump-ng wlan0mon 3. 使用reaver破解wifi reaver -i wl ...
- LinkedList源码及原理
简介 内部结构分析 LinkedList源码分析 构造方法 添加(add)方法 根据位置取数据的方法 根据对象得到索引的方法 检查链表是否包含某对象的方法: 删除(remove/pop)方法 Link ...
- vue之store中属性更新用法
//1.首先定义store对象下的属性 state: { data:'测试数据' } // 2.定义更改data数据的方法 mutations: { updatedata(state, p) { st ...
- 【转载】Ubuntu16.04安装最新版nodejs
安装最新版nodejs 更新ubuntu软件源 sudo apt-get update sudo apt-get install -y python-software-properties softw ...
- c# 串口操作
public class CommPort : IDisposable { public string Port = ""; ///<summary> ///波特率96 ...
- zk实现服务选举
非公平选举算法1)首先通过zk创建一个 /server 的PERSISTENT节点 2)多台机器同时创建 /server/leader EPHEMERAL子节点 3)子节点只能创建一个,后创建的会失败 ...
- 洛谷P1435 回文字串(dp)
题意 题目链接 回文词是一种对称的字符串.任意给定一个字符串,通过插入若干字符,都可以变成回文词.此题的任务是,求出将给定字符串变成回文词所需要插入的最少字符数. 比如 “Ab3bd”插入2个字符后可 ...
- Icicle is not a symbol o chillness but a sign of warming.
Icicle is not a symbol o chillness but a sign of warming. 冰柱不是严寒的象征,而是天气变暖的标志.
- js之深度克隆、简易克隆
一.js中的对象 谈到对象的克隆,必定要说一下对象的概念. js中的数据类型分为两大类:原始类型和对象类型. (1)原始类型包括:数值.字符串.布尔值.null.undefined(后两个是特殊的原始 ...