Project

General

Profile

Software AreasOfWork » History » Version 12

Anonymous, 02/19/2016 10:49 PM

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