README.md
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