Hidden/disabled FreeRTOSConfig.h options

ammaree
Posts: 39
Joined: Tue Dec 27, 2016 2:10 am

Hidden/disabled FreeRTOSConfig.h options

Postby ammaree » Sun Feb 26, 2017 9:42 pm

With the kconfig frontend as the primary mechanism to change esp-idf configuration, a number of options/parameters have become unavailable. Some examples are:

configNUM_THREAD_LOCAL_STORAGE_POINTERS, implemented but cannot set 0

configGENERATE_RUN_TIME_STATS / configMAX_TASK_NAME_LEN / configUSE_TRACE_FACILITY. not available

Any specific reason why these options are not configurable ?

ESP_Angus
Posts: 2344
Joined: Sun May 08, 2016 4:11 am

Re: Hidden/disabled FreeRTOSConfig.h options

Postby ESP_Angus » Sun Feb 26, 2017 11:47 pm

Hi ammaree,

The reasons vary, but generally if there's an option you'd like to enable via kconfig then we're keen to add it.

The exception is if there's a feature that is required to be set a certain way for ESP-IDF to work, or if there's a feature that hasn't been sufficiently tested for us to support it along with the SMP modifications for dual core support.

There is also the possibility that some FreeRTOS compile-time config options may require the WiFi/BT libraries to be recompiled, although I think we've taken care of most of these already.

Making feature requests, or (even better) sending Github Pull Requests that expose these options is a very welcome start.
ammaree wrote: configNUM_THREAD_LOCAL_STORAGE_POINTERS, implemented but cannot set 0
There's a comment about this in the Help for the config item ('?' key when the option is highlighted).

It mentions that you can set this value to zero if Wifi is disabled. The reason is that thread-local storage is used by the LWIP TCP/IP stack. We need to modify this now we have the ethernet stack, as it has to be non-zero in that case also.
ammaree wrote: configGENERATE_RUN_TIME_STATS
I think that this has probably not been tested in SMP mode, but it looks like it should be possible to support.

EDIT: Reading back runtime stats relies on uxTaskGetSystemState(), which has not been tested with SMP support.
ammaree wrote: configMAX_TASK_NAME_LEN
I think this could be exposed now.
ammaree wrote: configUSE_TRACE_FACILITY
ESP_Sprite will know better than me, but I think this feature may need some development work before it's usable in SMP mode.

ESP_Sprite
Posts: 9577
Joined: Thu Nov 26, 2015 4:08 am

Re: Hidden/disabled FreeRTOSConfig.h options

Postby ESP_Sprite » Mon Feb 27, 2017 1:21 am

I think Angus stated it very well: aside from the thread local pointers option, these options haven't been implemented because we didn't hear of anyone who needed them yet. It seems like most of these are fairly trivial to enable / make into an option: if you either create a Github issue requesting them or a pull request adding them into esp-idf, I'll be happy to include/merge them for you.

Who is online

Users browsing this forum: No registered users and 251 guests