aboutsummaryrefslogtreecommitdiffstats
path: root/todo.txt
blob: af61fd29ceab7cde808ebbdf100c845dc6b80df5 (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
After 1.0.0:
- Improve makefiles by adding an options head section and making it shared.
- Update C++ wrapper (Heap, Pools).
* 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.
X lwIP TCP/IP stack integration.
  - "Wide Queues" or Mailboxes, lwIP requires them.
- FatFS library integration and demo.
* Multiple debug switches.
  - Stack guard pages.
  - Threads profiling option.
* Idle loop hook macro.
* Switch the configuration options to TRUE/FALSE rather than def/undef.
- 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.

After 1.2.0:
- 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.

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 ChibiOS Wizard, UML modeling and ChibiOS applications code and
  documentation generator.
X OSEK layer.
- Posix layer.
X File System
- Visual debugger interfaced to OpenOCD.

Lower priority:
- More demos
- More ARM ports
- PIC24 port
- Microblaze port
- PowerPC port
- Coldfire port
- H8 port

- - Planned.
X - In progress
* - Done