当前位置:   article > 正文

nRF52832 内部Flash读写操作_nrf52832程序运行流程

nrf52832程序运行流程

简介

直接读写片内 Flash 的, 这种方式只适用于非蓝牙程序使用。如果跑蓝牙协议栈则不适用。

片内 Flash 分布

开发板上用的 nRF52832 芯片型号是: nRF52832-QFAA,其片内的 Flash 如下表所示:
在这里插入图片描述
nRF52832 的 Flash 地址范围是: 0x0000 0000~0x0008 0000,共 512 k 字节,如下图所示:
在这里插入图片描述

Flash 区域分为 128 个 4 k 字节大小的页(4k),每个页包含 8 个 512 字节大小的块(512byte),需要注意的是 Flash 分布的最小单位是块,但是擦除操作最小的单位是页(即4K一擦除)

使用示例

uint32_t  addr;

// 待擦除页的起始地址
addr = 0x0007F000;

// 擦除页
nrf_nvmc_page_erase(addr);

//向地址0x0007F000写入一个字0x12345678
nrf_nvmc_write_word(addr,0x12345678);

// 读出数据并通过串口打印出数据
pdat = (uint32_t *)addr;
// or pdat = (uint32_t *)0x0007F000;

printf("0x%x was read from flash\r\n", *pdat);		
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

效果如下

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/223575
推荐阅读
相关标签
  

闽ICP备14008679号