Project

General

Profile

Software AreasOfWork » History » Version 11

Anonymous, 02/19/2016 10:49 PM

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 10 laforge
  * we don't want to use FreeRTOS because...
16 4 laforge
  * 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 1 laforge
  * While we only work on the GSM stack, no OS is needed. But as soon as UI comes around, that changes.
19 10 laforge
  * Some of the potential choices could be 
20 11 laforge
   * uKOS-II http://www.ukos.ch/ 
21
   * Erika OSEK/VDX http://erika.tuxfamily.org/wiki/index.php?title=Main_Page 
22
   * ChibiOS/Nil http://www.chibios.org/dokuwiki/doku.php
23 1 laforge
24
=== Development Tools ===
25
 * try to make JTAG (C155) work with OpenOCD
26 7 steve-m
  * steve-m made some experiments, but halting the ARM core only seems to be possible via the undocumented ICEPick unit
27 9 steve-m
  * works now, required sniffing the TI CCS debugger, [wiki:'Hardware/Calypso#JTAGInterface' see here].
28 1 laforge
29
== Host Software ==
30 8 laforge
 * osmocon support for the native ROM loader in the Calypso, the [wiki:Hardware/CalypsoRomloader], like it is found on most non-Compal phones
31 6 steve-m
  * "non-secure" variant (done, steve-m)
32
  * "secure variant" on Calypso/Calypso plus (basic reverse engineering done)
33 1 laforge
34
== Target Software ==
35
36
=== Drivers ===
37
 * charger detection, battery charging (roh)
38
 * SIM card reader (dexter)
39 7 steve-m
 * Color display driver for C155 (done, steve-m)
40 1 laforge
 * backlight driver
41
 * vibrator driver
42 4 laforge
 * buzzer driver for C123
43
 * C155 ringtone chip driver for SPMA100 chip
44 1 laforge
 * Fix the I2C driver to use the b/w LCD without any sleep/delay loops
45 7 steve-m
  * done (sigwinch)
46 1 laforge
47
=== GSM Stuff ===
48
 * TRF6151, TPU, TSP, AGC, AFC (laforge)
49 2 laforge
 * Layer1, particularly the synchronous part (laforge, spaar)
50 4 laforge
 * Layer2 (zecke, laforge)
51
 * Layer3 (eversberg)
52
 * Playing with the Voice part using the dsp misc task (spaar?)
53 1 laforge
54 3 laforge
=== General Infrastructure ===
55 5 laforge
 * Flash-based log-structured filesystem (prom)
56 1 laforge
57
=== Bootloader ===
58
 * Put together a bootloader (prom)
59
 * Define linkage situations (prom)
60
61
=== UI related ===
62
 * proportional fonts in at least two sizes, as small as possible
63 4 laforge
  * monospaced fonts waste too much scarce screen real estate
64 3 laforge
 * cache the frame buffer in RAM and sync when needed
65 4 laforge
  * once we have a scheduler and tasks, run screen refresh as low-priority task
66 3 laforge
 * hardware independent API to support C123, C155 (and later other) displays
67 4 laforge
  * software should not care if it is using color or b/w display
68
 * some kind of fixed screen layout masks, where
69
  * a data structure defines a screen mask
70
  * the application can easily update the content without having to deal with formatting/positioning
71
 * UI widgets like
72
  * lists that can be scrolled through
73
  * menus build of a tree of such lists
Add picture from clipboard (Maximum size: 48.8 MB)