|
2 | 2 | * Copyright (C) 2015-2021 Alibaba Group Holding Limited |
3 | 3 | */ |
4 | 4 |
|
5 | | -#include <aos/mtdpart.h> |
6 | | -#include <aos/mtd.h> |
7 | | - |
8 | | -/* Logic partition on flash devices */ |
9 | | -const mtd_partition_t mtd_partitions[] = |
10 | | -{ |
11 | | - { |
12 | | - .partition_name = "boot1", |
13 | | - .partition_name_std = MTD_PART_NAME_BOOTLOADER, |
14 | | - .partition_start_addr = 0x0, |
15 | | - .partition_length = 0x10000, //64KB |
16 | | - .partition_options = 0, |
17 | | - }, |
18 | | - { |
19 | | - .partition_name = "boot_info", |
20 | | - .partition_name_std = MTD_PART_NAME_ENV2, |
21 | | - .partition_start_addr = 0x10000, //boot information need protect |
22 | | - .partition_length = 0x2000, //8KB |
23 | | - .partition_options = 0, |
24 | | - }, |
25 | | - { |
26 | | - .partition_name = "boot2A", |
27 | | - .partition_name_std = MTD_PART_NAME_2ND_BOOTLOADER, |
28 | | - .partition_start_addr = 0x12000, |
29 | | - .partition_length = 0x18000, //64KB |
30 | | - .partition_options = 0, |
31 | | - }, |
32 | | - { |
33 | | - .partition_name = "RTOSA", |
34 | | - .partition_name_std = MTD_PART_NAME_KERNEL, |
35 | | - .partition_start_addr = 0x2A000, |
36 | | - .partition_length = 0x578000, //5.5MB |
37 | | - .partition_options = 0, |
38 | | - }, |
39 | | - { |
40 | | - .partition_name = "boot2B", |
41 | | - .partition_name_std = MTD_PART_NAME_2ND_BOOTLOADER2, |
42 | | - .partition_start_addr = 0x5A2000, |
43 | | - .partition_length = 0x18000, //64KB |
44 | | - .partition_options = 0, |
45 | | - }, |
46 | | - { |
47 | | - .partition_name = "RTOSB", |
48 | | - .partition_name_std = MTD_PART_NAME_KERNEL2, |
49 | | - .partition_start_addr = 0x5BA000, |
50 | | - .partition_length = 0x578000, //5.5MB |
51 | | - .partition_options = 0, |
52 | | - }, |
53 | | - { |
54 | | - .partition_name = "littleFS", |
55 | | - .partition_name_std = MTD_PART_NAME_LITTLEFS, |
56 | | - .partition_start_addr = 0xB32000, |
57 | | - .partition_length = 0x4AE000, //4792KB |
58 | | - .partition_options = 0, |
59 | | - }, |
60 | | - { |
61 | | - .partition_name = "boot1_sec", |
62 | | - .partition_name_std = MTD_PART_NAME_BOOTLOADER_SEC, |
63 | | - .partition_start_addr = 0xFE0000, |
64 | | - .partition_length = 0x10000, //64KB |
65 | | - .partition_options = 0, |
66 | | - }, |
67 | | - { |
68 | | - .partition_name = "boot2_info", |
69 | | - .partition_name_std = MTD_PART_NAME_ENV, |
70 | | - .partition_start_addr = 0xFF0000, |
71 | | - .partition_length = 0x1000, //4KB |
72 | | - .partition_options = 0, |
73 | | - }, |
74 | | - { |
75 | | - .partition_name = "KV", |
76 | | - .partition_name_std = MTD_PART_NAME_KV, |
77 | | - .partition_start_addr = 0xFF1000, |
78 | | - .partition_length = 0xD000, //52KB |
79 | | - .partition_options = 0, |
80 | | - }, |
81 | | - { |
82 | | - .partition_name = "factory", |
83 | | - .partition_name_std = MTD_PART_NAME_FACTORY, |
84 | | - .partition_start_addr = 0xFFE000, |
85 | | - .partition_length = 0x2000, //8KB |
86 | | - .partition_options = 0, |
87 | | - } |
88 | | -}; |
89 | | - |
90 | | -/* Declare a constant to indicate the defined partitions amount */ |
91 | | -const int mtd_partitions_amount = (sizeof(mtd_partitions) / sizeof(mtd_partition_t)); |
92 | | - |
93 | 5 | #include <aos/flashpart_core.h> |
94 | 6 | #include <aos/hal/flash.h> |
95 | 7 |
|
@@ -176,7 +88,7 @@ static int flash_partitions_init(void) |
176 | 88 | ret = aos_flashpart_register(&partitions[i]); |
177 | 89 | if (ret) { |
178 | 90 | for (size_t j = 0; j < i; j++) |
179 | | - (void)aos_flashpart_unregister(j); |
| 91 | + (void)aos_flashpart_unregister(partitions[j].dev.id); |
180 | 92 | return ret; |
181 | 93 | } |
182 | 94 | } |
|
0 commit comments