mirror of
https://github.com/apache/nuttx.git
synced 2026-05-29 20:56:47 +08:00
drivers/note: remove choice in Kconfig
To support multiple note drivers to be used at the same time Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
This commit is contained in:
+9
-45
@@ -24,21 +24,6 @@ menuconfig SCHED_INSTRUMENTATION
|
|||||||
|
|
||||||
if SCHED_INSTRUMENTATION
|
if SCHED_INSTRUMENTATION
|
||||||
|
|
||||||
config SCHED_INSTRUMENTATION_EXTERNAL
|
|
||||||
bool "System performance monitor endpoints are external"
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
When this option is enabled, the board specific logic must implement all
|
|
||||||
callbacks listed in SCHED_INSTRUMENTATION, SCHED_INSTRUMENTATION_CSECTION,
|
|
||||||
SCHED_INSTRUMENTATION_SPINLOCKS, SCHED_INSTRUMENTATION_SYSCALL and
|
|
||||||
SCHED_INSTRUMENTATION_IRQHANDLER. Otherwise the common code will implement
|
|
||||||
these callbacks and packet the arguments into note_ struct. Then the board
|
|
||||||
-specific logic just needs to implement one callback:
|
|
||||||
|
|
||||||
void sched_note_add(FAR const void *note, size_t notelen);
|
|
||||||
|
|
||||||
and send the data to the suitable transport hardware.
|
|
||||||
|
|
||||||
config SCHED_INSTRUMENTATION_CPUSET
|
config SCHED_INSTRUMENTATION_CPUSET
|
||||||
hex "CPU bit set"
|
hex "CPU bit set"
|
||||||
default 0xffff
|
default 0xffff
|
||||||
@@ -195,12 +180,9 @@ config DRIVER_NOTECTL
|
|||||||
If this option is selected, the instrumentation filter control device
|
If this option is selected, the instrumentation filter control device
|
||||||
/dev/notectl is provided.
|
/dev/notectl is provided.
|
||||||
|
|
||||||
choice
|
|
||||||
prompt "Note driver selection"
|
|
||||||
default DRIVER_NOTERAM
|
|
||||||
|
|
||||||
config DRIVER_NOTERAM
|
config DRIVER_NOTERAM
|
||||||
bool "Note RAM driver"
|
bool "Note RAM driver"
|
||||||
|
default y
|
||||||
depends on !SCHED_INSTRUMENTATION_CSECTION && (!SCHED_INSTRUMENTATION_SPINLOCK || !SMP)
|
depends on !SCHED_INSTRUMENTATION_CSECTION && (!SCHED_INSTRUMENTATION_SPINLOCK || !SMP)
|
||||||
---help---
|
---help---
|
||||||
If this option is selected, then in-memory buffering logic is
|
If this option is selected, then in-memory buffering logic is
|
||||||
@@ -226,47 +208,29 @@ config DRIVER_NOTERAM
|
|||||||
sched_note_get() causes several additional entries to be added from
|
sched_note_get() causes several additional entries to be added from
|
||||||
the note buffer in order to remove one entry.
|
the note buffer in order to remove one entry.
|
||||||
|
|
||||||
config DRIVER_NOTEARCH
|
if DRIVER_NOTERAM
|
||||||
bool "Note Arch driver"
|
|
||||||
---help---
|
|
||||||
The note driver is provided by arch specific code.
|
|
||||||
|
|
||||||
config DRIVER_NOTELOG
|
|
||||||
bool "Note syslog driver"
|
|
||||||
select SCHED_INSTRUMENTATION_EXTERNAL
|
|
||||||
---help---
|
|
||||||
The note driver output to syslog.
|
|
||||||
|
|
||||||
config SEGGER_SYSVIEW
|
|
||||||
bool "Note SEGGER SystemView driver"
|
|
||||||
select SEGGER_RTT
|
|
||||||
select SCHED_INSTRUMENTATION_EXTERNAL
|
|
||||||
---help---
|
|
||||||
SystemView is a real-time recording and visualization tool for embedded
|
|
||||||
systems that reveals the true runtime behavior of an application,
|
|
||||||
going far deeper than the system insights provided by debuggers. This is
|
|
||||||
particularly effective when developing and working with complex embedded
|
|
||||||
systems comprising multiple threads and interrupts. SystemView can ensure
|
|
||||||
unintended interactions and resource conflicts.
|
|
||||||
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
config DRIVER_NOTERAM_BUFSIZE
|
config DRIVER_NOTERAM_BUFSIZE
|
||||||
int "Note RAM buffer size"
|
int "Note RAM buffer size"
|
||||||
depends on DRIVER_NOTERAM
|
|
||||||
default 2048
|
default 2048
|
||||||
---help---
|
---help---
|
||||||
The size of the in-memory, circular instrumentation buffer (in bytes).
|
The size of the in-memory, circular instrumentation buffer (in bytes).
|
||||||
|
|
||||||
config DRIVER_NOTERAM_DEFAULT_NOOVERWRITE
|
config DRIVER_NOTERAM_DEFAULT_NOOVERWRITE
|
||||||
bool "Disable overwrite by default"
|
bool "Disable overwrite by default"
|
||||||
depends on DRIVER_NOTERAM
|
|
||||||
default n
|
default n
|
||||||
---help---
|
---help---
|
||||||
Disables overwriting old notes in the circular buffer when the buffer
|
Disables overwriting old notes in the circular buffer when the buffer
|
||||||
is full by default. This is useful to keep instrumentation data of the
|
is full by default. This is useful to keep instrumentation data of the
|
||||||
beginning of a system boot.
|
beginning of a system boot.
|
||||||
|
|
||||||
|
endif # DRIVER_NOTERAM
|
||||||
|
|
||||||
|
config DRIVER_NOTELOG
|
||||||
|
bool "Note syslog driver"
|
||||||
|
---help---
|
||||||
|
The note driver output to syslog.
|
||||||
|
|
||||||
endif # DRIVER_NOTE
|
endif # DRIVER_NOTE
|
||||||
|
|
||||||
endif # SCHED_INSTRUMENTATION
|
endif # SCHED_INSTRUMENTATION
|
||||||
|
|||||||
@@ -94,6 +94,20 @@ config SYSLOG_RTT
|
|||||||
---help---
|
---help---
|
||||||
Use Segger J-Link RTT as a SYSLOG output device.
|
Use Segger J-Link RTT as a SYSLOG output device.
|
||||||
|
|
||||||
|
if DRIVER_NOTE
|
||||||
|
config SEGGER_SYSVIEW
|
||||||
|
bool "Note SEGGER SystemView driver"
|
||||||
|
select SEGGER_RTT
|
||||||
|
---help---
|
||||||
|
SystemView is a real-time recording and visualization tool for embedded
|
||||||
|
systems that reveals the true runtime behavior of an application,
|
||||||
|
going far deeper than the system insights provided by debuggers. This is
|
||||||
|
particularly effective when developing and working with complex embedded
|
||||||
|
systems comprising multiple threads and interrupts. SystemView can ensure
|
||||||
|
unintended interactions and resource conflicts.
|
||||||
|
|
||||||
|
endif # DRIVER_NOTE
|
||||||
|
|
||||||
if SEGGER_SYSVIEW
|
if SEGGER_SYSVIEW
|
||||||
|
|
||||||
config SEGGER_SYSVIEW_RTT_CHANNEL
|
config SEGGER_SYSVIEW_RTT_CHANNEL
|
||||||
|
|||||||
Reference in New Issue
Block a user