I want to make an RTOS for 8051 and very confused as what minimum requirements should be followed to make an OS in 8051 as 8051 has very limitted resources in case of RAM and ROM. It is just and assignment type problem but i am really confused as we make softwares for 8051 are they not an OS? which features differenciate a normal regular coding of micro controller from RTOS? please help thanks
相关问题
- Why should we check WIFEXITED after wait in order
- Linux kernel behaviour on heap overrun or stack ov
- Disabling interrupt in interrupt handler STM32F407
- Is there a difference between an ISR and an interr
- Serving static html files using DefaultServlet on
相关文章
- What happens to dynamic allocated memory when call
- infinite abort() in a backrace of a c++ program co
- Difference between arm-none-eabi and arm-linux-gnu
- Decode Base64 string to byte array
- Problem with time() function in embedded applicati
- How can the linux bottom halfs execute in interrup
- How is copy paste possible?
- How to generate directory size recursively in pyth
An typical RTOS provides at least the following:
An RTOS scheduler is typically priority-based and pre-emptive - the highest priority task that is ready to run will run, regardless of the state of lower priority tasks.
There is a presentation by Jack Ganssle on RTOS Fundamentals on TechOnline that may be of use to you. It is sponsored by Micrium and uses uC/OS-II as a case study, but it generally applicable for the most part.
The 8051 in particular is capable of particularly efficient task context switching due to its multiple register banks, switchable with a single instruction.
The functionality of an RTOS are largely guided by its ability to execute a particular work-load in a deterministic and timely manner. These usually include threading, synchronisation operations and a scheduler with a specialised algorithm designed to execute threads in a deterministic fashion.
Implementing this in a 8051 is going to be a tall-order (and perhaps even impossible due to the hardware architecture of the processor). A more common approach on uCs of this class is to use a Cyclic Executive and the priority nesting of interrupt handlers to enforce the priority of execution. You could consider this approach to be an RTOS of sorts.