Software AreasOfWork » History » Version 9
steve-m, 02/19/2016 10:49 PM
update JTAG status
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 | 7 | steve-m | * steve-m made some experiments, but halting the ARM core only seems to be possible via the undocumented ICEPick unit |
23 | 9 | steve-m | * works now, required sniffing the TI CCS debugger, [wiki:'Hardware/Calypso#JTAGInterface' see here]. |
24 | 1 | laforge | |
25 | == Host Software == |
||
26 | 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 |
27 | 6 | steve-m | * "non-secure" variant (done, steve-m) |
28 | * "secure variant" on Calypso/Calypso plus (basic reverse engineering done) |
||
29 | 1 | laforge | |
30 | == Target Software == |
||
31 | |||
32 | === Drivers === |
||
33 | * charger detection, battery charging (roh) |
||
34 | * SIM card reader (dexter) |
||
35 | 7 | steve-m | * Color display driver for C155 (done, steve-m) |
36 | 1 | laforge | * backlight driver |
37 | * vibrator driver |
||
38 | 4 | laforge | * buzzer driver for C123 |
39 | * C155 ringtone chip driver for SPMA100 chip |
||
40 | 1 | laforge | * Fix the I2C driver to use the b/w LCD without any sleep/delay loops |
41 | 7 | steve-m | * done (sigwinch) |
42 | 1 | laforge | |
43 | === GSM Stuff === |
||
44 | * TRF6151, TPU, TSP, AGC, AFC (laforge) |
||
45 | 2 | laforge | * Layer1, particularly the synchronous part (laforge, spaar) |
46 | 4 | laforge | * Layer2 (zecke, laforge) |
47 | * Layer3 (eversberg) |
||
48 | * Playing with the Voice part using the dsp misc task (spaar?) |
||
49 | 1 | laforge | |
50 | 3 | laforge | === General Infrastructure === |
51 | 5 | laforge | * Flash-based log-structured filesystem (prom) |
52 | 1 | laforge | |
53 | === Bootloader === |
||
54 | * Put together a bootloader (prom) |
||
55 | * Define linkage situations (prom) |
||
56 | |||
57 | === UI related === |
||
58 | * proportional fonts in at least two sizes, as small as possible |
||
59 | 4 | laforge | * monospaced fonts waste too much scarce screen real estate |
60 | 3 | laforge | * cache the frame buffer in RAM and sync when needed |
61 | 4 | laforge | * once we have a scheduler and tasks, run screen refresh as low-priority task |
62 | 3 | laforge | * hardware independent API to support C123, C155 (and later other) displays |
63 | 4 | laforge | * software should not care if it is using color or b/w display |
64 | * some kind of fixed screen layout masks, where |
||
65 | * a data structure defines a screen mask |
||
66 | * the application can easily update the content without having to deal with formatting/positioning |
||
67 | * UI widgets like |
||
68 | * lists that can be scrolled through |
||
69 | * menus build of a tree of such lists |