ChibiOS/todo.txt

70 lines
2.3 KiB
Plaintext

Status:
? = Not sure if worth the effort or useful at all.
- = Planned.
X = In progress, some work done.
* = Done.
After 1.0.0:
* Improved makefiles with settings section and shared common part.
* 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.
* Split asserts from parameters checks.
* Add checks to all APIs.
* Stack checks option.
* Threads profiling option.
* Idle loop hook macro.
* Switch the configuration options to TRUE/FALSE rather than def/undef.
* Remove port_puts() from all the ports.
* Stack sizes article into the documentation.
* Logo...
* Architecture diagram.
- Code examples into the documentation.
After 1.2.0:
X Abstract I/O channels rather than just serial ports.
- Move the serial drivers implementations in library. Better keep the core
as compact as possible.
- 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.
- Update C++ wrapper (Heap, Pools, Mailboxes and any new feature).
- Think about making threads return void.
Ideas for 2.x.x:
- High resolution timers and tickless kernel.
- Reference counter for threads, concept of detached threads, threads
management.
Ideas for 3.x.x:
- 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/monitor interfaced through OpenOCD.
- Objects registry in the kernel.
Lower priority:
- More demos
- More ARM ports
? PIC24 port
- Microblaze port
- PowerPC port
? Coldfire port
? H8 port