基于NRF52810的FLASH读写操作
非易失性存储器控制器NVMC原理:
芯片选用的是NRF52810--QFAA,其片内的FLASH的分布模式如下:
FLASH的地址范围为0x0000 0000~0x0003 0000,可擦除的地址范围为0x00020000~0x0002FFFF,FLASH一共分为48页,一页有4K的字节,一页包含8块,一块有512字节,注意:该芯片只能按页擦除,不可以按字节擦除。如果在写之前没有擦除的话,将可能出现写入的数据不是你想要的数据。
擦写FLASH的步骤:
- 规划写入数据的FLASH空间
- 擦写FLASH页面
- 写FLASH
- 读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读写操作相关推荐
- 瑞萨R78族Flash读写操作详细探讨
前言 最近使用到瑞萨R78族的MCU,准备做一个关于掉电保存参数配置的功能,需求大概是对200多个参数在掉电瞬间保存到芯片flash空间中,网上关于瑞萨MCU的flash读写操作教程也比较少,于是笔者 ...
- 基于STM32的Flash读写详解
基于STM32的Flash读取 前言 介绍 STM32 FLASH 闪存的编程和擦除 Flash读写的标准库函数 软件设计 FLASH的读取 直接读取某一地址的内容 读取选定位置的选定大小的内容 FL ...
- 【FPGA】SPI协议详解及对flash读写操作
FPGA基于SPI实现对flash读写操作 概括 一.SPI协议.flash讲解 1.SPI协议 2.flash (1)WREN (2)RDID (3)WRSR (4)READ (5)PP (6)SE ...
- HC32 flash 读写操作
flash 读写操作 HC32 flash 简介 HC32 flash 操作和时钟之间的关系 Flash 的读写操作 解锁寄存器 单次编程无回读功能 单编程有回读 连续编程 擦除功能 全擦除功能 综合 ...
- NAND FLASH 读写操作 简介
NAND FLASH 内存详解与读写寻址方式 一.内存详解 NAND闪存阵列分为一系列128kB的区块(block),这些区块是 NAND器件中最小的可擦除实体.擦除一个区块就是把所有的位(bit)设 ...
- Esp8266的Flash读写操作以及Flash上传文件
1.Flash的读写操作 Esp8266的Flash为4M,其中1M用于存储程序,其他的空间有一部分用于系统,3M中剩下的大部分空间可以用来存放文件. #include <FS.h> St ...
- (超详细)STM32芯片Flash读写操作讲解和代码(寄存器版本)
关于Flash,官方的解释为:Flash为32位宽的存储单元,可用于存储代码和数据常量.Flash模块位于微控制器内存映射中的特定基址--.而对于我们来说,只要知道Flash闪存区是一个掉电后也不会清 ...
- c语言指针flash,STM32F103RCT6之FLASH读写操作
一.STM32F103的FLASH简介 1.如图所示,STM32F103内部FLASH存储区分为三个区域:主存储区.信信息块和闪存存储器接口寄存器. 储存储区是我们读写FLASH的主要的存储区,MCU ...
- STM32远程升级IAP功能+备份功能实现。(flash读写操作)
远程升级加备份一共需要4个扇区,要确保flash可以被分成四个扇区(F4的扇区好大,4个16k,1个64k,剩下都是128k,对于小容量芯片非常不友好). 第一个存放出厂程序,也叫启动程序boot l ...
最新文章
- IDEA IntelliJ/ DataGrip 修改自动补全快捷键
- Dynamics CRM 开启EmailRouter日志记录
- mysql 5.7 存储引擎_mysql5.7——innodb存储引擎总结
- ACM入门之【并查集】
- HTML---百度新闻轮播图--定位练习
- 自制反汇编逆向分析工具 迭代第六版本 (一)
- java 大数 list_Java后台通过Collections获取list集合中最大数,最小数代码
- Linux---之conda换源
- unity算法面试_Unity面试准备
- 国庆在家写了个简易版的在线简历网站
- 关于企业邮箱域名备案方法【企业邮箱申请】
- 第三方支付平台业务分析
- 网络信息安全的重要性
- SAP SE38代码大小写设定
- 域账号创建、组创建,域账号加入组,客户端登陆域账号
- jquery文字提示框
- pdf的下载和在线预览
- 01博弈三要素和囚徒困境
- zotero 使用方法
- 北风:美团饿了么外卖返利cps项目是什么做的?(实操)