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 8 65 #define RT_CPUS_NR 1 66 #define RT_ALIGN_SIZE 8 67 #define RT_THREAD_PRIORITY_32 68 #define RT_THREAD_PRIORITY_MAX 32 69 #define RT_TICK_PER_SECOND 1000 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 2048 76 #define RT_USING_TIMER_SOFT 77 #define RT_TIMER_THREAD_PRIO 4 78 #define RT_TIMER_THREAD_STACK_SIZE 2048 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 /* end of Inter-Thread communication */ 96 97 /* Memory Management */ 98 99 #define RT_USING_MEMPOOL 100 #define RT_USING_SMALL_MEM 101 #define RT_USING_SMALL_MEM_AS_HEAP 102 #define RT_USING_HEAP 103 /* end of Memory Management */ 104 #define RT_USING_DEVICE 105 #define RT_USING_CONSOLE 106 #define RT_CONSOLEBUF_SIZE 128 107 #define RT_CONSOLE_DEVICE_NAME "uart1" 108 #define RT_VER_NUM 0x50201 109 #define RT_BACKTRACE_LEVEL_MAX_NR 32 110 /* end of RT-Thread Kernel */ 111 #define RT_USING_CACHE 112 #define RT_USING_CPU_FFS 113 #define ARCH_MM_MMU 114 #define ARCH_ARM 115 #define ARCH_ARM_MMU 116 #define RT_USING_GIC_V2 117 #define ARCH_ARMV8 118 #define ARCH_USING_ASID 119 #define ARCH_USING_IRQ_CTX_LIST 120 121 /* RT-Thread Components */ 122 123 #define RT_USING_COMPONENTS_INIT 124 #define RT_USING_USER_MAIN 125 #define RT_MAIN_THREAD_STACK_SIZE 2048 126 #define RT_MAIN_THREAD_PRIORITY 10 127 #define RT_USING_MSH 128 #define RT_USING_FINSH 129 #define FINSH_USING_MSH 130 #define FINSH_THREAD_NAME "tshell" 131 #define FINSH_THREAD_PRIORITY 20 132 #define FINSH_THREAD_STACK_SIZE 4096 133 #define FINSH_USING_HISTORY 134 #define FINSH_HISTORY_LINES 5 135 #define FINSH_USING_SYMTAB 136 #define FINSH_CMD_SIZE 80 137 #define MSH_USING_BUILT_IN_COMMANDS 138 #define FINSH_USING_DESCRIPTION 139 #define FINSH_ARG_MAX 10 140 #define FINSH_USING_OPTION_COMPLETION 141 142 /* DFS: device virtual file system */ 143 144 #define RT_USING_DFS 145 #define DFS_USING_POSIX 146 #define DFS_USING_WORKDIR 147 #define DFS_FD_MAX 16 148 #define RT_USING_DFS_V1 149 #define DFS_FILESYSTEMS_MAX 2 150 #define DFS_FILESYSTEM_TYPES_MAX 2 151 #define RT_USING_DFS_ELMFAT 152 153 /* elm-chan's FatFs, Generic FAT Filesystem Module */ 154 155 #define RT_DFS_ELM_CODE_PAGE 437 156 #define RT_DFS_ELM_WORD_ACCESS 157 #define RT_DFS_ELM_USE_LFN_3 158 #define RT_DFS_ELM_USE_LFN 3 159 #define RT_DFS_ELM_LFN_UNICODE_0 160 #define RT_DFS_ELM_LFN_UNICODE 0 161 #define RT_DFS_ELM_MAX_LFN 255 162 #define RT_DFS_ELM_DRIVES 2 163 #define RT_DFS_ELM_MAX_SECTOR_SIZE 512 164 #define RT_DFS_ELM_REENTRANT 165 #define RT_DFS_ELM_MUTEX_TIMEOUT 3000 166 /* end of elm-chan's FatFs, Generic FAT Filesystem Module */ 167 #define RT_USING_DFS_DEVFS 168 /* end of DFS: device virtual file system */ 169 170 /* Device Drivers */ 171 172 #define RT_USING_DEVICE_IPC 173 #define RT_UNAMED_PIPE_NUMBER 64 174 #define RT_USING_SYSTEM_WORKQUEUE 175 #define RT_SYSTEM_WORKQUEUE_STACKSIZE 2048 176 #define RT_SYSTEM_WORKQUEUE_PRIORITY 23 177 #define RT_USING_SERIAL 178 #define RT_USING_SERIAL_V1 179 #define RT_SERIAL_USING_DMA 180 #define RT_SERIAL_RB_BUFSZ 512 181 #define RT_USING_I2C 182 #define RT_USING_I2C_BITOPS 183 #define RT_USING_SDIO 184 #define RT_SDIO_STACK_SIZE 512 185 #define RT_SDIO_THREAD_PRIORITY 15 186 #define RT_MMCSD_STACK_SIZE 1024 187 #define RT_MMCSD_THREAD_PRIORITY 22 188 #define RT_MMCSD_MAX_PARTITION 16 189 #define RT_USING_SPI 190 #define RT_USING_WDT 191 #define RT_USING_TOUCH 192 #define RT_USING_BLK 193 194 /* Partition Types */ 195 196 #define RT_BLK_PARTITION_DFS 197 #define RT_BLK_PARTITION_EFI 198 /* end of Partition Types */ 199 #define RT_USING_PIN 200 #define RT_USING_KTIME 201 /* end of Device Drivers */ 202 203 /* C/C++ and POSIX layer */ 204 205 /* ISO-ANSI C layer */ 206 207 /* Timezone and Daylight Saving Time */ 208 209 #define RT_LIBC_USING_LIGHT_TZ_DST 210 #define RT_LIBC_TZ_DEFAULT_HOUR 8 211 #define RT_LIBC_TZ_DEFAULT_MIN 0 212 #define RT_LIBC_TZ_DEFAULT_SEC 0 213 /* end of Timezone and Daylight Saving Time */ 214 /* end of ISO-ANSI C layer */ 215 216 /* POSIX (Portable Operating System Interface) layer */ 217 218 #define RT_USING_POSIX_FS 219 #define RT_USING_POSIX_POLL 220 #define RT_USING_POSIX_SELECT 221 #define RT_USING_POSIX_DELAY 222 223 /* Interprocess Communication (IPC) */ 224 225 226 /* Socket is in the 'Network' category */ 227 228 /* end of Interprocess Communication (IPC) */ 229 /* end of POSIX (Portable Operating System Interface) layer */ 230 /* end of C/C++ and POSIX layer */ 231 232 /* Network */ 233 234 #define RT_USING_SAL 235 #define SAL_INTERNET_CHECK 236 237 /* Docking with protocol stacks */ 238 239 #define SAL_USING_LWIP 240 /* end of Docking with protocol stacks */ 241 #define SAL_USING_POSIX 242 #define RT_USING_NETDEV 243 #define NETDEV_USING_IFCONFIG 244 #define NETDEV_USING_PING 245 #define NETDEV_USING_NETSTAT 246 #define NETDEV_USING_AUTO_DEFAULT 247 #define NETDEV_IPV4 1 248 #define NETDEV_IPV6 0 249 #define RT_USING_LWIP 250 #define RT_USING_LWIP203 251 #define RT_USING_LWIP_VER_NUM 0x20003 252 #define RT_LWIP_MEM_ALIGNMENT 4 253 #define RT_LWIP_IGMP 254 #define RT_LWIP_ICMP 255 #define RT_LWIP_DNS 256 #define RT_LWIP_DHCP 257 #define IP_SOF_BROADCAST 1 258 #define IP_SOF_BROADCAST_RECV 1 259 260 /* Static IPv4 Address */ 261 262 #define RT_LWIP_IPADDR "192.168.111.172" 263 #define RT_LWIP_GWADDR "192.168.111.1" 264 #define RT_LWIP_MSKADDR "255.255.255.0" 265 /* end of Static IPv4 Address */ 266 #define RT_LWIP_UDP 267 #define RT_LWIP_TCP 268 #define RT_LWIP_RAW 269 #define RT_MEMP_NUM_NETCONN 8 270 #define RT_LWIP_PBUF_NUM 16 271 #define RT_LWIP_RAW_PCB_NUM 4 272 #define RT_LWIP_UDP_PCB_NUM 4 273 #define RT_LWIP_TCP_PCB_NUM 4 274 #define RT_LWIP_TCP_SEG_NUM 40 275 #define RT_LWIP_TCP_SND_BUF 8196 276 #define RT_LWIP_TCP_WND 8196 277 #define RT_LWIP_TCPTHREAD_PRIORITY 10 278 #define RT_LWIP_TCPTHREAD_MBOX_SIZE 8 279 #define RT_LWIP_TCPTHREAD_STACKSIZE 1024 280 #define RT_LWIP_ETHTHREAD_PRIORITY 12 281 #define RT_LWIP_ETHTHREAD_STACKSIZE 1024 282 #define RT_LWIP_ETHTHREAD_MBOX_SIZE 8 283 #define LWIP_NETIF_STATUS_CALLBACK 1 284 #define LWIP_NETIF_LINK_CALLBACK 1 285 #define RT_LWIP_NETIF_NAMESIZE 6 286 #define SO_REUSE 1 287 #define LWIP_SO_RCVTIMEO 1 288 #define LWIP_SO_SNDTIMEO 1 289 #define LWIP_SO_RCVBUF 1 290 #define LWIP_SO_LINGER 0 291 #define LWIP_NETIF_LOOPBACK 0 292 #define RT_LWIP_USING_PING 293 /* end of Network */ 294 295 /* Memory protection */ 296 297 /* end of Memory protection */ 298 299 /* Utilities */ 300 301 #define RT_USING_ADT 302 #define RT_USING_ADT_AVL 303 #define RT_USING_ADT_BITMAP 304 #define RT_USING_ADT_HASHMAP 305 #define RT_USING_ADT_REF 306 /* end of Utilities */ 307 308 /* Memory management */ 309 310 #define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000 311 #define RT_PAGE_MAX_ORDER 11 312 313 /* Debugging */ 314 315 /* end of Debugging */ 316 /* end of Memory management */ 317 318 /* Using USB legacy version */ 319 320 /* end of Using USB legacy version */ 321 /* end of RT-Thread Components */ 322 323 /* RT-Thread Utestcases */ 324 325 /* end of RT-Thread Utestcases */ 326 327 /* RT-Thread online packages */ 328 329 /* IoT - internet of things */ 330 331 332 /* Wi-Fi */ 333 334 /* Marvell WiFi */ 335 336 /* end of Marvell WiFi */ 337 338 /* Wiced WiFi */ 339 340 /* end of Wiced WiFi */ 341 342 /* CYW43012 WiFi */ 343 344 /* end of CYW43012 WiFi */ 345 346 /* BL808 WiFi */ 347 348 /* end of BL808 WiFi */ 349 350 /* CYW43439 WiFi */ 351 352 /* end of CYW43439 WiFi */ 353 /* end of Wi-Fi */ 354 355 /* IoT Cloud */ 356 357 /* end of IoT Cloud */ 358 /* end of IoT - internet of things */ 359 360 /* security packages */ 361 362 /* end of security packages */ 363 364 /* language packages */ 365 366 /* JSON: JavaScript Object Notation, a lightweight data-interchange format */ 367 368 /* end of JSON: JavaScript Object Notation, a lightweight data-interchange format */ 369 370 /* XML: Extensible Markup Language */ 371 372 /* end of XML: Extensible Markup Language */ 373 /* end of language packages */ 374 375 /* multimedia packages */ 376 377 /* LVGL: powerful and easy-to-use embedded GUI library */ 378 379 /* end of LVGL: powerful and easy-to-use embedded GUI library */ 380 381 /* u8g2: a monochrome graphic library */ 382 383 /* end of u8g2: a monochrome graphic library */ 384 /* end of multimedia packages */ 385 386 /* tools packages */ 387 388 /* end of tools packages */ 389 390 /* system packages */ 391 392 /* enhanced kernel services */ 393 394 /* end of enhanced kernel services */ 395 396 /* acceleration: Assembly language or algorithmic acceleration packages */ 397 398 /* end of acceleration: Assembly language or algorithmic acceleration packages */ 399 400 /* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */ 401 402 /* end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */ 403 404 /* Micrium: Micrium software products porting for RT-Thread */ 405 406 /* end of Micrium: Micrium software products porting for RT-Thread */ 407 /* end of system packages */ 408 409 /* peripheral libraries and drivers */ 410 411 /* HAL & SDK Drivers */ 412 413 /* STM32 HAL & SDK Drivers */ 414 415 /* end of STM32 HAL & SDK Drivers */ 416 417 /* Infineon HAL Packages */ 418 419 /* end of Infineon HAL Packages */ 420 421 /* Kendryte SDK */ 422 423 /* end of Kendryte SDK */ 424 425 /* WCH HAL & SDK Drivers */ 426 427 /* end of WCH HAL & SDK Drivers */ 428 429 /* AT32 HAL & SDK Drivers */ 430 431 /* end of AT32 HAL & SDK Drivers */ 432 433 /* HC32 DDL Drivers */ 434 435 /* end of HC32 DDL Drivers */ 436 437 /* NXP HAL & SDK Drivers */ 438 439 /* end of NXP HAL & SDK Drivers */ 440 /* end of HAL & SDK Drivers */ 441 442 /* sensors drivers */ 443 444 /* end of sensors drivers */ 445 446 /* touch drivers */ 447 448 /* end of touch drivers */ 449 /* end of peripheral libraries and drivers */ 450 451 /* AI packages */ 452 453 /* end of AI packages */ 454 455 /* Signal Processing and Control Algorithm Packages */ 456 457 /* end of Signal Processing and Control Algorithm Packages */ 458 459 /* miscellaneous packages */ 460 461 /* project laboratory */ 462 463 /* end of project laboratory */ 464 465 /* samples: kernel and components samples */ 466 467 /* end of samples: kernel and components samples */ 468 469 /* entertainment: terminal games and other interesting software packages */ 470 471 /* end of entertainment: terminal games and other interesting software packages */ 472 /* end of miscellaneous packages */ 473 474 /* Arduino libraries */ 475 476 477 /* Projects and Demos */ 478 479 /* end of Projects and Demos */ 480 481 /* Sensors */ 482 483 /* end of Sensors */ 484 485 /* Display */ 486 487 /* end of Display */ 488 489 /* Timing */ 490 491 /* end of Timing */ 492 493 /* Data Processing */ 494 495 /* end of Data Processing */ 496 497 /* Data Storage */ 498 499 /* Communication */ 500 501 /* end of Communication */ 502 503 /* Device Control */ 504 505 /* end of Device Control */ 506 507 /* Other */ 508 509 /* end of Other */ 510 511 /* Signal IO */ 512 513 /* end of Signal IO */ 514 515 /* Uncategorized */ 516 517 /* end of Arduino libraries */ 518 /* end of RT-Thread online packages */ 519 #define BCM2711_SOC 520 521 /* Hardware Drivers Config */ 522 523 /* BCM Peripheral Drivers */ 524 525 #define BSP_USING_UART 526 #define RT_USING_UART0 527 #define RT_USING_UART1 528 #define RT_USING_UART3 529 #define RT_USING_UART5 530 #define BSP_USING_GIC 531 #define BSP_USING_GIC400 532 #define BSP_USING_PIN 533 #define BSP_USING_SPI 534 #define BSP_USING_SPI0_BUS 535 #define BSP_USING_SPI0_DEVICE0 536 #define BSP_USING_SPI0_DEVICE1 537 #define BSP_USING_I2C 538 #define BSP_USING_I2C3 539 #define BSP_USING_CORETIMER 540 #define BSP_USING_WDT 541 #define BSP_USING_ETH 542 #define BSP_USING_SDIO 543 #define BSP_USING_SDIO0 544 /* end of BCM Peripheral Drivers */ 545 546 /* Board Peripheral Drivers */ 547 548 #define BSP_USING_TOUCH 549 #define BSP_USING_DSI_TOUCH_DEV 550 /* end of Board Peripheral Drivers */ 551 /* end of Hardware Drivers Config */ 552 553 #endif 554