Difference between revisions of "Nrf modem library notes"
Jump to navigation
Jump to search
(Starting notes page on Nordic LTE modem libraries.) |
m |
||
| Line 3: | Line 3: | ||
vi /home/cpguest/embedded/ncs/v1.6.1/nrf/lib/nrf_modem_lib/nrf_modem_lib.c | vi /home/cpguest/embedded/ncs/v1.6.1/nrf/lib/nrf_modem_lib/nrf_modem_lib.c | ||
| + | <pre> | ||
| + | 1 /* | ||
| + | 2 * Copyright (c) 2019 Nordic Semiconductor ASA | ||
| + | 3 * | ||
| + | 4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
| + | 5 */ | ||
| + | 6 | ||
| + | 7 #include <init.h> | ||
| + | 8 #include <device.h> | ||
| + | 9 #include <zephyr.h> | ||
| + | 10 #include <zephyr/types.h> | ||
| + | 11 #include <nrfx_ipc.h> | ||
| + | 12 #include <nrf_modem.h> | ||
| + | 13 #include <nrf_modem_platform.h> | ||
| + | 14 #include <pm_config.h> | ||
| + | 15 | ||
| + | 16 #ifdef CONFIG_LTE_LINK_CONTROL | ||
| + | 17 #include <modem/lte_lc.h> | ||
| + | 18 #endif | ||
| + | 19 | ||
| + | 20 #ifndef CONFIG_TRUSTED_EXECUTION_NONSECURE | ||
| + | 21 #error nrf_modem_lib must be run as non-secure firmware.\ | ||
| + | 22 Are you building for the correct board ? | ||
| + | 23 #endif | ||
| + | 24 | ||
| + | 25 struct shutdown_thread { | ||
| + | 26 sys_snode_t node; | ||
| + | 27 struct k_sem sem; | ||
| + | 28 }; | ||
| + | 29 | ||
| + | 30 static sys_slist_t shutdown_threads; | ||
| + | 31 static bool first_time_init; | ||
| + | 32 static struct k_mutex slist_mutex; | ||
| + | 33 | ||
| + | 34 static int init_ret; | ||
| + | 35 | ||
| + | 36 static const nrf_modem_init_params_t init_params = { | ||
| + | 37 .ipc_irq_prio = NRF_MODEM_NETWORK_IRQ_PRIORITY, | ||
| + | 38 .shmem.ctrl = { | ||
| + | 39 .base = PM_NRF_MODEM_LIB_CTRL_ADDRESS, | ||
| + | 40 .size = CONFIG_NRF_MODEM_LIB_SHMEM_CTRL_SIZE, | ||
| + | 41 }, | ||
| + | 42 .shmem.tx = { | ||
| + | 43 .base = PM_NRF_MODEM_LIB_TX_ADDRESS, | ||
| + | 44 .size = CONFIG_NRF_MODEM_LIB_SHMEM_TX_SIZE, | ||
| + | 45 }, | ||
| + | 46 .shmem.rx = { | ||
| + | 47 .base = PM_NRF_MODEM_LIB_RX_ADDRESS, | ||
| + | 48 .size = CONFIG_NRF_MODEM_LIB_SHMEM_RX_SIZE, | ||
| + | 49 }, | ||
| + | 50 #if CONFIG_NRF_MODEM_LIB_TRACE_ENABLED | ||
| + | 51 .shmem.trace = { | ||
| + | 52 .base = PM_NRF_MODEM_LIB_TRACE_ADDRESS, | ||
| + | 53 .size = CONFIG_NRF_MODEM_LIB_SHMEM_TRACE_SIZE, | ||
| + | 54 }, | ||
| + | 55 #endif | ||
| + | 56 }; | ||
| + | . | ||
| + | . | ||
| + | . | ||
| + | </pre> | ||
| − | + | <!-- comment --> | |
Latest revision as of 20:27, 13 September 2021
Friday 9/10 we were looking into Nordic nRF modem library files, as these are a part of pretty much all radio and LTE modem based Nordic sample apps. A first file of interest is:
vi /home/cpguest/embedded/ncs/v1.6.1/nrf/lib/nrf_modem_lib/nrf_modem_lib.c
1 /*
2 * Copyright (c) 2019 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5 */
6
7 #include <init.h>
8 #include <device.h>
9 #include <zephyr.h>
10 #include <zephyr/types.h>
11 #include <nrfx_ipc.h>
12 #include <nrf_modem.h>
13 #include <nrf_modem_platform.h>
14 #include <pm_config.h>
15
16 #ifdef CONFIG_LTE_LINK_CONTROL
17 #include <modem/lte_lc.h>
18 #endif
19
20 #ifndef CONFIG_TRUSTED_EXECUTION_NONSECURE
21 #error nrf_modem_lib must be run as non-secure firmware.\
22 Are you building for the correct board ?
23 #endif
24
25 struct shutdown_thread {
26 sys_snode_t node;
27 struct k_sem sem;
28 };
29
30 static sys_slist_t shutdown_threads;
31 static bool first_time_init;
32 static struct k_mutex slist_mutex;
33
34 static int init_ret;
35
36 static const nrf_modem_init_params_t init_params = {
37 .ipc_irq_prio = NRF_MODEM_NETWORK_IRQ_PRIORITY,
38 .shmem.ctrl = {
39 .base = PM_NRF_MODEM_LIB_CTRL_ADDRESS,
40 .size = CONFIG_NRF_MODEM_LIB_SHMEM_CTRL_SIZE,
41 },
42 .shmem.tx = {
43 .base = PM_NRF_MODEM_LIB_TX_ADDRESS,
44 .size = CONFIG_NRF_MODEM_LIB_SHMEM_TX_SIZE,
45 },
46 .shmem.rx = {
47 .base = PM_NRF_MODEM_LIB_RX_ADDRESS,
48 .size = CONFIG_NRF_MODEM_LIB_SHMEM_RX_SIZE,
49 },
50 #if CONFIG_NRF_MODEM_LIB_TRACE_ENABLED
51 .shmem.trace = {
52 .base = PM_NRF_MODEM_LIB_TRACE_ADDRESS,
53 .size = CONFIG_NRF_MODEM_LIB_SHMEM_TRACE_SIZE,
54 },
55 #endif
56 };
.
.
.