Project

General

Profile

Software AreasOfWork » History » Version 13

fixeria, 01/21/2019 04:31 AM

1 12 laforge
h1. Areas of Work
2
3 4 laforge
This page lists the various areas of the project that require some work, and who (if at all) is
4 1 laforge
working on fixing it.
5
6
7 12 laforge
h2. Infrastructure
8 1 laforge
9
10
11 12 laforge
h3. Build System
12 1 laforge
13 12 laforge
* we need a clean/known base as a compiler
14
** At the moment, we're mostly using the 4.0.2 release from gnuarm.com, which is fairly old
15
* independence of system-provided header files 
16
** We should be mostly there now.  But testing this and verifying our independence of system headers would be great
17 1 laforge
18
19 12 laforge
h3. Operating System
20 1 laforge
21 12 laforge
* Decide which RTOS to use on the Calypso
22
** we don't want to use [[FreeRTOS]] because...
23
** OS should have clear abstraction of core (ARM7TDM), SoC and board level features
24
** OS should cleanly compile to a library that we can link with all our other code
25
** While we only work on the GSM stack, no OS is needed. But as soon as UI comes around, that changes.
26
** Some of the potential choices could be 
27
*** uKOS-II http://www.ukos.ch/ 
28
*** Erika OSEK/VDX http://erika.tuxfamily.org/wiki/index.php?title=Main_Page 
29
*** [[ChibiOS]]/Nil http://www.chibios.org/dokuwiki/doku.php
30 1 laforge
31
32 12 laforge
h3. Development Tools
33
34
* try to make JTAG (C155) work with [[OpenOCD]]
35
** steve-m made some experiments, but halting the ARM core only seems to be possible via the undocumented ICEPick unit
36
** works now, required sniffing the TI CCS debugger, [['HardwareCalypso#JTAGInterface'|see here]].
37
38
39
h2. Host Software
40
41
* osmocon support for the native ROM loader in the Calypso, the [[HardwareCalypsoRomloader]], like it is found on most non-Compal phones
42
** "non-secure" variant (done, steve-m)
43
** "secure variant" on Calypso/Calypso plus (basic reverse engineering done)
44
45
46
h2. Target Software
47
48 1 laforge
h3. Drivers
49
50 13 fixeria
* (DONE) Fix the I2C driver to use the b/w LCD without any sleep/delay loops (sigwinch)
51
* (DONE) charger detection, battery charging (roh)
52
* (DONE) SIM card reader (dexter)
53
* (DONE) Color display driver for C155 (steve-m)
54
* (DONE) buzzer driver for C123
55
* (DONE) backlight driver
56 12 laforge
* C155 ringtone chip driver for SPMA100 chip
57 13 fixeria
* vibrator driver
58 12 laforge
59
h3. GSM Stuff
60
61
* TRF6151, TPU, TSP, AGC, AFC (laforge)
62
* Layer1, particularly the synchronous part (laforge, spaar)
63
* Layer2 (zecke, laforge)
64
* Layer3 (eversberg)
65
* Playing with the Voice part using the dsp misc task (spaar?)
66
67
68
h3. General Infrastructure
69
70
* Flash-based log-structured filesystem (prom)
71
72
73
h3. Bootloader
74
75
* Put together a bootloader (prom)
76
* Define linkage situations (prom)
77
78
79
h3. UI related
80
81
* proportional fonts in at least two sizes, as small as possible
82
** monospaced fonts waste too much scarce screen real estate
83
* cache the frame buffer in RAM and sync when needed
84
** once we have a scheduler and tasks, run screen refresh as low-priority task
85
* hardware independent API to support C123, C155 (and later other) displays
86
** software should not care if it is using color or b/w display
87
* some kind of fixed screen layout masks, where
88
** a data structure defines a screen mask
89
** the application can easily update the content without having to deal with formatting/positioning
90
* UI widgets like
91
** lists that can be scrolled through
92
** menus build of a tree of such lists
Add picture from clipboard (Maximum size: 48.8 MB)