-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprj.conf
More file actions
105 lines (80 loc) · 3.35 KB
/
prj.conf
File metadata and controls
105 lines (80 loc) · 3.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# Copyright (c) 2024 Semtech Corporation
# SPDX-License-Identifier: Apache-2.0
# --------------------------- General configuration ---------------------------
CONFIG_SPEED_OPTIMIZATIONS=y # -O2 ou -O3
CONFIG_SIZE_OPTIMIZATIONS=n # Vitesse > taille
CONFIG_DCACHE=y
CONFIG_ICACHE=y
CONFIG_USE_SEGGER_RTT=n
# heap size
CONFIG_HEAP_MEM_POOL_SIZE=20480
CONFIG_LOG=y
CONFIG_LOG_BUFFER_SIZE=4096
CONFIG_TEST_RANDOM_GENERATOR=y
CONFIG_PM_DEVICE=y
CONFIG_WATCHDOG=n
CONFIG_FLASH=y
# ------------------------------ Transceiver driver ----------------------------
CONFIG_LORA_BASICS_MODEM_DRIVERS=y
CONFIG_LORA_BASICS_MODEM_DRIVERS_EVENT_TRIGGER_GLOBAL_THREAD=n
CONFIG_LORA_BASICS_MODEM_DRIVERS_EVENT_TRIGGER_NO_THREAD=y
# ------------------------------ USP -----------------------------
CONFIG_USP=y
CONFIG_USP_MAIN_THREAD=y
#CONFIG_USP_LOG_LEVEL_DBG=y
#CONFIG_USP_LOG_VERBOSE=n
# no picolibc (Windows issue)
CONFIG_PICOLIBC_USE_MODULE=n
CONFIG_NEWLIB_LIBC=y
CONFIG_MAIN_STACK_SIZE=4096
CONFIG_STACK_SENTINEL=y
# Debug stack (à enlever en production)
CONFIG_THREAD_STACK_INFO=y
CONFIG_STACK_SENTINEL=y
CONFIG_THREAD_MONITOR=y
CONFIG_THREAD_NAME=y
# Threads are cooperative (non-preemptive) to simplify critical section management and avoid complex synchronization.
# This approach may reduce reactivity when ISR (interrupt service routines) are triggered (low optimization)
# The USP RAC thread is assigned a higher priority: it will execute immediately once the Main thread yields or blocks, ensuring prompt handling of USP RAC-related tasks.
# The Main thread has a lower priority: it runs only when the USP RAC thread is idle or waiting
CONFIG_MAIN_THREAD_PRIORITY=-2
CONFIG_USP_MAIN_THREAD_PRIORITY=-4
# Threads are preemptive: a thread with a higher priority can interrupt (preempt) a lower priority thread at any time.
# USP RAC thread has higher priority (1): it will preempt the main thread immediately whenever it is ready to run (ISR/Timer), ensuring low latency and fast response for USP RAC-related tasks.
# Main thread has lower priority (3): it runs only when the USP RAC thread is not active, yielding CPU time to the more urgent USP RAC operations automatically.
# This priority scheme allows responsive multitasking with guaranteed preemption based on thread priority.
# CONFIG_MAIN_THREAD_PRIORITY=3
# CONFIG_USP_MAIN_THREAD_PRIORITY=1
# CONFIG_USP_THREADS_MUTEXES=y
#
# Priority Inversion : In case of multiple threads with different priorities, consider the modification of existing priorities and mutex use, or use Zephyr capabilities :
# CONFIG_KERNEL_MEM_POOL=y
# CONFIG_MUTEX_PRIORITY_INHERITANCE=y
# CONFIG_PRIORITY_CEILING=y
# Only one thread
# CONFIG_USP_MAIN_THREAD_PRIORITY=0
# Stack trace automatique
CONFIG_DEBUG_THREAD_INFO=y
CONFIG_DEBUG_OPTIMIZATIONS=y
# Meilleure trace des exceptions
CONFIG_EXTRA_EXCEPTION_INFO=y
CONFIG_FAULT_DUMP=2
CONFIG_SSD1306=y
CONFIG_DISPLAY=y
CONFIG_CHARACTER_FRAMEBUFFER=y
CONFIG_DISPLAY_LOG_LEVEL_ERR=y
CONFIG_LVGL=y
CONFIG_LV_Z_MEM_POOL_SIZE=8192
CONFIG_LV_Z_VDB_SIZE=64
CONFIG_LV_DPI_DEF=148
CONFIG_LV_Z_BITS_PER_PIXEL=1
CONFIG_LV_COLOR_DEPTH_1=y
CONFIG_LV_USE_LOG=y
CONFIG_LV_USE_LABEL=y
CONFIG_LV_USE_ARC=y
CONFIG_LV_USE_MONKEY=y
CONFIG_LV_USE_IMAGE=y
# It might cause an error if the "CONFIG_LV_USE_THEME_DEFAULT=y" is set when using Zephyr > V4.0
CONFIG_LV_USE_THEME_SIMPLE=y
CONFIG_LV_USE_THEME_MONO=n
# CONFIG_RECEIVER=y