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

nRF51822之pstorage使用摘要的更多相关文章

  1. NRF51822之pstorage介绍

    This information applies to the following SoftDevices: S110, S120, S130, S310 Introduction Persisten ...

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

    昨天 遇到了一个烦心的问题,被老外客户怼了两句,恼火,很想发火,发现英文不够用,算了,就不跟直肠的鬼佬一般见识.说正事. 最近的一个nRF51822+MT2503 钱包防丢项目,准备接近量产了.昨天做 ...

  3. java根据html生成摘要

    转自:http://java.freesion.com/article/48772295755/ 开发一个系统,需要用到这个,根据html生成你指定多少位的摘要 package com.chendao ...

  4. Atitit HTTP 认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结

    Atitit HTTP认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结 1.1. 最广泛使用的是基本验证 ( ...

  5. 2、摘要函数——MD2/MD4/MD5数字签名

    摘要是用来防止数据被私自改动的方法,其中用到的函数叫做摘要函数.这些函数的输入可以是任意大小的信息,但是输出是大小固定的摘要.摘要有个重要的特性:如果改变了输入信息的任何内容,即使改变一位,输出也将发 ...

  6. 前端学HTTP之摘要认证

    前面的话 上一篇介绍的基本认证便捷灵活,但极不安全.用户名和密码都是以明文形式传送的,也没有采取任何措施防止对报文的篡改.安全使用基本认证的唯一方式就是将其与SSL配合使用 摘要认证与基本认证兼容,但 ...

  7. Java 消息摘要 散列 MD5 SHA

    package xxx.common.util; import java.math.BigInteger; import java.security.MessageDigest; import jav ...

  8. rpm查询命令摘要

    任务 命令 显示软件包的相关信息 rpm -q -i NAME 列出软件包中含有的所有文件 rpm -q -i NAME 列出软件包中含有的配置文件 rpm -q -c NAME 列出软件包中含有的文 ...

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

    蓝牙在短距离无线通信领域占据举足轻重的地位—— 从手机.平板.PC到车载设备, 到耳机.游戏手柄.音响.电视, 再到手环.电子秤.智能医疗器械(血糖仪.数字血压计.血气计.数字脉搏/心率监视器.数字体 ...

随机推荐

  1. 织梦按栏目id读取banner图

    <div class="pic"> <div class="banner"> {dede:type} <div><a ...

  2. json学习系列(2)-生成JSONObject的方法

    生成JSONObject一般有两种方式,通过javabean或者map类型来生成.如下面的例子: 先定义一个User实体类: package com.pcitc.json; /** * 用户实体类 * ...

  3. DFS POJ 2676 Sudoku

    题目传送门 题意:数独问题,每行每列以及每块都有1~9的数字 分析:一个一个遍历会很慢.先将0的位子用vector存起来,然后用rflag[i][num] = 1 / 0表示在第i行数字num是否出现 ...

  4. HDU3501 Calculation 2(欧拉函数)

    题目求小于n不与n互质的正整数的和. 一个结论是小于n与n互质的正整数和=φ(n)*n/2. 因为如果a与n互质,那么n-a也与n互质,即若gcd(a,n)=1则gcd(n-a,n)=1,反证法即可证 ...

  5. BZOJ3679 : 数字之积

    设f[i][p2][p3][p5][p7][j][k]表示前i位,2,3,5,7的次数,前i位是否等于x,是否有数字的方案数 然后数位DP即可,ans=cal(r)-cal(l) #include&l ...

  6. 关于TbSchedule任务调度管理框架的整合部署

    一.前言 任务调度管理作为基础架构通常会出现于我们的业务系统中,目的是让各种任务能够按计划有序执行.比如定时给用户发送邮件.将数据表中的数据同步到另一个数据表都是一个任务,这些相对耗时的操作通过任务调 ...

  7. Java/Js下使用正则表达式匹配嵌套Html标签

    转自:http://www.jb51.net/article/24422.htm 以前写过一篇文章讲解如何使用正则表达式完美解决Html嵌套标签的匹配问题(使用正则表达式匹配嵌套Html标签),但是里 ...

  8. CentoS 下报的 Requires: perl(:MODULE_COMPAT_5.8.8)

    yum error requires: libtcmalloc.so.4 rpm -Uvh http://ceph.com/rpm-cuttlefish/el6/x86_64/ceph-release ...

  9. [转载] #define new DEBUG_NEW

    在用vc时,利用AppWizard会产生如下代码: #ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] ...

  10. 为什么java里用常量赋值就相等,用字符串就不等?

    例一: String s0="HF"; String s1=new String("HF"); System.out.println(s0==s1); 输入为什 ...