• Home
Name Date Size #Lines LOC

..--

BUILD.gnD12-May-2024842 2219

README.mdD12-May-20241.5 KiB7348

flash_example.cD12-May-20241.6 KiB6026

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## 硬件设计
4344
45## 软件设计
46
4748
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