NRF51822之pstorage使用摘要

https://devzone.nordicsemi.com/question/15271/how-can-i-write-10kb-of-data-to-internal-flash/?answer=17300#post-id-17300

Hi

You can register for more than one page with a single pstorage_register command. Then you can write to more than one page, but the following rules apply:

  • One pstorage_clear command can only clear data within the same page
  • One pstorage_update command can only update data within the same page
  • One pstorage_store command can only write data to a single block
  • One pstorage_load command can only read data from a single block

Also, when registering for more than a single page, registered blocks must be page aligned.

E.g. registering 16 blocks each with 128 bytes is registering two whole pages since 128 * 16=2048. It is also page aligned since each page is 1024 bytes and 8*128=1024.

To clear the two pages you must issue two clear commands:

 pstorage_clear(&block_0_handle, 1024);
 pstorage_clear(&block_8_handle, 1024);

Update 28.10.2014 I include a pstorage sample code below. Hopefully you can use that code to overcome your issues. Report back with any complications.

ble_app_template_with_flash_operations.zip

Update 27.3.2015 The example above is tested with SDK 6.1, softdevice 7.0.0/7.1.0 and second revision nRF51 harware. It should also work with SDK 6.1, softdevice 7.1.0, and third revision nRF51 hardware. For further compatibility of different SDKs and softdevices, and to see the nRF51 hardware revision of the chip/board you have, see nRF51 compatibility matrix

Update 18.8.2015 Below is a similar pstorage example made for SDK 8.1 and softdevice S110 8.0.0

ble_app_template_with_pstorage_operations_nRF51DK.zip

Update 22.1.2016 Below is another pstorage example for SDK 8.1 and softdevice S110 8.0.0. Tested on nRF51-DK board. This example writes pstorage result on UART (instead of Segger RTT as in example from 18.8.2015). You can see the result in a UART terminal as e.g. Realterm (38,400 BAUD; no parity; 1 stop bit; flow control enabled).

ble_app_template_with_pstorage_SDK_8_1_0.zip

时间: 2025-01-02 21:49:40

NRF51822之pstorage使用摘要的相关文章

nRF51822 配对之device_manager_init 调用,以及保证 用户数据存储 的Flash 操作不与device manager 模块冲突

昨天 遇到了一个烦心的问题,被老外客户怼了两句,恼火,很想发火,发现英文不够用,算了,就不跟直肠的鬼佬一般见识.说正事. 最近的一个nRF51822+MT2503 钱包防丢项目,准备接近量产了.昨天做APP的老外发现设备没有 配对绑定功能,就不明真相的说为什么一开始不加上. WTF,记住MAC地址就可以了啊,做销售的老外以为没有配对绑定功能的意思是手机不能连接上,做APP的老外才真正配对绑定功能是为看手机省电和连接方便,..好吧, 加上去. 据说,配对功能就是为了 手机绑定设备后,可以直接启动连

Httpclient处理摘要认证

虽然摘要认证的安全性比BASIC认证提高了不少,但是从接口调用上来看,并不比BASIC认证复杂,而且Realm和Scheme参数都可以为空,这时候就和BASIC认证的调用方式一模一样了. import java.net.URI; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.Credentia

特性(摘要)

特性(摘要) 特性(attribute),让我们可以为代码标记一些信息,而这样的信息又可以从外部读取,并通过各种方式来影响我们所定义的类型的使用方式.这种手段通常被称为对代码进行“装饰(decorating)”. 举例来说,比如我们要创建的某个类包含了一个极其简单的方法(简单到我们不必去理会他).但在应用程序调试期间,可能还是不得不通过代码的逐行检查而调试它.在这种情况下,我们就可以对该方法添加一个特性,告诉VS在调试时不要进入该方法进行逐句调试,而是应该跳过该方法直接调试下一条语句.这样的特性

a byte of vim -- 学习摘要

说在前面的话 -- a byte of vim 是我见过的最介绍vim 最好的书,想了解强大的vim的人,或者是已经在使用vim而打算进一步了解的人,我感觉都应该看看这个,内容精炼但涵盖很广,--"vim为什么这么强大",当看完这本书时,我想你就能完全的了解了--此外,本书是一英文版,但很简单,学语言的同时学习英语很不多-- 附上最新版的下载链接 http://download.csdn.net/detail/wuzhimang/8933257  ,当然上官网才是硬道理 以下是自己针对

[nRF51822] 14、浅谈蓝牙低功耗(BLE)的几种常见的应用场景及架构(科普类干货)

蓝牙在短距离无线通信领域占据举足轻重的地位—— 从手机.平板.PC到车载设备, 到耳机.游戏手柄.音响.电视, 再到手环.电子秤.智能医疗器械(血糖仪.数字血压计.血气计.数字脉搏/心率监视器.数字体温计.耳温枪.皮肤水分计等), 再到智能家居等领域均占有一席之地. 而蓝牙低功耗(BLE)是在蓝牙4.0协议上修改以适用低功耗应用场景的一种蓝牙协议. 随着上一股智能消费类电子大潮的到来,BLE的各种应用也像雨后春笋般在市场上铺开. 如果想 紧跟蓝牙协议的最新动态 ,可以在https://www.b

C/C++使用openssl进行摘要和加密解密(md5, sha256, des, rsa)

openssl里面有很多用于摘要哈希.加密解密的算法,方便集成于工程项目,被广泛应用于网络报文中的安全传输和认证.下面以md5,sha256,des,rsa几个典型的api简单使用作为例子. 算法介绍 md5:https://en.wikipedia.org/wiki/MD5 sha256:https://en.wikipedia.org/wiki/SHA-2 des: https://en.wikipedia.org/wiki/Data_Encryption_Standard rsa: htt

获取和修改摘要信息

static void zffObjectARX_MyCommand15(void) { AcDbDatabase* pDb=acdbHostApplicationServices()->workingDatabase(); AcDbDatabaseSummaryInfo* pSum=NULL; Acad::ErrorStatus es=acdbGetSummaryInfo(pDb,pSum); ACHAR* title; pSum->getTitle(title); acutPrintf(_

caption,为表格增加标题和摘要

格式: <table summary="***"> <caption>***</caption> <tr> </tr> </table> 注意:摘要是不会在浏览器中显示的,只是增加表格的可读性.标题是描述表格内容,增加在表格上方.

详解摘要认证

1. 什么是摘要认证 摘要认证与基础认证的工作原理很相似,用户先发出一个没有认证证书的请求,Web服务器回复一个带有WWW-Authenticate头的响应,指明访问所请求的资源需要证书.但是和基础认证发送以Base 64编码的用户名和密码不同,在摘要认证中服务器让客户端选一个随机数(称作"nonce"),然后浏览器使用一个单向的加密函数生成一个消息摘要(message digest),该摘要是关于用户名.密码.给定的nonce值.HTTP方法,以及所请求的URL. 2. 摘要认证算法