11.1. XIP FLASH - 数据读写

本 demo 主要演示 xip flash 基本的数据读写功能。

11.1.1. 硬件连接

  • 内部 flash 不需要额外电路

  • 外部 flash 需要连接 flash 控制器接口

11.1.2. 软件实现

  • 软件代码见 examples/flash/flash_rw

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
/* erase 0x00010000 16k flash */
flash_erase(0x00010000, 16 * 1024);

/* write 0x00010000 flash data */
flash_write(0x00010000, writeTestData, sizeof(writeTestData));

memset(readTestData, 0, 256);

/* read 0x00010000 flash data */
flash_read(0x00010000, readTestData, sizeof(readTestData));
  • 擦除 flash 物理地址 0x00010000 开始的 16K 内容

  • 从flash 物理地址 0x00010000 开始写入用户数据

  • 从flash 物理地址 0x00010000 开始读取用户数据

11.1.3. 编译和烧录

1
2
 $ cd <sdk_path>/bl_mcu_sdk
 $ make BOARD=bl706_iot APP=flash_rw

11.1.4. 实验现象

打开串口,如果显示 case success 表示读写成功,否则读写错误