diff options
Diffstat (limited to 'components/utilities')
| -rw-r--r-- | components/utilities/Kconfig | 129 | ||||
| -rw-r--r-- | components/utilities/libadt/Kconfig | 65 | ||||
| -rw-r--r-- | components/utilities/rt-link/Kconfig | 31 | ||||
| -rw-r--r-- | components/utilities/utest/utest/Kconfig | 5 |
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 |
