OsmocomBB Firmware » History » Version 16
fixeria, 01/21/2019 02:38 AM
1 | 1 | h1. Background |
|
---|---|---|---|
2 | 10 | fixeria | |
3 | {{>toc}} |
||
4 | 8 | jolly | |
5 | The [[OsmocomBB]] source code comes with several applications for various purposes. |
||
6 | 2 | nion | Those applications can be devided into two separate classes, applications: |
7 | 8 | jolly | * running on the baseband chip of the phone |
8 | * running on a PC, communicating with the baseband firmware over serial |
||
9 | 2 | nion | |
10 | 3 | nion | Applications running on the PC can further be partitioned into: |
11 | 8 | jolly | * Firmware management software (loading, flashing, ...) |
12 | * GSM Layer 2/3 applications |
||
13 | 1 | ||
14 | The following will provide you a rough overview of the most commonly used software pieces. |
||
15 | |||
16 | |||
17 | |||
18 | |||
19 | 8 | jolly | h1. Baseband firmware |
20 | |||
21 | |||
22 | 1 | Binary location: src/target/firmware/board/*/*.bin |
|
23 | Source locations: src/target/firmware/, particularly apps and layer1 |
||
24 | |||
25 | |||
26 | 8 | jolly | h2. layer1 |
27 | |||
28 | [[layer1bin]] is a simple GSM layer 1 proxy, communicating over the [[L1A_L23_Interface]]. |
||
29 | |||
30 | 5 | nion | This allows you to run a full-blown GSM implementation on your host machine, communicating through the phones radio interface. |
31 | |||
32 | 1 | ||
33 | 8 | jolly | h2. loader |
34 | 1 | ||
35 | 8 | jolly | [[loaderbin]] is our flash loader, dumper and second stage bootloader |
36 | |||
37 | 11 | fixeria | h2. l1test (deprecated) |
38 | 8 | jolly | |
39 | 1 | Layer 1 development application. |
|
40 | |||
41 | This application does what layer1 does, but automatically tunes to the strongest ARFCN it can find. |
||
42 | |||
43 | It can be used for stand-alone-testing of the phones radio. |
||
44 | |||
45 | 8 | jolly | h2. compal_dsp_dump |
46 | |||
47 | |||
48 | 1 | Application for dumping the contents of the DSP in the Calypso chip. |
|
49 | |||
50 | 12 | fixeria | h2. compal_dumper (deprecated) |
51 | 1 | ||
52 | 13 | fixeria | The old Compal device dumper. Use compal_dsp_dump instead. |
53 | 8 | jolly | |
54 | h2. hello_world |
||
55 | |||
56 | |||
57 | 1 | The initial obligatory "Hello, world!" application. |
|
58 | |||
59 | 7 | jolly | Currently, this does more than say hello. Intended as a template for new applications. |
60 | 1 | ||
61 | |||
62 | 8 | jolly | h2. menu |
63 | 1 | ||
64 | |||
65 | 8 | jolly | Boot menu application to select and load apps that are stored in flash memory. See [[flashing_new]]. |
66 | |||
67 | h2. rssi |
||
68 | 1 | ||
69 | 15 | fixeria | The [[Rssibin]] can be used to monitor the received signal indication (RSSI) of ARFCNs or the entire spectrum. |
70 | 1 | ||
71 | 8 | jolly | h2. EMI |
72 | 1 | ||
73 | |||
74 | 8 | jolly | The EMI (electro magnetic interference) simulator application can be used to generate RF interference caused by GSM networks an mobile station. See [[emi-firmware]]. |
75 | 1 | ||
76 | 8 | jolly | |
77 | |||
78 | |||
79 | h1. Firmware management software |
||
80 | |||
81 | 1 | Location (source and binary): src/host/osmocon |
|
82 | |||
83 | 2 | nion | |
84 | 8 | jolly | h2. osmocon |
85 | |||
86 | [[osmocon]] is a console tool for interfacing our baseband firmware on the phone with applications on the host PC. |
||
87 | |||
88 | 2 | nion | It is responsible for downloading a baseband firmware or bootloader into the phone and relay communication between Layer 3 applications and baseband firmwares over serial. |
89 | |||
90 | 1 | ||
91 | 8 | jolly | h2. osmoload |
92 | 1 | ||
93 | 8 | jolly | [[osmoload]] is used to write, dump and examine flash memory of supported phones. |
94 | 1 | ||
95 | 8 | jolly | You will need this program for example if you intent [[flashing]] an application to the phone (the software is usually loaded into RAM). |
96 | 1 | ||
97 | 2 | nion | |
98 | 8 | jolly | h2. calypso_pll |
99 | |||
100 | The [[calypso_pll]] tool can be used to calculate Calypso DPLL multiplier+divider. |
||
101 | |||
102 | |||
103 | h2. rita_pll |
||
104 | |||
105 | The [[rita_pll]] tool can be used to calculate the Rita PLL multiplier/divider. |