Project

General

Profile

Software AreasOfWork » History » Version 6

steve-m, 02/19/2016 10:49 PM
update status on the CalypsoRomloader

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