summaryrefslogtreecommitdiff
path: root/components/utilities
diff options
context:
space:
mode:
Diffstat (limited to 'components/utilities')
-rw-r--r--components/utilities/Kconfig129
-rw-r--r--components/utilities/libadt/Kconfig65
-rw-r--r--components/utilities/rt-link/Kconfig31
-rw-r--r--components/utilities/utest/utest/Kconfig5
4 files changed, 223 insertions, 7 deletions
diff --git a/components/utilities/Kconfig b/components/utilities/Kconfig
index bffc381c74..3afd0072d6 100644
--- a/components/utilities/Kconfig
+++ b/components/utilities/Kconfig
@@ -3,21 +3,56 @@ menu "Utilities"
config RT_USING_RYM
bool "Enable Ymodem"
default n
+ help
+ Ymodem is a file transfer component based on the Ymodem protocol.
+ It is primarily used for file transfer between embedded devices and host computers.
+
+ Features:
+ Includes CRC checksum and retransmission mechanism.
+ File reception and file sending capabilities.
+ Supports multiple file transfers and batch transfers.
+
+ Typical application scenarios:
+ Firmware upgrades
+ Configuration file transfer
+ Log export
+
+ Once enabled, Ymodem components can be used for transmission (UART serial port needs to be configured as hardware communication medium).
if RT_USING_RYM
config YMODEM_USING_CRC_TABLE
bool "Enable CRC Table in Ymodem"
default n
+ help
+ YMODEM_USING_CRC_TABLE enables the CRC lookup table method in Ymodem.
+
+ Once enabled, the lookup table method will be used as the default method for CRC checksum calculation
+ (it is disabled by default, the direct calculation method is used for CRC checksum calculation).
config YMODEM_USING_FILE_TRANSFER
bool "Enable file transfer feature"
depends on RT_USING_DFS
default y
+ help
+ YMODEM_USING_FILE_TRANSFER controls whether file transfer is enabled.
+
+ It is enabled by default.
+ Once enabled, received/sent data can be saved to a file, or a file can be read for transfer.
+ Before enabling, RT-Thread's Device Virtual File System (DFS) (RT_USING_DFS) must be enabled and adapted to the specific storage medium (such as SPI Flash driver, SD card driver).
+
endif
menuconfig RT_USING_ULOG
bool "Enable ulog"
default n
+ help
+ ULOG is a lightweight, highly configurable, multi-output logging framework.
+
+ Core positioning and advantages:
+ Supports log hierarchies, filtering, formatting, and multiple outputs;
+ Adaptable to embedded scenarios, suitable for development and debugging.
+
+ Once enabled, the ULOG component in RT-Thread can be used (it is disabled by default).
if RT_USING_ULOG
if !ULOG_USING_SYSLOG
@@ -30,14 +65,29 @@ menuconfig RT_USING_ULOG
NOTE: It's not available on syslog mode.
config ULOG_OUTPUT_LVL_A
bool "Assert"
+ help
+ The highest level, used to catch the most serious logical errors.
+ Level: 0
config ULOG_OUTPUT_LVL_E
bool "Error"
+ help
+ Used to report serious runtime errors
+ Level: 3
config ULOG_OUTPUT_LVL_W
bool "Warning"
+ help
+ Used to report unexpected exceptions that may not cause the program to crash.
+ Level: 4
config ULOG_OUTPUT_LVL_I
bool "Information"
+ help
+ Used to record key information during program execution.
+ Level: 6
config ULOG_OUTPUT_LVL_D
bool "Debug"
+ help
+ Used to output detailed debugging information during the development and debugging phases.
+ Level: 7
endchoice
endif
@@ -51,20 +101,45 @@ menuconfig RT_USING_ULOG
NOTE: It's not available on syslog mode.
config ULOG_OUTPUT_LVL_EMERG
bool "EMERG"
+ help
+ The system is in an emergency and is about to crash or is already unavailable.
+ Level: 0
config ULOG_OUTPUT_LVL_ALERT
bool "ALERT"
+ help
+ An error that must be fixed immediately was discovered.
+ Level: 1
config ULOG_OUTPUT_LVL_CRIT
bool "CRIT"
+ help
+ A serious error exists, causing some core functions of the system to malfunction.
+ Level: 2
config ULOG_OUTPUT_LVL_ERROR
bool "ERR"
+ help
+ An error occurred
+ Level: 3
config ULOG_OUTPUT_LVL_WARNING
bool "WARNING"
+ help
+ There are potential risks or abnormal situations.
+ Level: 4
config ULOG_OUTPUT_LVL_NOTICE
bool "NOTICE"
+ help
+ This is a noteworthy normal event;
+ it's not an error, but it could indicate an important state change or information that requires administrator awareness.
+ Level: 5
config ULOG_OUTPUT_LVL_INFO
bool "INFO"
+ help
+ Used to record general and detailed system operation information.
+ Level: 6
config ULOG_OUTPUT_LVL_DEBUG
bool "DEBUG"
+ help
+ Includes detailed debugging information for development and problem diagnosis.
+ Level: 7
endchoice
endif
@@ -94,7 +169,9 @@ menuconfig RT_USING_ULOG
config ULOG_ASSERT_ENABLE
bool "Enable assert check."
default y
-
+ help
+ ULOG_ASSERT_ENABLE controls whether the ASSERT (assertion) function in the ulog logging system is enabled in the firmware.
+ Once enabled, assertion functionality can be used (enabled by default).
config ULOG_LINE_BUF_SIZE
int "The log's max width."
default 128
@@ -112,6 +189,10 @@ menuconfig RT_USING_ULOG
config ULOG_ASYNC_OUTPUT_BUF_SIZE
int "The async output buffer size."
default 2048
+ help
+ This item will be displayed once ULOG_USING_ASYNC_OUTPUT is enabled.
+
+ ULOG_ASYNC_OUTPUT_BUF_SIZE is used to set the buffer size in asynchronous output mode.(2048 bytes by default)
config ULOG_ASYNC_OUTPUT_BY_THREAD
bool "Enable async output by thread."
@@ -124,11 +205,17 @@ menuconfig RT_USING_ULOG
config ULOG_ASYNC_OUTPUT_THREAD_STACK
int "The async output thread stack size."
default 1024
+ help
+ ULOG_ASYNC_OUTPUT_THREAD_STACK sets the stack size for the asynchronous output thread (1024 bytes by default).
+ ULOG_ASYNC_OUTPUT_BY_THREAD must be enabled first.
config ULOG_ASYNC_OUTPUT_THREAD_PRIORITY
int "The async output thread stack priority."
range 0 RT_THREAD_PRIORITY_MAX
default 30
+ help
+ ULOG_ASYNC_OUTPUT_THREAD_PRIORITY is used to set the priority of the asynchronous output thread (the default value is 30).
+ ULOG_ASYNC_OUTPUT_BY_THREAD must be enabled first.
endif
endif
@@ -153,23 +240,30 @@ menuconfig RT_USING_ULOG
config ULOG_OUTPUT_TIME
bool "Enable time information."
default y
-
+ help
+ ULOG_OUTPUT_TIME controls whether timestamps are included in log messages (enabled by default).
config ULOG_TIME_USING_TIMESTAMP
bool "Enable timestamp format for time."
default n
depends on ULOG_OUTPUT_TIME
-
+ help
+ ULOG_TIME_USING_TIMESTAMP controls the display format of time.
+ It is disabled by default and is only visible and effective when ULOG_OUTPUT_TIME is y.
config ULOG_OUTPUT_LEVEL
bool "Enable level information."
default y
-
+ help
+ ULOG_OUTPUT_LEVEL controls whether log messages include a log level (enabled by default).
config ULOG_OUTPUT_TAG
bool "Enable tag information."
default y
-
+ help
+ ULOG_OUTPUT_TAG controls whether log tags are included in log messages (enabled by default).
config ULOG_OUTPUT_THREAD_NAME
bool "Enable thread information."
default n
+ help
+ ULOG_OUTPUT_THREAD_NAME controls whether the log message includes the name of the thread that outputs the log (disabled by default).
endmenu
config ULOG_BACKEND_USING_CONSOLE
@@ -205,20 +299,33 @@ menuconfig RT_USING_ULOG
select ULOG_OUTPUT_TIME
select ULOG_USING_FILTER
default n
+ help
+ ULOG_USING_SYSLOG switches ulog's log output format and some APIs to a syslog-compliant mode.
+
+ Once ULOG_USING_SYSLOG is selected, ULOG_OUTPUT_TIME will be automatically enabled.
+ Once ULOG_USING_SYSLOG is selected, ULOG_USING_FILTER will be automatically enabled, allowing ulog's log filtering functionality to be enabled.
endif
config RT_USING_UTEST
bool "Enable utest (RT-Thread test framework)"
default n
+ help
+ Utest (RT_USING_UTEST) is a lightweight unit testing framework built into RT-Thread.
+ It allows developers to write automated test cases for their code to verify the correctness of functionality.
+
+ Once enabled, the entire UTest framework is activated (it is not enabled by default).
if RT_USING_UTEST
config UTEST_THR_STACK_SIZE
int "The utest thread stack size"
default 4096
+ help
+ UTEST_THR_STACK_SIZE configure the thread stack size used by the UTest framework to execute test cases.(The default size is 4096 bytes.)
config UTEST_THR_PRIORITY
int "The utest thread priority"
default 20
-
+ help
+ UTEST_THR_PRIORITY set the priority of the UTest thread(The default priority is 20.)
config RT_UTEST_USING_AUTO_RUN
bool "Enable auto run test cases"
default n
@@ -229,6 +336,10 @@ config RT_USING_UTEST
config RT_UTEST_MAX_OPTIONS
int "Maximum number of utest cases for auto-completion"
default 64
+ help
+ RT_UTEST_MAX_OPTIONS is only visible when FINSH_USING_OPTION_COMPLETION (FinSH command-line auto-completion feature) is enabled.
+ RT_UTEST_MAX_OPTIONS sets the maximum number of test cases that the UTest framework supports for auto-completion.
+ By default, auto-completion is supported for up to 64 test cases.
endif
endif
@@ -236,11 +347,15 @@ config RT_USING_UTEST
config RT_USING_VAR_EXPORT
bool "Enable Var Export"
default n
+ help
+ RT_USING_VAR_EXPORT enables or disables the global variable export function (not enabled by default).
config RT_USING_RESOURCE_ID
bool "Enable resource id"
default n
-
+ help
+ RT_USING_RESOURCE_ID enables or disables the system resource ID feature (disabled by default).
+
rsource "libadt/Kconfig"
rsource "rt-link/Kconfig"
diff --git a/components/utilities/libadt/Kconfig b/components/utilities/libadt/Kconfig
index bb421cf8b0..6665f7e7d2 100644
--- a/components/utilities/libadt/Kconfig
+++ b/components/utilities/libadt/Kconfig
@@ -2,23 +2,88 @@ menuconfig RT_USING_ADT
bool "Enable ADT(abstract data type)"
default y if ARCH_MM_MMU
default n
+ help
+ ADT(abstract data type) are a set of general interfaces that encapsulate commonly used data structures.
+
+ ADT's Core Functions and Components:
+ AVL Tree (RT_USING_ADT_AVL)
+ Bitmap (RT_USING_ADT_BITMAP)
+ Hash Table (RT_USING_ADT_HASHMAP)
+ Reference Counting API (RT_USING_ADT_REF)
+
+ Features and Advantages of ADT:
+ Abstract Interface: Hides the implementation details of data structures; only a unified interface needs to be called.
+ Customizability: Reduces system resource consumption through Kconfig configuration.
+ Generality: Applicable to various scenarios.
+
+ Once enabled, you can use the AVL tree, bitmap, hash table, and reference counting APIs.
config RT_USING_ADT_AVL
bool "AVL tree"
depends on RT_USING_ADT
default y
+ help
+ An AVL tree (RT_USING_ADT_AVL) is a self-balancing binary search tree.
+
+ Core capabilities:
+ Supports efficient insertion, deletion, and search operations;
+ Data is naturally ordered, facilitating range queries.
+
+ Typical scenarios:
+ Task priority sorting;
+ Log timestamp indexing;
+ Ordered management of dynamic configuration items.
+
+ Once enabled, AVL trees can be used (ADT must be enabled).
config RT_USING_ADT_BITMAP
bool "Bitmap"
depends on RT_USING_ADT
default y
+ help
+ A bitmap (RT_USING_ADT_BITMAP) represents a set of states using consecutive binary bits.
+
+ Core capabilities:
+ Extreme memory efficiency;
+ Fast set, clear, and query operations based on bitwise operations.
+
+ Typical scenarios:
+ Resource allocation flags;
+ Permission switches;
+ State set management.
+
+ Once enabled, bitmaps can be used (ADT must be enabled).
config RT_USING_ADT_HASHMAP
bool "HashMap"
depends on RT_USING_ADT
default y
+ help
+ Hash Table (RT_USING_ADT_HASHMAP) is a storage structure based on key-value mapping.
+
+ Core capabilities:
+ Average lookup, insertion, and deletion times are close to O(1);
+ Supports custom hash functions and key comparison rules, adapting to different key types.
+
+ Typical scenarios:
+ Scenarios requiring fast object lookup using unique identifiers;
+ String key-value pair configuration;
+ High-frequency query scenarios.
+
+ Once enabled, HashMap can be used (ADT must be enabled).
config RT_USING_ADT_REF
bool "Reference API"
depends on RT_USING_ADT
default y
+ help
+ The Reference Counting API (RT_USING_ADT_REF) is a mechanism for managing object lifecycles through a counter.
+
+ Core capabilities:
+ Simplifies the release logic of shared resources across multiple modules;
+ automatically maintains the lifecycle without requiring manual tracking of object users.
+
+ Typical scenarios:
+ Multi-threaded/multi-module shared resources.
+
+ Once enabled, Reference API can be used (ADT must be enabled).
diff --git a/components/utilities/rt-link/Kconfig b/components/utilities/rt-link/Kconfig
index 5170347854..9f80883e14 100644
--- a/components/utilities/rt-link/Kconfig
+++ b/components/utilities/rt-link/Kconfig
@@ -2,24 +2,55 @@
menuconfig RT_USING_RT_LINK
bool "RT-Link"
default n
+ help
+ RT-Link is a lightweight, portable data link layer transport protocol.
+
+ Key Features:
+ Supports data retransmission mechanism
+ Frame sequence number and status synchronization
+ Provides a unified API interface
+ Supports adaptation to various underlying hardware
+ Built-in CRC checksum
+
+ Typical Application Scenarios:
+ Short-range communication between low-power devices
+ Device firmware upgrades, log feedback, etc.
+
+ Not enabled by default,Once enabled, RT-Link components can be used (requires enabling UART or other related hardware transmission media).
if RT_USING_RT_LINK
choice RT_LINK_USING_CRC
prompt"use hw crc device or not"
default RT_LINK_USING_SF_CRC
+ help
+ In RT-Thread's RT-Link protocol:
+ CRC check verifies whether the data has been tampered with or corrupted during transmission by calculating the CRC value of the data.
+
+ Once enabled, CRC checksums in RT-Link can be used (software CRC checksums are enabled by default).
+ You can choose to enable either software CRC checksums or hardware CRC checksums.
config RT_LINK_USING_SF_CRC
bool "use software crc table"
+ help
+ Once enabled, software CRC checksums in RT-Link can be used.
config RT_LINK_USING_HW_CRC
bool "use hardware crc device"
+ help
+ Once enabled, hardware CRC checksums in RT-Link can be used.
endchoice
menu "rt link debug option"
config USING_RT_LINK_DEBUG
bool "Enable RT-Link debug"
default n
+ help
+ USING_RT_LINK_DEBUG enables RT-Link core debugging.
+ Once enabled, it will output debugging information for the RT-Link protocol layer (disabled by default).
config USING_RT_LINK_HW_DEBUG
bool "Enable RT-Link hw debug"
default n
+ help
+ USING_RT_LINK_HW_DEBUG enables RT-Link hardware debugging.
+ Once enabled, it will output debugging information about the underlying RT-Link hardware (disabled by default).
endmenu
endif
diff --git a/components/utilities/utest/utest/Kconfig b/components/utilities/utest/utest/Kconfig
index 17faa65271..9d1b00a80d 100644
--- a/components/utilities/utest/utest/Kconfig
+++ b/components/utilities/utest/utest/Kconfig
@@ -4,5 +4,10 @@ config RT_UTEST_SELF_PASS
bool "UTEST Framework Test"
select RT_USING_UTEST
default n
+ help
+ RT_UTEST_SELF_PASS controls whether the Utest framework's self-test functionality is enabled.
+ Once enabled, RT_USING_UTEST will be enabled automatically, and the self-test code included with the Utest framework will also be compiled.
+ Application scenario:
+ Verifying whether the Utest framework functions correctly.
endmenu