ESP8266 Developer Zone The Official ESP8266 Forum 2017-04-07T14:27:31+08:00 https://bbs.espressif.com:443/feed.php?f=7&t=3694 2017-04-07T14:27:31+08:00 2017-04-07T14:27:31+08:00 https://bbs.espressif.com:443/viewtopic.php?t=3694&p=12070#p12070 <![CDATA[Re: build error using peripheral_test code]]>

Code:

#include "ets_sys.h"
#include "osapi.h"

#include "user_interface.h"
/******************************************************************************
 * FunctionName : user_rf_cal_sector_set
 * Description  : SDK just reversed 4 sectors, used for rf init data and paramters.
 *                We add this function to force users to set rf cal sector, since
 *                we don't know which sector is free in user's application.
 *                sector map for last several sectors : ABCCC
 *                A : rf cal
 *                B : rf init data
 *                C : sdk parameters
 * Parameters   : none
 * Returns      : rf cal sector
*******************************************************************************/
uint32 ICACHE_FLASH_ATTR
user_rf_cal_sector_set(void)
{
    enum flash_size_map size_map = system_get_flash_size_map();
    uint32 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;

        default:
            rf_cal_sec = 0;
            break;
    }

    return rf_cal_sec;
}

void ICACHE_FLASH_ATTR
user_rf_pre_init(void)
{
}

void ICACHE_FLASH_ATTR
user_init(void)
{
    os_printf("SDK version:%s\n", system_get_sdk_version());
}

Statistics: Posted by Her Mary — Fri Apr 07, 2017 2:27 pm


]]>
2017-04-06T21:40:52+08:00 2017-04-06T21:40:52+08:00 https://bbs.espressif.com:443/viewtopic.php?t=3694&p=12045#p12045 <![CDATA[build error using peripheral_test code]]>
Below function was showed in user_main.c. It generates error when build .bin file.
Question: 1) why we need this function?
2) what should I do to solve this issue?




=========================================================================================
uint32 ICACHE_FLASH_ATTR
user_rf_cal_sector_set(void)
{

enum flash_size_map size_map = system_get_flash_size_map();
uint32 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;

default:
rf_cal_sec = 0;
break;
}

return rf_cal_sec;
}
======================================================

user_main.c: In function 'user_rf_cal_sector_set':
user_main.c:44:10: error: variable 'size_map' has initializer but incomplete type
enum flash_size_map size_map = system_get_flash_size_map();
^
user_main.c:44:25: error: storage size of 'size_map' isn't known
enum flash_size_map size_map = system_get_flash_size_map();

Statistics: Posted by shenhome — Thu Apr 06, 2017 9:40 pm


]]>