1 #ifndef RT_CONFIG_H__ 2 #define RT_CONFIG_H__ 3 4 /* RT-Thread Kernel */ 5 6 /* klibc options */ 7 8 /* rt_vsnprintf options */ 9 10 #define RT_KLIBC_USING_VSNPRINTF_LONGLONG 11 #define RT_KLIBC_USING_VSNPRINTF_STANDARD 12 #define RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS 13 #define RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS 14 #define RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER 15 #define RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER 16 #define RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE 32 17 #define RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE 32 18 #define RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION 6 19 #define RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9 20 #define RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS 4 21 /* end of rt_vsnprintf options */ 22 23 /* rt_vsscanf options */ 24 25 /* end of rt_vsscanf options */ 26 27 /* rt_memset options */ 28 29 /* end of rt_memset options */ 30 31 /* rt_memcpy options */ 32 33 /* end of rt_memcpy options */ 34 35 /* rt_memmove options */ 36 37 /* end of rt_memmove options */ 38 39 /* rt_memcmp options */ 40 41 /* end of rt_memcmp options */ 42 43 /* rt_strstr options */ 44 45 /* end of rt_strstr options */ 46 47 /* rt_strcasecmp options */ 48 49 /* end of rt_strcasecmp options */ 50 51 /* rt_strncpy options */ 52 53 /* end of rt_strncpy options */ 54 55 /* rt_strcpy options */ 56 57 /* end of rt_strcpy options */ 58 59 /* rt_strncmp options */ 60 61 /* end of rt_strncmp options */ 62 63 /* rt_strcmp options */ 64 65 /* end of rt_strcmp options */ 66 67 /* rt_strlen options */ 68 69 /* end of rt_strlen options */ 70 71 /* rt_strnlen options */ 72 73 /* end of rt_strnlen options */ 74 /* end of klibc options */ 75 #define RT_NAME_MAX 8 76 #define RT_USING_SMP 77 #define RT_CPUS_NR 2 78 #define RT_ALIGN_SIZE 8 79 #define RT_THREAD_PRIORITY_32 80 #define RT_THREAD_PRIORITY_MAX 32 81 #define RT_TICK_PER_SECOND 1000 82 #define RT_USING_OVERFLOW_CHECK 83 #define RT_USING_HOOK 84 #define RT_HOOK_USING_FUNC_PTR 85 #define RT_USING_IDLE_HOOK 86 #define RT_IDLE_HOOK_LIST_SIZE 4 87 #define IDLE_THREAD_STACK_SIZE 4096 88 #define SYSTEM_THREAD_STACK_SIZE 4096 89 90 /* kservice options */ 91 92 /* end of kservice options */ 93 #define RT_USING_DEBUG 94 #define RT_DEBUGING_ASSERT 95 #define RT_DEBUGING_COLOR 96 #define RT_DEBUGING_CONTEXT 97 98 /* Inter-Thread communication */ 99 100 #define RT_USING_SEMAPHORE 101 #define RT_USING_MUTEX 102 #define RT_USING_EVENT 103 #define RT_USING_MAILBOX 104 #define RT_USING_MESSAGEQUEUE 105 #define RT_USING_SIGNALS 106 /* end of Inter-Thread communication */ 107 108 /* Memory Management */ 109 110 #define RT_USING_MEMPOOL 111 #define RT_USING_SLAB 112 #define RT_USING_MEMHEAP 113 #define RT_MEMHEAP_FAST_MODE 114 #define RT_USING_SLAB_AS_HEAP 115 #define RT_USING_HEAP 116 /* end of Memory Management */ 117 #define RT_USING_DEVICE 118 #define RT_USING_CONSOLE 119 #define RT_CONSOLEBUF_SIZE 128 120 #define RT_CONSOLE_DEVICE_NAME "uarths" 121 #define RT_VER_NUM 0x50201 122 #define RT_BACKTRACE_LEVEL_MAX_NR 32 123 /* end of RT-Thread Kernel */ 124 #define ARCH_CPU_64BIT 125 #define RT_USING_HW_ATOMIC 126 #define ARCH_RISCV 127 #define ARCH_RISCV_FPU 128 #define ARCH_RISCV_FPU_S 129 #define ARCH_RISCV64 130 #define ARCH_USING_NEW_CTX_SWITCH 131 132 /* RT-Thread Components */ 133 134 #define RT_USING_COMPONENTS_INIT 135 #define RT_USING_USER_MAIN 136 #define RT_MAIN_THREAD_STACK_SIZE 8192 137 #define RT_MAIN_THREAD_PRIORITY 10 138 #define RT_USING_MSH 139 #define RT_USING_FINSH 140 #define FINSH_USING_MSH 141 #define FINSH_THREAD_NAME "tshell" 142 #define FINSH_THREAD_PRIORITY 20 143 #define FINSH_THREAD_STACK_SIZE 16384 144 #define FINSH_USING_HISTORY 145 #define FINSH_HISTORY_LINES 5 146 #define FINSH_USING_SYMTAB 147 #define FINSH_CMD_SIZE 80 148 #define MSH_USING_BUILT_IN_COMMANDS 149 #define FINSH_USING_DESCRIPTION 150 #define FINSH_ARG_MAX 10 151 #define FINSH_USING_OPTION_COMPLETION 152 153 /* DFS: device virtual file system */ 154 155 #define RT_USING_DFS 156 #define DFS_USING_POSIX 157 #define DFS_USING_WORKDIR 158 #define DFS_FD_MAX 64 159 #define RT_USING_DFS_V1 160 #define DFS_FILESYSTEMS_MAX 16 161 #define DFS_FILESYSTEM_TYPES_MAX 16 162 #define RT_USING_DFS_ELMFAT 163 164 /* elm-chan's FatFs, Generic FAT Filesystem Module */ 165 166 #define RT_DFS_ELM_CODE_PAGE 437 167 #define RT_DFS_ELM_WORD_ACCESS 168 #define RT_DFS_ELM_USE_LFN_3 169 #define RT_DFS_ELM_USE_LFN 3 170 #define RT_DFS_ELM_LFN_UNICODE_0 171 #define RT_DFS_ELM_LFN_UNICODE 0 172 #define RT_DFS_ELM_MAX_LFN 255 173 #define RT_DFS_ELM_DRIVES 2 174 #define RT_DFS_ELM_MAX_SECTOR_SIZE 4096 175 #define RT_DFS_ELM_REENTRANT 176 #define RT_DFS_ELM_MUTEX_TIMEOUT 3000 177 /* end of elm-chan's FatFs, Generic FAT Filesystem Module */ 178 #define RT_USING_DFS_DEVFS 179 /* end of DFS: device virtual file system */ 180 181 /* Device Drivers */ 182 183 #define RT_USING_DEVICE_IPC 184 #define RT_UNAMED_PIPE_NUMBER 64 185 #define RT_USING_SERIAL 186 #define RT_USING_SERIAL_V1 187 #define RT_SERIAL_USING_DMA 188 #define RT_SERIAL_RB_BUFSZ 64 189 #define RT_USING_SPI 190 #define RT_USING_SPI_MSD 191 #define RT_USING_SFUD 192 #define RT_SFUD_USING_SFDP 193 #define RT_SFUD_USING_FLASH_INFO_TABLE 194 #define RT_SFUD_SPI_MAX_HZ 50000000 195 #define RT_DEBUG_SFUD 196 #define RT_USING_PIN 197 #define RT_USING_KTIME 198 /* end of Device Drivers */ 199 200 /* C/C++ and POSIX layer */ 201 202 /* ISO-ANSI C layer */ 203 204 /* Timezone and Daylight Saving Time */ 205 206 #define RT_LIBC_USING_LIGHT_TZ_DST 207 #define RT_LIBC_TZ_DEFAULT_HOUR 8 208 #define RT_LIBC_TZ_DEFAULT_MIN 0 209 #define RT_LIBC_TZ_DEFAULT_SEC 0 210 /* end of Timezone and Daylight Saving Time */ 211 /* end of ISO-ANSI C layer */ 212 213 /* POSIX (Portable Operating System Interface) layer */ 214 215 #define RT_USING_POSIX_DELAY 216 217 /* Interprocess Communication (IPC) */ 218 219 220 /* Socket is in the 'Network' category */ 221 222 /* end of Interprocess Communication (IPC) */ 223 /* end of POSIX (Portable Operating System Interface) layer */ 224 #define RT_USING_CPLUSPLUS 225 /* end of C/C++ and POSIX layer */ 226 227 /* Network */ 228 229 /* end of Network */ 230 231 /* Memory protection */ 232 233 /* end of Memory protection */ 234 235 /* Utilities */ 236 237 #define RT_USING_ULOG 238 #define ULOG_OUTPUT_LVL_D 239 #define ULOG_OUTPUT_LVL 7 240 #define ULOG_ASSERT_ENABLE 241 #define ULOG_LINE_BUF_SIZE 128 242 243 /* log format */ 244 245 #define ULOG_USING_COLOR 246 #define ULOG_OUTPUT_TIME 247 #define ULOG_OUTPUT_LEVEL 248 #define ULOG_OUTPUT_TAG 249 /* end of log format */ 250 #define ULOG_BACKEND_USING_CONSOLE 251 /* end of Utilities */ 252 253 /* Using USB legacy version */ 254 255 /* end of Using USB legacy version */ 256 /* end of RT-Thread Components */ 257 258 /* RT-Thread Utestcases */ 259 260 /* end of RT-Thread Utestcases */ 261 262 /* RT-Thread online packages */ 263 264 /* IoT - internet of things */ 265 266 267 /* Wi-Fi */ 268 269 /* Marvell WiFi */ 270 271 /* end of Marvell WiFi */ 272 273 /* Wiced WiFi */ 274 275 /* end of Wiced WiFi */ 276 277 /* CYW43012 WiFi */ 278 279 /* end of CYW43012 WiFi */ 280 281 /* BL808 WiFi */ 282 283 /* end of BL808 WiFi */ 284 285 /* CYW43439 WiFi */ 286 287 /* end of CYW43439 WiFi */ 288 /* end of Wi-Fi */ 289 290 /* IoT Cloud */ 291 292 /* end of IoT Cloud */ 293 /* end of IoT - internet of things */ 294 295 /* security packages */ 296 297 /* end of security packages */ 298 299 /* language packages */ 300 301 /* JSON: JavaScript Object Notation, a lightweight data-interchange format */ 302 303 /* end of JSON: JavaScript Object Notation, a lightweight data-interchange format */ 304 305 /* XML: Extensible Markup Language */ 306 307 /* end of XML: Extensible Markup Language */ 308 /* end of language packages */ 309 310 /* multimedia packages */ 311 312 /* LVGL: powerful and easy-to-use embedded GUI library */ 313 314 /* end of LVGL: powerful and easy-to-use embedded GUI library */ 315 316 /* u8g2: a monochrome graphic library */ 317 318 /* end of u8g2: a monochrome graphic library */ 319 /* end of multimedia packages */ 320 321 /* tools packages */ 322 323 /* end of tools packages */ 324 325 /* system packages */ 326 327 /* enhanced kernel services */ 328 329 /* end of enhanced kernel services */ 330 331 /* acceleration: Assembly language or algorithmic acceleration packages */ 332 333 /* end of acceleration: Assembly language or algorithmic acceleration packages */ 334 335 /* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */ 336 337 /* end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */ 338 339 /* Micrium: Micrium software products porting for RT-Thread */ 340 341 /* end of Micrium: Micrium software products porting for RT-Thread */ 342 /* end of system packages */ 343 344 /* peripheral libraries and drivers */ 345 346 /* HAL & SDK Drivers */ 347 348 /* STM32 HAL & SDK Drivers */ 349 350 /* end of STM32 HAL & SDK Drivers */ 351 352 /* Infineon HAL Packages */ 353 354 /* end of Infineon HAL Packages */ 355 356 /* Kendryte SDK */ 357 358 #define PKG_USING_K210_SDK 359 #define PKG_USING_K210_SDK_LATEST_VERSION 360 /* end of Kendryte SDK */ 361 362 /* WCH HAL & SDK Drivers */ 363 364 /* end of WCH HAL & SDK Drivers */ 365 366 /* AT32 HAL & SDK Drivers */ 367 368 /* end of AT32 HAL & SDK Drivers */ 369 370 /* HC32 DDL Drivers */ 371 372 /* end of HC32 DDL Drivers */ 373 374 /* NXP HAL & SDK Drivers */ 375 376 /* end of NXP HAL & SDK Drivers */ 377 /* end of HAL & SDK Drivers */ 378 379 /* sensors drivers */ 380 381 /* end of sensors drivers */ 382 383 /* touch drivers */ 384 385 /* end of touch drivers */ 386 /* end of peripheral libraries and drivers */ 387 388 /* AI packages */ 389 390 /* end of AI packages */ 391 392 /* Signal Processing and Control Algorithm Packages */ 393 394 /* end of Signal Processing and Control Algorithm Packages */ 395 396 /* miscellaneous packages */ 397 398 /* project laboratory */ 399 400 /* end of project laboratory */ 401 402 /* samples: kernel and components samples */ 403 404 /* end of samples: kernel and components samples */ 405 406 /* entertainment: terminal games and other interesting software packages */ 407 408 /* end of entertainment: terminal games and other interesting software packages */ 409 /* end of miscellaneous packages */ 410 411 /* Arduino libraries */ 412 413 414 /* Projects and Demos */ 415 416 /* end of Projects and Demos */ 417 418 /* Sensors */ 419 420 /* end of Sensors */ 421 422 /* Display */ 423 424 /* end of Display */ 425 426 /* Timing */ 427 428 /* end of Timing */ 429 430 /* Data Processing */ 431 432 /* end of Data Processing */ 433 434 /* Data Storage */ 435 436 /* Communication */ 437 438 /* end of Communication */ 439 440 /* Device Control */ 441 442 /* end of Device Control */ 443 444 /* Other */ 445 446 /* end of Other */ 447 448 /* Signal IO */ 449 450 /* end of Signal IO */ 451 452 /* Uncategorized */ 453 454 /* end of Arduino libraries */ 455 /* end of RT-Thread online packages */ 456 #define SOC_K210 457 #define BOARD_K210_EVB 458 459 /* Hardware Drivers Config */ 460 461 #define BSP_USING_UART_HS 462 463 /* General Purpose UARTs */ 464 465 #define BSP_USING_UART1 466 #define BSP_UART1_TXD_PIN 20 467 #define BSP_UART1_RXD_PIN 21 468 /* end of General Purpose UARTs */ 469 /* end of Hardware Drivers Config */ 470 #define __STACKSIZE__ 4096 471 472 #endif 473