1# 基础外设开发——内部flash读写(基于BearPi-HM_Nano开发板) 2本示例将演示如何进行内部flash数据读写 3 4## FLASH API分析 5本示例主要使用了以下API完成内部flash数据读写 6### FlashRead() 7```c 8unsigned int IoTFlashRead(unsigned int flashOffset, unsigned int size, unsigned char *ramData) 9``` 10**描述:** 11 12读取flash数据。 13 14**参数:** 15 16|名字|描述| 17|:--|:------| 18| flashOffset | flash偏移地址 | 19| size |要读取的字节数| 20| ramData |存放待读取数据的缓存指针| 21 22### FlashWrite() 23```c 24unsigned int IoTFlashWrite(unsigned int flashOffset, unsigned int size, 25 const unsigned char *ramData, unsigned char doErase) 26``` 27**描述:** 28将数据写入flash 29 30 31**参数:** 32 33|名字|描述| 34|:--|:------| 35| flashOffset | flash偏移地址 | 36| size |待写入字节数| 37| ramData |待写入数据缓存指针| 38| doErase |表示是否执行擦除| 39 40 41 42## 硬件设计 43无 44 45## 软件设计 46 47无 48 49## 编译调试 50 51### 修改 BUILD.gn 文件 52 53 54修改 `applications\BearPi\BearPi-HM_Nano\sample` 路径下 BUILD.gn 文件,指定 `flash_example` 参与编译。 55 56```r 57 # "D10_iot_cloud_oc_infrared:cloud_oc_infrared", 58 # "D11_iot_cloud_oc_agriculture:cloud_oc_agriculture", 59 # "D12_iot_cloud_oc_gps:cloud_oc_gps", 60 61 "Z1_hi3861_flash_ylc:flash_example", 62``` 63 64 65### 运行结果 66 67示例代码编译烧录代码后,按下开发板的RESET按键,通过串口助手可以看到从flash读到了数据。 68 69```c 70flash test@ylc: Hello, BearPi! 71``` 72 73