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