jnaulet / picortos Goto Github PK
View Code? Open in Web Editor NEWVery small, lightning fast, yet portable RTOS with SMP suppport
License: MIT License
Very small, lightning fast, yet portable RTOS with SMP suppport
License: MIT License
If the tick + period overruns, the function will just yield instead of waiting the correct amount of ticks
Despite the fact picoRTOS is not an interrupt driven system, adding some support can help in some rare cases.
These interrupts should not be out of context, though
It might be a good idea to add support for drivers and a corresponding HAL that would make the system more portable and readily useful for the user
PPC e200 arch directory is kinda messy, find a better one that keeps the selection easy
Add a join function similar to posix pthread_join
Port API scope should be reduced to avoid accidental misuse
All the arch_ functions should be inaccessible to the user except arch_assert eventually
PicoRTOS_tick and picoRTOS_switch_context should be hidden for the same reasons
We want to be able to disable interrupt support in v1.5.x to save on RAM.
We have to find an elegant way of doing it without having to put ifdefs up to the assembly files.
We have to create an eclipse plug-in that can stop the debugger on picoRTOS.tick++ to extract reliable statistics about tasks and display them in a user-friendly way. Help needed here.
Find a way to compute the ratio of CPU running/idling to get an idea of how much CPU power is available.
Make it easy to read with a debugger.
This will probably require a change in the way arch_idle is handled.
Add support for MPU without making picoRTOS look like yet another iteration of UNIX
Add some user friendly interface similar to make menuconfig to allow easy setup of picoRTOS for all platforms.
Lots of challenges here as it should be able to generate a complete package including makefile & cmakefiles that can be used in any environment.
It might be handy to have device description files that would make bringups easier.
The less files dependencies, the better for the user.
Mabe provide include Makefiles (not universal), a smart directory structure or something.
Turn on caches in SMP if required
At the moment these architectures rely on slightly bigger task stacks to handle the scheduler overhead. This is not correct we should swap stacks the way arm and ppc do when under interrupt
HAL should be documented clearly, explaining its role and limitations
stdint, stddef and stdbool are now used all over the place so it doesn't make sense anymore to avoid using them in the scheduler ports.
Using the "fast" types whenever possible would ensure things stay optimal.
The idle task is out of the task list in the core structure.
It is accessed by overrunning the table by 1 and this is seriously misleading IMO.
Add support for PPC e200 FPU (configurable ?)
Coding rules forbid the redefinition of already existing types
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.