XMOS FreeRTOS port documentation? Plus some questions
Posted: Wed Apr 08, 2020 10:01 am
I see https://github.com/xmos/FreeRTOS pointing to several FreeRTOS documents.
I have not found any design/implementation XMOS documents.
It's possible to delve into the code, fair enough, but I would like something more high level.
If my questions below are easy to find out about for myself, then please tell me how. Install a port? I did try but it stopped up for me (here).
Something I am curious about:
Does everything FreeRTOS run on one logical thread? Scheduler and FreeRTOS libraries? (I infer that they do from lib_rtos_support). In xTimeComposer main, will then the FreeRTOS port and FreeRTOS user code then be par'ed on one core?
I think that SafeRTOS and OpenRTOS are related to FreeRTOS(?) I see that preemptive and cooperative scheduling has been discussed in those arenas [1]. How does the XMOS FreeRTOS port do scheduling?
I see that lib_i2c exists, unmodified from two years ago. So it may be used, par'ed on another logical thread.
Plus all my user code, old and new, running on other cores?
I assume that since FreeRTOS source must relate to interrupt, those may be connected to ports or chanends? Or interface calls? In other words, FreeRTOS code may block on standard XC?
Does FreeRTOS have dynamic updating of individual drivers/tasks, like Erlang?
[1] My SafeRTOS notes (started 2016)
I have not found any design/implementation XMOS documents.
It's possible to delve into the code, fair enough, but I would like something more high level.
If my questions below are easy to find out about for myself, then please tell me how. Install a port? I did try but it stopped up for me (here).
Something I am curious about:
Does everything FreeRTOS run on one logical thread? Scheduler and FreeRTOS libraries? (I infer that they do from lib_rtos_support). In xTimeComposer main, will then the FreeRTOS port and FreeRTOS user code then be par'ed on one core?
I think that SafeRTOS and OpenRTOS are related to FreeRTOS(?) I see that preemptive and cooperative scheduling has been discussed in those arenas [1]. How does the XMOS FreeRTOS port do scheduling?
I see that lib_i2c exists, unmodified from two years ago. So it may be used, par'ed on another logical thread.
Plus all my user code, old and new, running on other cores?
I assume that since FreeRTOS source must relate to interrupt, those may be connected to ports or chanends? Or interface calls? In other words, FreeRTOS code may block on standard XC?
Does FreeRTOS have dynamic updating of individual drivers/tasks, like Erlang?
[1] My SafeRTOS notes (started 2016)