请选择 进入手机版 | 继续访问电脑版
论坛
登录 | 立即注册
查看: 451|回复: 2

user_pre_init(void)怎么写分区表

[复制链接]

1

主题

2

帖子

24

积分

新手上路

Rank: 1

积分
24
发表于 2020-5-27 20:08:24 | 显示全部楼层 |阅读模式
#if ((SPI_FLASH_SIZE_MAP == 0) || (SPI_FLASH_SIZE_MAP == 1))
#error "The flash map is not supported"
#elif (SPI_FLASH_SIZE_MAP == 2)
#define SYSTEM_PARTITION_OTA_SIZE                                                        0x6A000
#define SYSTEM_PARTITION_OTA_2_ADDR                                                        0x81000
#define SYSTEM_PARTITION_RF_CAL_ADDR                                                0xfb000
#define SYSTEM_PARTITION_PHY_DATA_ADDR                                                0xfc000
#define SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR                                0xfd000
#define SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM_ADDR           0x7c000
#elif (SPI_FLASH_SIZE_MAP == 3)
#define SYSTEM_PARTITION_OTA_SIZE                                                        0x6A000
#define SYSTEM_PARTITION_OTA_2_ADDR                                                        0x81000
#define SYSTEM_PARTITION_RF_CAL_ADDR                                                0x1fb000
#define SYSTEM_PARTITION_PHY_DATA_ADDR                                                0x1fc000
#define SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR                                0x1fd000
#define SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM_ADDR           0x7c000
#elif (SPI_FLASH_SIZE_MAP == 4)
#define SYSTEM_PARTITION_OTA_SIZE                                                        0x6A000
#define SYSTEM_PARTITION_OTA_2_ADDR                                                        0x81000
#define SYSTEM_PARTITION_RF_CAL_ADDR                                                0x3fb000
#define SYSTEM_PARTITION_PHY_DATA_ADDR                                                0x3fc000
#define SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR                                0x3fd000
#define SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM_ADDR           0x7c000
#elif (SPI_FLASH_SIZE_MAP == 5)
#define SYSTEM_PARTITION_OTA_SIZE                                                        0x6A000
#define SYSTEM_PARTITION_OTA_2_ADDR                                                        0x101000
#define SYSTEM_PARTITION_RF_CAL_ADDR                                                0x1fb000
#define SYSTEM_PARTITION_PHY_DATA_ADDR                                                0x1fc000
#define SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR                                0x1fd000
#define SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM_ADDR           0xfc000
#elif (SPI_FLASH_SIZE_MAP == 6)
#define SYSTEM_PARTITION_OTA_SIZE                                                        0x6A000
#define SYSTEM_PARTITION_OTA_2_ADDR                                                        0x101000
#define SYSTEM_PARTITION_RF_CAL_ADDR                                                0x3fb000
#define SYSTEM_PARTITION_PHY_DATA_ADDR                                                0x3fc000
#define SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR                                0x3fd000
#define SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM_ADDR           0xfc000
#else
#error "The flash map is not supported"
#endif

#define SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM                SYSTEM_PARTITION_CUSTOMER_BEGIN

uint32 priv_param_start_sec;

static const partition_item_t at_partition_table[] = {
    { SYSTEM_PARTITION_BOOTLOADER,                                                 0x0,                                                                                                 0x1000},
    { SYSTEM_PARTITION_OTA_1,                                                   0x1000,                                                                                         SYSTEM_PARTITION_OTA_SIZE},
    { SYSTEM_PARTITION_OTA_2,                                                   SYSTEM_PARTITION_OTA_2_ADDR,                                                 SYSTEM_PARTITION_OTA_SIZE},
    { SYSTEM_PARTITION_RF_CAL,                                                  SYSTEM_PARTITION_RF_CAL_ADDR,                                                 0x1000},
    { SYSTEM_PARTITION_PHY_DATA,                                                 SYSTEM_PARTITION_PHY_DATA_ADDR,                                         0x1000},
    { SYSTEM_PARTITION_SYSTEM_PARAMETER,                                 SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR,                         0x3000},
    { SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM,             SYSTEM_PARTITION_CUSTOMER_PRIV_PARAM_ADDR,          0x1000},
};

void ICACHE_FLASH_ATTR user_pre_init(void)
{
    if(!system_partition_table_regist(at_partition_table, sizeof(at_partition_table)/sizeof(at_partition_table[0]),SPI_FLASH_SIZE_MAP)) {
                //os_printf("system_partition_table_regist fail\r\n");
                //while(1);
        }
}

做模板不动?还是 修改?哪些能删?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

1

主题

2

帖子

24

积分

新手上路

Rank: 1

积分
24
 楼主| 发表于 2020-5-27 20:10:38 | 显示全部楼层
做模板的话 NONOS_SDK_3.0.3 里的IoT_Demo 里的用删吗
回复

使用道具 举报

2

主题

3

帖子

51

积分

版主

Rank: 7Rank: 7Rank: 7

积分
51
发表于 2020-6-15 09:05:29 | 显示全部楼层
如果是安信可的esp8266-12f,在根部的 makefile 文件里面,修改 SPI_FLASH_SIZE_MAP == 6 。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|安信可论坛    

GMT+8, 2020-7-8 21:44 , Processed in 0.020824 second(s), 13 queries , Redis On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表