osmocom-bb/src
Harald Welte 82d8370f62 layer23: fix unaligned store in osmo_send_l1()
This fixes the following alignment issue uncovered by asan:

l1l2_interface.c:169:7: runtime error: store to misaligned address 0x61600001ab99 for type 'uint16_t', which requires 2 byte alignment
0x61600001ab99: note: pointer points here
 00 00 00  00 00 00 06 0a 01 19 19  40 18 00 07 00 01 03 49  06 15 00 40 01 c0 00 00  00 00 00 00 00
              ^

Change-Id: Ie65b428107d35bac99bc870fdbc4dc509ca2f33c
2018-08-11 12:59:30 +00:00
..
host layer23: fix unaligned store in osmo_send_l1() 2018-08-11 12:59:30 +00:00
shared vty: skip installing cmds now always installed by default 2017-11-09 01:14:49 +00:00
target trx_toolkit/fake_trx: introduce basic path loss simulation 2018-08-02 05:30:49 +07:00
target_dsp Drop unused imports from the python utilities. 2012-10-01 03:21:53 +02:00
Makefile Merge 'fixeria/trx' into master 2018-04-07 19:35:24 +02:00
README.building README.building: cosmetic: correct wiki links 2018-05-20 15:34:16 +03:00
README.development README.development: add brief info about the TRX Toolkit 2018-05-20 15:46:20 +03:00

README.development

= 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 git://git.osmocom.org/libosmocore.git, 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.