osmocom-bb/src/README.development

87 lines
3.0 KiB
Plaintext

= Contributing to OsmocomBB development =
Feel free to help us by extending the code. Always make sure to
send back all your patches to Gerrit (recommended) or to the
baseband-devel@lists.osmocom.org mailing list - Free Software
is all about sharing. For details, see:
https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit
https://gerrit.osmocom.org/
== Coding Style ==
Like all C language Osmocom projects, we use the Linux Kernel coding
style, you can find it in the Documentation/CodingStyle subdirectory
of any Linux Kernel source. For details, see:
https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards
== More Information ==
Please consult the https://osmocom.org/projects/baseband/wiki/.
If you have any technical questions regarding the code, don't hesitate
to ask the baseband-devel@lists.osmocom.org mailing list.
== subdirectories containing libraries and code ==
=== src/shared/libosmocore ===
This is a library of various utility routines, including linked lists,
message buffers, bit-vectors, memory allocator, signals, select loop
handling, timers - as well as some more specifically GSM related things
like a TLV parser, a Comp128V1 implementation and utility functions for
RSL (TS 08.58) and CC/MM/RR (TS 04.08).
libosmocore is maintained in https://gitea.osmocom.org/osmocom/libosmocore, so
DO NOT DIRECTLY COMMIT TO libosmocore IN THIS REPOSITORY!
We simply maintain a copy (synchronized by git-subtree) in this
repository for the ease of building and to make sure everyone is using
the proper/compatible version of libosmocore
Please note, whatever you add to libosmocore will need to build as a
Linux userspace program (using glibc) just as well as on the OsmocomBB
embedded target without OS. So please refrain from using fancy
functions.
=== src/target/firmware ===
The firmware is what we build for the actual target (phone). It was
written with some idea of modularity in mind, i.e. we have
* Ti Calypso specific code in calypso/
* Analog Baseband code in abb/
* RF Mixer code in rf/
* Layer1 code in layer1/
* NOR flash handling in flash/
* LCD display handling in display/
* minimal C-Library code in lib/
* communications utility routines in comm/
* Board (phone model/family) specific code in board/
* board/compal_e88 is the Motorola C115-C124 family
* board/compal_e99 is the Motorola C155 family
* Applications (each app builds one firmware image) in apps/
=== src/target/trx_toolkit ===
A set of tools in Python for debugging TRX interface and creating
a virtual Um-interface between OsmocomBB and OsmoBTS. For details,
please refer:
https://osmocom.org/projects/baseband/wiki/TRX_Interface
https://osmocom.org/projects/baseband/wiki/FakeTRX
target/trx_toolkit/README
=== src/target_dsp/calypso ===
This is where we keep some (assembly) code that we wrote for
the DSP that is part of the Calypso DBB.
=== src/host/layer23 ===
The Layer2 (LAPDm / TS 04.06) and Layer3 (CC/MM/RR / TS 04.08)
implementations, as they are growing.