非易失性存储器控制器NVMC原理:

芯片选用的是NRF52810--QFAA,其片内的FLASH的分布模式如下:

FLASH的地址范围为0x0000 0000~0x0003 0000,可擦除的地址范围为0x00020000~0x0002FFFF,FLASH一共分为48页,一页有4K的字节,一页包含8块,一块有512字节,注意:该芯片只能按页擦除,不可以按字节擦除。如果在写之前没有擦除的话,将可能出现写入的数据不是你想要的数据。

擦写FLASH的步骤:

  1. 规划写入数据的FLASH空间
  2. 擦写FLASH页面
  3. 写FLASH
  4. 读FLASH

写入数据前,需要提前算好需要给数据多少存储空间,(这个要根据代码的实际情况来执行)。

擦写FLASH页面用到的函数为:nrf_nvmc_earse();如下图:

例:nrf_nvmc_earse(0x0002F000);  此时则把2F页面的数据擦写为FF(FLASH页面中的数据只有为FF时,才能往里写入数据)。

写数据的函数为:nrf_nvmc_write_word();如下图:

该函数的形参 address指地址,value指的则是数据。例:

nrf_nvmc_write_word(0x0002F000,0x56)则此时最低位为56,其他的位补0

读FLASH则利用指针进行读FLASH:

例如:首先定义指针变量

char * p;

uint8_t n;

p = *(uint32_t *) 0x0002FFF;

n = *p;

此时则把0x0002F000中的数据读出来赋值给了n。之后如果需要再次在0x0002F000中写入数据的话,就需要先把0x0002F000中的数据擦除之后再写。

参考艾克姆科技的NRF52810的开发板。

基于NRF52810的FLASH读写操作相关推荐

  1. 瑞萨R78族Flash读写操作详细探讨

    前言 最近使用到瑞萨R78族的MCU,准备做一个关于掉电保存参数配置的功能,需求大概是对200多个参数在掉电瞬间保存到芯片flash空间中,网上关于瑞萨MCU的flash读写操作教程也比较少,于是笔者 ...

  2. 基于STM32的Flash读写详解

    基于STM32的Flash读取 前言 介绍 STM32 FLASH 闪存的编程和擦除 Flash读写的标准库函数 软件设计 FLASH的读取 直接读取某一地址的内容 读取选定位置的选定大小的内容 FL ...

  3. 【FPGA】SPI协议详解及对flash读写操作

    FPGA基于SPI实现对flash读写操作 概括 一.SPI协议.flash讲解 1.SPI协议 2.flash (1)WREN (2)RDID (3)WRSR (4)READ (5)PP (6)SE ...

  4. HC32 flash 读写操作

    flash 读写操作 HC32 flash 简介 HC32 flash 操作和时钟之间的关系 Flash 的读写操作 解锁寄存器 单次编程无回读功能 单编程有回读 连续编程 擦除功能 全擦除功能 综合 ...

  5. NAND FLASH 读写操作 简介

    NAND FLASH 内存详解与读写寻址方式 一.内存详解 NAND闪存阵列分为一系列128kB的区块(block),这些区块是 NAND器件中最小的可擦除实体.擦除一个区块就是把所有的位(bit)设 ...

  6. Esp8266的Flash读写操作以及Flash上传文件

    1.Flash的读写操作 Esp8266的Flash为4M,其中1M用于存储程序,其他的空间有一部分用于系统,3M中剩下的大部分空间可以用来存放文件. #include <FS.h> St ...

  7. (超详细)STM32芯片Flash读写操作讲解和代码(寄存器版本)

    关于Flash,官方的解释为:Flash为32位宽的存储单元,可用于存储代码和数据常量.Flash模块位于微控制器内存映射中的特定基址--.而对于我们来说,只要知道Flash闪存区是一个掉电后也不会清 ...

  8. c语言指针flash,STM32F103RCT6之FLASH读写操作

    一.STM32F103的FLASH简介 1.如图所示,STM32F103内部FLASH存储区分为三个区域:主存储区.信信息块和闪存存储器接口寄存器. 储存储区是我们读写FLASH的主要的存储区,MCU ...

  9. STM32远程升级IAP功能+备份功能实现。(flash读写操作)

    远程升级加备份一共需要4个扇区,要确保flash可以被分成四个扇区(F4的扇区好大,4个16k,1个64k,剩下都是128k,对于小容量芯片非常不友好). 第一个存放出厂程序,也叫启动程序boot l ...

最新文章

  1. IDEA IntelliJ/ DataGrip 修改自动补全快捷键
  2. Dynamics CRM 开启EmailRouter日志记录
  3. mysql 5.7 存储引擎_mysql5.7——innodb存储引擎总结
  4. ACM入门之【并查集】
  5. HTML---百度新闻轮播图--定位练习
  6. 自制反汇编逆向分析工具 迭代第六版本 (一)
  7. java 大数 list_Java后台通过Collections获取list集合中最大数,最小数代码
  8. Linux---之conda换源
  9. unity算法面试_Unity面试准备
  10. 国庆在家写了个简易版的在线简历网站
  11. 关于企业邮箱域名备案方法【企业邮箱申请】
  12. 第三方支付平台业务分析
  13. 网络信息安全的重要性
  14. SAP SE38代码大小写设定
  15. 域账号创建、组创建,域账号加入组,客户端登陆域账号
  16. jquery文字提示框
  17. pdf的下载和在线预览
  18. 01博弈三要素和囚徒困境
  19. zotero 使用方法
  20. 北风:美团饿了么外卖返利cps项目是什么做的?(实操)

热门文章

  1. 百分百恋人 治愈系恋人 如何照顾他心里的伤
  2. Redis面试-- 21问,你接得住不?
  3. DirectSound 钢琴(1)
  4. anyview阅读器java_anyview4.11.java
  5. 《Inetnet History,Technology and Security》学习笔记
  6. sci-hub如何使用
  7. 计算机二级ms模拟题在线,计算机二级MSOffice考试全真模拟试题
  8. [内网基础]msf使用内网实战演示
  9. 戴尔笔记本fn热键开启关闭的常见方法
  10. 用Chrome在电脑上模拟微信浏览器方法