1 /* Note: this is legacy partition definition, and will be removed with flash hal apis in future.*/ 2 3 #include <stddef.h> 4 #include "aos/hal/flash.h" 5 6 /* Logic partition on flash devices */ 7 const hal_logic_partition_t hal_partitions[] = 8 { 9 [HAL_PARTITION_BOOTLOADER] = 10 { 11 .partition_owner = HAL_FLASH_EMBEDDED, 12 .partition_description = "boot1", 13 .partition_start_addr = 0x0, 14 .partition_length = 0x10000, //64k bytes 15 .partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN, 16 }, 17 [HAL_PARTITION_PARAMETER_3] = 18 { 19 .partition_owner = HAL_FLASH_EMBEDDED, 20 .partition_description = "boot_info", 21 .partition_start_addr = 0x10000, //boot information need protect 22 .partition_length = 0x2000, //8k bytes 23 .partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN, 24 }, 25 [HAL_PARTITION_BOOT1] = 26 { 27 .partition_owner = HAL_FLASH_EMBEDDED, 28 .partition_description = "boot2A", 29 .partition_start_addr = 0x12000, 30 .partition_length = 0x18000, //64k bytes 31 .partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN, 32 }, 33 [HAL_PARTITION_APPLICATION] = 34 { 35 .partition_owner = HAL_FLASH_EMBEDDED, 36 .partition_description = "RTOSA", 37 .partition_start_addr = 0x2A000, 38 .partition_length = 0x578000, //5.5M bytes 39 .partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN, 40 }, 41 [HAL_PARTITION_BOOT1_REDUND] = 42 { 43 .partition_owner = HAL_FLASH_EMBEDDED, 44 .partition_description = "boot2B", 45 .partition_start_addr = 0x5A2000, 46 .partition_length = 0x18000, //64k bytes 47 .partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN, 48 }, 49 [HAL_PARTITION_OTA_TEMP] = 50 { 51 .partition_owner = HAL_FLASH_EMBEDDED, 52 .partition_description = "RTOSB", 53 .partition_start_addr = 0x5BA000, 54 .partition_length = 0x578000, //5.5M bytes 55 .partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN, 56 }, 57 [HAL_PARTITION_LITTLEFS] = 58 { 59 .partition_owner = HAL_FLASH_EMBEDDED, 60 .partition_description = "littleFS", //for little fs module 61 .partition_start_addr = 0xB32000, 62 .partition_length = 0x4AE000, 63 .partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN, 64 }, 65 [HAL_PARTITION_PARAMETER_4] = 66 { 67 .partition_owner = HAL_FLASH_EMBEDDED, 68 .partition_description = "boot1_sec", 69 .partition_start_addr = 0xFE0000, 70 .partition_length = 0x10000, //64k bytes 71 .partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN, 72 }, 73 [HAL_PARTITION_PARAMETER_1] = 74 { 75 .partition_owner = HAL_FLASH_EMBEDDED, 76 .partition_description = "boot2_info", 77 .partition_start_addr = 0xFF0000, 78 .partition_length = 0x1000, //4k bytes 79 .partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN, 80 }, 81 [HAL_PARTITION_PARAMETER_2] = 82 { 83 .partition_owner = HAL_FLASH_EMBEDDED, 84 .partition_description = "KV", //for KV module 85 .partition_start_addr = 0xFF1000, 86 .partition_length = 0xD000, //K bytes 87 .partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN, 88 }, 89 [HAL_PARTITION_ENV] = 90 { 91 .partition_owner = HAL_FLASH_EMBEDDED, 92 .partition_description = "factory", 93 .partition_start_addr = 0xFFE000, 94 .partition_length = 0x2000, 95 .partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN, 96 }, 97 [HAL_PARTITION_ENV_REDUND] = 98 { 99 .partition_owner = HAL_FLASH_EMBEDDED, 100 .partition_description = "factory_backup", 101 .partition_start_addr = 0xFFE000, 102 .partition_length = 0x2000, 103 .partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN, 104 }, 105 }; 106 107 /* Declare a constant to indicate the defined partitions amount */ 108 const size_t hal_partitions_amount = (sizeof(hal_partitions)/sizeof(hal_logic_partition_t)); 109