Esp8266 rtos sdk

Cannot create any type of handlers for esp8266 freesrtos sdk one of the examples is below. kindly guide what i am going wrong.
src\main.c:8:1: error: unknown type name ‘QueueHandle_t’

`#include <stdlib.h>
#include <string.h>
#include <stddef.h>
#include “esp_common.h”
#include “freertos/FreeRTOS.h”
#include “freertos/task.h”
#include “freertos/queue.h”

QueueHandle_t xQueue;

uint32 user_rf_cal_sector_set(void)
{
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;
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;
}

void user_init()
{
xQueue =xQueueCreate(20,2);
}`

The esp-rtos-sdk uses FreeRTOS V7.5.2 from 2013. The current version is (Amazon) FreeRTOS 10, and you are probably looking at the documentation of that latest version.

In this older version the type names are different. QueueHandle_t is xQueueHandle there. I suggest you work out the function and type names by looking directly at the header files.

At Upgrading to FreeRTOS V8 there is also a comparison table what has changed between FreeRTOS 7 and later versions (here V8).

1 Like

Thanks for the help. PlatformIO is great and removes the hassle for setting up the envoirments