Merge branch 'master' into testing
[osmocom-bb.git] / src / README.development
1 = Contributing to OsmocomBB development =
2
3 Feel free to help us by extending the code.  Always make sure to
4 send back all your patches to the baseband-devel@lists.osmocom.org
5 mailing list - Free Software is all about sharing.
6
7 == Coding Style ==
8
9 Like all C language Osmocom projects, we use the Linux Kernel coding
10 style, you can find it in the Documentation/CodingStyle subdirectory
11 of any Linux Kernel source.
12
13 == More Information ==
14
15 Please consult the http://bb.osmocom.org/ web page / wiki.
16
17 If you have any technical questions regarding the code, don't hesitate
18 to ask the baseband-devel@lists.osmocom.org mailing list.
19
20 == subdirectories containing libraries and code ==
21
22 === src/shared/libosmocore ===
23
24 This is a library of various utility routines, including linked lists,
25 message buffers, bit-vectors, memory allocator, signals, select loop
26 handling, timers - as well as some more specifically GSM related things
27 like a TLV parser, a Comp128V1 implementation and utility functions for
28 RSL (TS 08.58) and CC/MM/RR (TS 04.08).
29
30 libosmocore is maintained in git://git.osmocom.org/libosmocore.git, so
31
32         DO NOT DIRECTLY COMMIT TO libosmocore IN THIS REPOSITORY!
33
34 We simply maintain a copy (synchronized by git-subtree) in this
35 repository for the ease of building and to make sure everyone is using
36 the proper/compatible version of libosmocore
37
38 Please note, whatever you add to libosmocore will need to build as a
39 Linux userspace program (using glibc) just as well as on the OsmocomBB
40 embedded target without OS.  So please refrain from using fancy
41 functions.
42
43
44 === src/target/firmware ===
45
46 The firmware is what we build for the actual target (phone).  It was
47 written with some idea of modularity in mind, i.e. we have
48
49  * Ti Calypso specific code in calypso/
50  * Analog Baseband code in abb/
51  * RF Mixer code in rf/
52  * Layer1 code in layer1/
53  * NOR flash handling in flash/
54  * LCD display handling in display/
55  * minimal C-Library code in lib/
56  * communications utility routines in comm/
57  * Board (phone model/family) specific code in board/
58    * board/compal_e88 is the Motorola C115-C124 family
59    * board/compal_e99 is the Motorola C155 family
60  * Applications (each app builds one firmware image) in apps/
61
62
63 === src/target_dsp/calypso ===
64
65 This is where we keep some (assembly) code that we wrote for
66 the DSP that is part of the Calypso DBB.
67
68 === src/host/layer23 ===
69
70 The Layer2 (LAPDm / TS 04.06) and Layer3 (CC/MM/RR / TS 04.08)
71 implementations, as they are growing.
72