Discuss here different C compiler set ups, and compiling executables for the ESP8266

User avatar
By ivanroberto
#27643 Hi Cherts,

I am developing a product using the SDK RTOS.
According to the documentation 20A, it is no longer needed using and enjoying ICACHE_FLASH_ATTR before each function so that they are in IROM memory region.
However I noticed that after the last update (ESP_IOT_RTOS_SDK_V1.1.0_15_08_21) all functions are being allocated in IRAM memory even if you add ICACHE_FLASH_ATTR before each function.

So my code no longer fits on it...

Could you help me?
User avatar
By CHERTS
#28049
ivanroberto wrote:Hi Cherts,

I am developing a product using the SDK RTOS.
According to the documentation 20A, it is no longer needed using and enjoying ICACHE_FLASH_ATTR before each function so that they are in IROM memory region.
However I noticed that after the last update (ESP_IOT_RTOS_SDK_V1.1.0_15_08_21) all functions are being allocated in IRAM memory even if you add ICACHE_FLASH_ATTR before each function.

So my code no longer fits on it...

Could you help me?


Sorry, but I do not use in their projects SDK RTOS, so I can not help.
User avatar
By mav
#29018
ivanroberto wrote:Hi Cherts,

I am developing a product using the SDK RTOS.
According to the documentation 20A, it is no longer needed using and enjoying ICACHE_FLASH_ATTR before each function so that they are in IROM memory region.
However I noticed that after the last update (ESP_IOT_RTOS_SDK_V1.1.0_15_08_21) all functions are being allocated in IRAM memory even if you add ICACHE_FLASH_ATTR before each function.

So my code no longer fits on it...

Could you help me?


I ran into the same problem. Modify

C:\Espressif\ESP8266_RTOS_SDK\include\espressif\c_types.h

line 77 from:

#define ICACHE_FLASH_ATTR

to:

#define ICACHE_FLASH_ATTR __attribute__((section(".irom0.text")))

I don't know why they decided you don't need this anymore...