mirror of
https://github.com/Ai-Thinker-Open/Ai-Thinker-Open_RTL8710BX_ALIOS_SDK.git
synced 2025-02-06 12:25:21 +00:00
351 lines
13 KiB
C
351 lines
13 KiB
C
/*
|
|
* Copyright (C) 2015-2017 Alibaba Group Holding Limited
|
|
*/
|
|
|
|
#include "hal/soc/soc.h"
|
|
#include <aos/kernel.h>
|
|
#include <aos/aos.h>
|
|
|
|
#include "esp_system.h"
|
|
|
|
/* Logic partition on flash devices for 4M bytes 1024*1024 */
|
|
const hal_logic_partition_t hal_partitions_4M_1024x1024[] =
|
|
{
|
|
[HAL_PARTITION_BOOTLOADER] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "Bootloader",
|
|
.partition_start_addr = 0x0000,
|
|
.partition_length = 0x1000, //4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_DIS,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_1] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER1",
|
|
.partition_start_addr = 0x310000,
|
|
.partition_length = 0x1000, // 4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_2] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER2",
|
|
.partition_start_addr = 0x311000,
|
|
.partition_length = 0x2000, //8k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_APPLICATION] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "Application",
|
|
.partition_start_addr = 0x1000,
|
|
.partition_length = 0x100000, //1MB bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_OTA_TEMP] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "OTA Storage",
|
|
.partition_start_addr = 0x101000,
|
|
.partition_length = 0x100000, //1MB bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_3] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER3",
|
|
.partition_start_addr = 0x313000,
|
|
.partition_length = 0x1000, //4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_4] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER4",
|
|
.partition_start_addr = 0x314000,
|
|
.partition_length = 0x1000, //4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
};
|
|
|
|
/* Logic partition on flash devices for 2M bytes 1024*1024 */
|
|
const hal_logic_partition_t hal_partitions_2M_1024x1024[] =
|
|
{
|
|
[HAL_PARTITION_BOOTLOADER] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "Bootloader",
|
|
.partition_start_addr = 0x0000,
|
|
.partition_length = 0x1000, //4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_DIS,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_1] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER1",
|
|
.partition_start_addr = 0x1f6000,
|
|
.partition_length = 0x1000, // 4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_2] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER2",
|
|
.partition_start_addr = 0x1f7000,
|
|
.partition_length = 0x2000, //8k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_APPLICATION] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "Application",
|
|
.partition_start_addr = 0x1000,
|
|
.partition_length = 0xF4000, //976 bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_OTA_TEMP] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "OTA Storage",
|
|
.partition_start_addr = 0x101000,
|
|
.partition_length = 0xF4000, //976 bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_3] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER3",
|
|
.partition_start_addr = 0x1f9000,
|
|
.partition_length = 0x1000, //4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_4] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER4",
|
|
.partition_start_addr = 0x1FA000,
|
|
.partition_length = 0x1000, //4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
};
|
|
|
|
/* Logic partition on flash devices for 1M bytes 512*512 */
|
|
const hal_logic_partition_t hal_partitions_1M_512x512[] =
|
|
{
|
|
[HAL_PARTITION_BOOTLOADER] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "Bootloader",
|
|
.partition_start_addr = 0x0000,
|
|
.partition_length = 0x1000, //4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_DIS,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_1] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER1",
|
|
.partition_start_addr = 0xF6000,
|
|
.partition_length = 0x1000, // 4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_2] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER2",
|
|
.partition_start_addr = 0xF7000,
|
|
.partition_length = 0x2000, //8k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_APPLICATION] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "Application",
|
|
.partition_start_addr = 0x1000,
|
|
.partition_length = 0x75000, //468 bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_OTA_TEMP] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "OTA Storage",
|
|
.partition_start_addr = 0x81000,
|
|
.partition_length = 0x75000, //468 bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_3] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER3",
|
|
.partition_start_addr = 0xF9000,
|
|
.partition_length = 0x1000, //4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_4] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER4",
|
|
.partition_start_addr = 0xFA000,
|
|
.partition_length = 0x1000, //4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
};
|
|
|
|
/* Logic partition on flash devices for 2M bytes 512*512 */
|
|
const hal_logic_partition_t hal_partitions_2M_512x512[] =
|
|
{
|
|
[HAL_PARTITION_BOOTLOADER] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "Bootloader",
|
|
.partition_start_addr = 0x0000,
|
|
.partition_length = 0x1000, //4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_DIS,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_1] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER1",
|
|
.partition_start_addr = 0x1F6000,
|
|
.partition_length = 0x1000, // 4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_2] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER2",
|
|
.partition_start_addr = 0x1F7000,
|
|
.partition_length = 0x2000, //8k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_APPLICATION] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "Application",
|
|
.partition_start_addr = 0x1000,
|
|
.partition_length = 0x7B000, //492 bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_OTA_TEMP] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "OTA Storage",
|
|
.partition_start_addr = 0x81000,
|
|
.partition_length = 0x7B000, //492 bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_3] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER3",
|
|
.partition_start_addr = 0x1F9000,
|
|
.partition_length = 0x1000, //4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_4] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER4",
|
|
.partition_start_addr = 0x1FA000,
|
|
.partition_length = 0x1000, //4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
};
|
|
|
|
/* Logic partition on flash devices for 4M bytes 512*512 */
|
|
const hal_logic_partition_t hal_partitions_4M_512x512[] =
|
|
{
|
|
[HAL_PARTITION_BOOTLOADER] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "Bootloader",
|
|
.partition_start_addr = 0x0000,
|
|
.partition_length = 0x1000, //4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_DIS,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_1] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER1",
|
|
.partition_start_addr = 0x3F6000,
|
|
.partition_length = 0x1000, // 4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_2] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER2",
|
|
.partition_start_addr = 0x3F7000,
|
|
.partition_length = 0x2000, //8k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_APPLICATION] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "Application",
|
|
.partition_start_addr = 0x1000,
|
|
.partition_length = 0x7B000, //492 bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_OTA_TEMP] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "OTA Storage",
|
|
.partition_start_addr = 0x81000,
|
|
.partition_length = 0x7B000, //492 bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_3] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER3",
|
|
.partition_start_addr = 0x3F9000,
|
|
.partition_length = 0x1000, //4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
[HAL_PARTITION_PARAMETER_4] =
|
|
{
|
|
.partition_owner = HAL_FLASH_EMBEDDED,
|
|
.partition_description = "PARAMETER4",
|
|
.partition_start_addr = 0x3FA000,
|
|
.partition_length = 0x1000, //4k bytes
|
|
.partition_options = PAR_OPT_READ_EN | PAR_OPT_WRITE_EN,
|
|
},
|
|
};
|
|
|
|
uint32_t user_rf_cal_sector_set(void)
|
|
{
|
|
flash_size_map size_map = system_get_flash_size_map();
|
|
uint32_t rf_cal_sec = 0;
|
|
|
|
switch (size_map) {
|
|
case FLASH_SIZE_4M_MAP_256_256:
|
|
rf_cal_sec = 128 - 5;
|
|
break;
|
|
|
|
case FLASH_SIZE_8M_MAP_512_512:
|
|
rf_cal_sec = 256 - 5;
|
|
break;
|
|
|
|
case FLASH_SIZE_16M_MAP_512_512:
|
|
case FLASH_SIZE_16M_MAP_1024_1024:
|
|
rf_cal_sec = 512 - 5;
|
|
break;
|
|
|
|
case FLASH_SIZE_32M_MAP_512_512:
|
|
case FLASH_SIZE_32M_MAP_1024_1024:
|
|
rf_cal_sec = 1024 - 5;
|
|
break;
|
|
case FLASH_SIZE_64M_MAP_1024_1024:
|
|
rf_cal_sec = 2048 - 5;
|
|
break;
|
|
case FLASH_SIZE_128M_MAP_1024_1024:
|
|
rf_cal_sec = 4096 - 5;
|
|
break;
|
|
default:
|
|
rf_cal_sec = 0;
|
|
break;
|
|
}
|
|
|
|
return rf_cal_sec;
|
|
}
|