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+MySql+Nginx
NET Core+MySql+Nginx 容器化部署 .NET Core容器化@Docker.NET Core容器化之多容器应用部署@Docker-Compose.NET Core+MySql+Ngi ...
- devOps开发(Web API 实例)dotnet core 和 Azure PaaS服务
使用 dotnet core 和 Azure PaaS服务进行devOps开发(Web API 实例) 作者:陈希章 发表于 2017年12月19日 引子 这一篇文章将用一个完整的实例,给大家介绍如何 ...
- 转 dos 下的 find 和 重定向 and 删除
1.find /i "ora-" *.* > check.log del /Q .\log\*.* 附录: 我对findstr是如此的依赖,以至于当我向各位讲解find命令的 ...
- 关于float和double类型能表示的数据范围和精度分析
来自教材<计算机组成原理>p16 float:6--7位 double:15--16位 意思就是double类型的数据,你确实能表达出很大的数字,但是其只有15位是精确的. 1.计算机中, ...
- HBuilder配置sass
参考: https://www.cnblogs.com/padding1015/p/7133811.html 如果期间报错,参考步骤7,然后再重新安装配置 预编译配置--no-cache %FileN ...
- iOS 面试常问之多线程
本片围绕多线程全面展开叙述. 1.为什么要有多线程/多线程是用来干什么的? 2.多线程是什么? 3.如何创建多线程? 4.多线程在哪些情况下会使用/多线程使用场景? 5.三种多线程的优缺点? 6.线程 ...
- BroadCast广播机制应用与实例
如何编写广播接收器 第一步:需要继承BroadcastReceiver类,覆写其中的onReceive()方法. class MyBroadcastReceiver extends Broadcast ...
- 转:IOS程序之间的文件共享
原文 System-Declared Uniform Type Identifiers One of the common tasks that an iOS developer has to do ...
- hashlib(加盐)回炉练习
简介: 用于加密相关的操作,代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法.在python3中已经废弃了md5和sha模块,简单说明 ...
- EF6 CodeFirst连接MySql 报nvarchar('max')错误解决办法
1.在DBContext类加标签[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))] 2.在Nuget控制台输入u ...