aboutsummaryrefslogtreecommitdiffstats
path: root/todo.txt
blob: 42de67a75df7bfc601a601adca688a37e7234f2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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.
  - Registers clearing on thread start.
* 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.
- Find out and document main stack settings in MSP430 and AVR runtimes.
- Logo...

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:
- 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/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