tinySA/todo.txt

59 lines
2.0 KiB
Plaintext
Raw Normal View History

After 1.0.0:
X Improve makefiles by adding an options head section and making it shared.
* Queues macros should not refer to the semaphore counters directly.
* Priority ordering option for semaphores.
* chSysLock() and chSysUnlock() with counter (option).
* OSEK-style chSysSuspendAll()/chSysResumeAll()/chSysEnable()/chSysDisable(),
implemented this as the new Suspended and Disabled states in 1.1.
* Mailboxes subsystem (lwIP requires them).
* Multiple debug switches.
X Stack checks option.
* Threads profiling option.
* Idle loop hook macro.
* Switch the configuration options to TRUE/FALSE rather than def/undef.
After 1.2.0:
- Threads Pools manager in the library.
- New chThdCreate() that takes just two parameters, a pointer to a thread
descriptor and the tread parameter. It could wrap the current variants
or just be an alternative.
- Minimal optional C-runtime library (complete enough for lwIP).
- OSEK-style simple tasks within the idle thread.
- Think to something for threads restart.
- Multiple heaps, disjoint heaps, heaps in heaps.
- Abstract I/O channels rather than just serial ports.
- Move the serial drivers implementations in library al keep the I/O channel
interface as part of the kernel. Better keep the core as compact as
possible.
- Update C++ wrapper (Heap, Pools, Mailboxes and any new feature).
Ideas for 2.x.x:
- Reference counter for threads, concept of detached threads, threads
management.
- Think to the high resolution timers and tickless kernel.
- Multicore support.
Side projects:
X lwIP TCP/IP stack integration and demo.
X FatFS library integration and demo.
X ChibiOS Wizard, UML modeling and ChibiOS applications code and
documentation generator.
X OSEK layer.
- Posix layer.
X File System
- Visual debugger interfaced to OpenOCD.
- Objects registry.
Lower priority:
- More demos
- More ARM ports
- PIC24 port
- Microblaze port
- PowerPC port
- Coldfire port
- H8 port
- - Planned.
X - In progress
* - Done