Commit Graph

10 Commits

Author SHA1 Message Date
Jordan Yates
4a6e478d71 modules: segger: RTT control block alignment
Make the alignment of the RTT control block configurable, defaulting to
16 bytes. The default is chosen as PyOCD fails to discover the control
block if the 16 byte ID array falls across a 32 byte boundary.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-02-06 14:46:20 +01:00
Bryce Wilkins
153331e169 modules: segger: fix typos
Fix typos.

Signed-off-by: Bryce Wilkins <bryce.wilkins@gmail.com>
2024-12-17 23:14:44 +01:00
Krzysztof Chruściński
ca4f2d94f8 Revert "segger: rtt: disable unsupported shell/log features"
This reverts commit c88a9ef272.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-12-11 21:30:19 +01:00
Jordan Yates
60442a221a modules: segger: remove mutex locking
Remove mutex locking in favour of the standard IRQ locking mechanism.
The primary problem with the mutex implementation is that mutex locking
is forbidden in ISR's. This means that any logging from an interrupt
context (e.g. LOG_PANIC in an exception handler), will itself trigger
another assertion due its attempt to use a mutex.

Furthermore, mutexes are a relatively heavyweight locking scheme, which
doesn't necessarily make sense in the context of extremely short locking
periods that would be expected from RTT.

This change aligns Zephyr with the default RTT locking scheme, which
uses interrupt masking to perform access control.

Resolves #79403.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-11-07 11:06:45 -08:00
Giancarlo Stasi
19c67d55b2 debug: tracing: Add Segger RTT init mode configuration
Allows RTT inizialization function to either init Cntrol Block always
or initialize only after checking it it's not already initialized by
another program, typically by a bootloader.

Signed-off-by: Giancarlo Stasi <giancarlo.stasi.co@gmail.com>
2024-08-12 10:14:34 +02:00
Giancarlo Stasi
711ed082a2 debug: tracing: Add Segger RTT linker section options
Allows optionally placing Segger RTT data either in a specific
linker section that is located at RAM start, or in a specific linker
section defined by a memory region in DTS, as third and fourth
alternative to the DTCM section or the default data section.
This is useful to share the fixed address for different programs,
typically bootloader and application, and have seamless logging.

Signed-off-by: Giancarlo Stasi <giancarlo.stasi.co@gmail.com>
2024-08-12 10:14:34 +02:00
Caspar Friedrich
1cfdba997b modules: segger: Add Kconfig option to use CCM for data
SEGGER RTT module supports to use CCM for output data. This add the
necessary Kconfig option (choice).

Signed-off-by: Caspar Friedrich <c.s.w.friedrich@gmail.com>
2024-04-17 14:38:54 +02:00
Roland Lezuo
f4c901b82d soc: arm: st_stm32: add config to allow debugger attach in sleep/stop modes
Adds CONFIG_STM32_ENABLE_DEBUG_SLEEP_STOP to allow debugger attaching in
sleep/stop mode of STM32 parts. Mainly useful for debugging. Move DBGMCU
from part-sepcific power.c to common soc_config.c. CONFIG_USE_SEGGER_RTT
depends on this as well.

Signed-off-by: Roland Lezuo <roland.lezuo@embedded-solutions.at>
2023-09-22 15:31:47 +02:00
Florian Grandel
c88a9ef272 segger: rtt: disable unsupported shell/log features
The RTT backend of the shell does not support several of the more
advanced terminal features. This commit proposes to inactivate these
features by default when RTT is selected as shell backend.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-06-23 14:42:41 +02:00
Henrik Brix Andersen
1cfc85bab8 modules: segger: move Kconfig to modules/segger
Move the Segger RTT module Kconfig to modules/segger/kconfig. The Segger
debug library is not a driver and should not reside under drivers/debug.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-04-17 11:21:48 +02:00