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 256 76 #define RT_USING_TIMER_SOFT 77 #define RT_TIMER_THREAD_PRIO 4 78 #define RT_TIMER_THREAD_STACK_SIZE 512 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 "uart0" 108 #define RT_VER_NUM 0x50201 109 #define RT_BACKTRACE_LEVEL_MAX_NR 32 110 /* end of RT-Thread Kernel */ 111 #define RT_USING_HW_ATOMIC 112 #define RT_USING_CPU_FFS 113 #define ARCH_ARM 114 #define ARCH_ARM_CORTEX_M 115 #define ARCH_ARM_CORTEX_M4 116 117 /* RT-Thread Components */ 118 119 #define RT_USING_COMPONENTS_INIT 120 #define RT_USING_USER_MAIN 121 #define RT_MAIN_THREAD_STACK_SIZE 2048 122 #define RT_MAIN_THREAD_PRIORITY 10 123 #define RT_USING_MSH 124 #define RT_USING_FINSH 125 #define FINSH_USING_MSH 126 #define FINSH_THREAD_NAME "tshell" 127 #define FINSH_THREAD_PRIORITY 20 128 #define FINSH_THREAD_STACK_SIZE 4096 129 #define FINSH_USING_HISTORY 130 #define FINSH_HISTORY_LINES 5 131 #define FINSH_USING_SYMTAB 132 #define FINSH_CMD_SIZE 80 133 #define MSH_USING_BUILT_IN_COMMANDS 134 #define FINSH_USING_DESCRIPTION 135 #define FINSH_ARG_MAX 10 136 #define FINSH_USING_OPTION_COMPLETION 137 138 /* DFS: device virtual file system */ 139 140 #define RT_USING_DFS 141 #define DFS_USING_POSIX 142 #define DFS_USING_WORKDIR 143 #define DFS_FD_MAX 16 144 #define RT_USING_DFS_V1 145 #define DFS_FILESYSTEMS_MAX 4 146 #define DFS_FILESYSTEM_TYPES_MAX 4 147 #define RT_USING_DFS_DEVFS 148 /* end of DFS: device virtual file system */ 149 150 /* Device Drivers */ 151 152 #define RT_USING_DEVICE_IPC 153 #define RT_UNAMED_PIPE_NUMBER 64 154 #define RT_USING_SYSTEM_WORKQUEUE 155 #define RT_SYSTEM_WORKQUEUE_STACKSIZE 2048 156 #define RT_SYSTEM_WORKQUEUE_PRIORITY 23 157 #define RT_USING_SERIAL 158 #define RT_USING_SERIAL_V1 159 #define RT_SERIAL_USING_DMA 160 #define RT_SERIAL_RB_BUFSZ 64 161 #define RT_USING_I2C 162 #define RT_USING_RTC 163 #define RT_USING_KTIME 164 /* end of Device Drivers */ 165 166 /* C/C++ and POSIX layer */ 167 168 /* ISO-ANSI C layer */ 169 170 /* Timezone and Daylight Saving Time */ 171 172 #define RT_LIBC_USING_LIGHT_TZ_DST 173 #define RT_LIBC_TZ_DEFAULT_HOUR 8 174 #define RT_LIBC_TZ_DEFAULT_MIN 0 175 #define RT_LIBC_TZ_DEFAULT_SEC 0 176 /* end of Timezone and Daylight Saving Time */ 177 /* end of ISO-ANSI C layer */ 178 179 /* POSIX (Portable Operating System Interface) layer */ 180 181 #define RT_USING_POSIX_FS 182 #define RT_USING_POSIX_DEVIO 183 #define RT_USING_POSIX_POLL 184 #define RT_USING_POSIX_SELECT 185 #define RT_USING_POSIX_SOCKET 186 #define RT_USING_POSIX_AIO 187 #define RT_USING_POSIX_DELAY 188 #define RT_USING_POSIX_CLOCK 189 #define RT_USING_POSIX_TIMER 190 #define RT_USING_PTHREADS 191 #define PTHREAD_NUM_MAX 8 192 193 /* Interprocess Communication (IPC) */ 194 195 196 /* Socket is in the 'Network' category */ 197 198 /* end of Interprocess Communication (IPC) */ 199 /* end of POSIX (Portable Operating System Interface) layer */ 200 /* end of C/C++ and POSIX layer */ 201 202 /* Network */ 203 204 #define RT_USING_SAL 205 #define SAL_INTERNET_CHECK 206 207 /* Docking with protocol stacks */ 208 209 #define SAL_USING_LWIP 210 /* end of Docking with protocol stacks */ 211 #define SAL_USING_POSIX 212 #define RT_USING_NETDEV 213 #define NETDEV_USING_IFCONFIG 214 #define NETDEV_USING_PING 215 #define NETDEV_USING_NETSTAT 216 #define NETDEV_USING_AUTO_DEFAULT 217 #define NETDEV_IPV4 1 218 #define NETDEV_IPV6 0 219 #define RT_USING_LWIP 220 #define RT_USING_LWIP_LOCAL_VERSION 221 #define RT_USING_LWIP212 222 #define RT_USING_LWIP_VER_NUM 0x20102 223 #define RT_LWIP_MEM_ALIGNMENT 4 224 #define RT_LWIP_IGMP 225 #define RT_LWIP_ICMP 226 #define RT_LWIP_DNS 227 #define RT_LWIP_DHCP 228 #define IP_SOF_BROADCAST 1 229 #define IP_SOF_BROADCAST_RECV 1 230 231 /* Static IPv4 Address */ 232 233 #define RT_LWIP_IPADDR "192.168.1.30" 234 #define RT_LWIP_GWADDR "192.168.1.1" 235 #define RT_LWIP_MSKADDR "255.255.255.0" 236 /* end of Static IPv4 Address */ 237 #define RT_LWIP_UDP 238 #define RT_LWIP_TCP 239 #define RT_LWIP_RAW 240 #define RT_MEMP_NUM_NETCONN 8 241 #define RT_LWIP_PBUF_NUM 16 242 #define RT_LWIP_RAW_PCB_NUM 4 243 #define RT_LWIP_UDP_PCB_NUM 4 244 #define RT_LWIP_TCP_PCB_NUM 4 245 #define RT_LWIP_TCP_SEG_NUM 40 246 #define RT_LWIP_TCP_SND_BUF 8196 247 #define RT_LWIP_TCP_WND 8196 248 #define RT_LWIP_TCPTHREAD_PRIORITY 10 249 #define RT_LWIP_TCPTHREAD_MBOX_SIZE 8 250 #define RT_LWIP_TCPTHREAD_STACKSIZE 1024 251 #define RT_LWIP_ETHTHREAD_PRIORITY 12 252 #define RT_LWIP_ETHTHREAD_STACKSIZE 1024 253 #define RT_LWIP_ETHTHREAD_MBOX_SIZE 8 254 #define LWIP_NETIF_STATUS_CALLBACK 1 255 #define LWIP_NETIF_LINK_CALLBACK 1 256 #define RT_LWIP_NETIF_NAMESIZE 6 257 #define SO_REUSE 1 258 #define LWIP_SO_RCVTIMEO 1 259 #define LWIP_SO_SNDTIMEO 1 260 #define LWIP_SO_RCVBUF 1 261 #define LWIP_SO_LINGER 0 262 #define LWIP_NETIF_LOOPBACK 0 263 #define RT_LWIP_USING_PING 264 /* end of Network */ 265 266 /* Memory protection */ 267 268 /* end of Memory protection */ 269 270 /* Utilities */ 271 272 #define RT_USING_RESOURCE_ID 273 /* end of Utilities */ 274 275 /* Using USB legacy version */ 276 277 /* end of Using USB legacy version */ 278 /* end of RT-Thread Components */ 279 280 /* RT-Thread Utestcases */ 281 282 /* end of RT-Thread Utestcases */ 283 284 /* RT-Thread online packages */ 285 286 /* IoT - internet of things */ 287 288 289 /* Wi-Fi */ 290 291 /* Marvell WiFi */ 292 293 /* end of Marvell WiFi */ 294 295 /* Wiced WiFi */ 296 297 /* end of Wiced WiFi */ 298 299 /* CYW43012 WiFi */ 300 301 /* end of CYW43012 WiFi */ 302 303 /* BL808 WiFi */ 304 305 /* end of BL808 WiFi */ 306 307 /* CYW43439 WiFi */ 308 309 /* end of CYW43439 WiFi */ 310 /* end of Wi-Fi */ 311 312 /* IoT Cloud */ 313 314 /* end of IoT Cloud */ 315 /* end of IoT - internet of things */ 316 317 /* security packages */ 318 319 /* end of security packages */ 320 321 /* language packages */ 322 323 /* JSON: JavaScript Object Notation, a lightweight data-interchange format */ 324 325 /* end of JSON: JavaScript Object Notation, a lightweight data-interchange format */ 326 327 /* XML: Extensible Markup Language */ 328 329 /* end of XML: Extensible Markup Language */ 330 /* end of language packages */ 331 332 /* multimedia packages */ 333 334 /* LVGL: powerful and easy-to-use embedded GUI library */ 335 336 /* end of LVGL: powerful and easy-to-use embedded GUI library */ 337 338 /* u8g2: a monochrome graphic library */ 339 340 /* end of u8g2: a monochrome graphic library */ 341 /* end of multimedia packages */ 342 343 /* tools packages */ 344 345 /* end of tools packages */ 346 347 /* system packages */ 348 349 /* enhanced kernel services */ 350 351 /* end of enhanced kernel services */ 352 353 /* acceleration: Assembly language or algorithmic acceleration packages */ 354 355 /* end of acceleration: Assembly language or algorithmic acceleration packages */ 356 357 /* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */ 358 359 /* end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */ 360 361 /* Micrium: Micrium software products porting for RT-Thread */ 362 363 /* end of Micrium: Micrium software products porting for RT-Thread */ 364 /* end of system packages */ 365 366 /* peripheral libraries and drivers */ 367 368 /* HAL & SDK Drivers */ 369 370 /* STM32 HAL & SDK Drivers */ 371 372 /* end of STM32 HAL & SDK Drivers */ 373 374 /* Infineon HAL Packages */ 375 376 /* end of Infineon HAL Packages */ 377 378 /* Kendryte SDK */ 379 380 /* end of Kendryte SDK */ 381 382 /* WCH HAL & SDK Drivers */ 383 384 /* end of WCH HAL & SDK Drivers */ 385 386 /* AT32 HAL & SDK Drivers */ 387 388 /* end of AT32 HAL & SDK Drivers */ 389 390 /* HC32 DDL Drivers */ 391 392 /* end of HC32 DDL Drivers */ 393 394 /* NXP HAL & SDK Drivers */ 395 396 /* end of NXP HAL & SDK Drivers */ 397 /* end of HAL & SDK Drivers */ 398 399 /* sensors drivers */ 400 401 /* end of sensors drivers */ 402 403 /* touch drivers */ 404 405 /* end of touch drivers */ 406 /* end of peripheral libraries and drivers */ 407 408 /* AI packages */ 409 410 /* end of AI packages */ 411 412 /* Signal Processing and Control Algorithm Packages */ 413 414 /* end of Signal Processing and Control Algorithm Packages */ 415 416 /* miscellaneous packages */ 417 418 /* project laboratory */ 419 420 /* end of project laboratory */ 421 422 /* samples: kernel and components samples */ 423 424 /* end of samples: kernel and components samples */ 425 426 /* entertainment: terminal games and other interesting software packages */ 427 428 /* end of entertainment: terminal games and other interesting software packages */ 429 /* end of miscellaneous packages */ 430 431 /* Arduino libraries */ 432 433 434 /* Projects and Demos */ 435 436 /* end of Projects and Demos */ 437 438 /* Sensors */ 439 440 /* end of Sensors */ 441 442 /* Display */ 443 444 /* end of Display */ 445 446 /* Timing */ 447 448 /* end of Timing */ 449 450 /* Data Processing */ 451 452 /* end of Data Processing */ 453 454 /* Data Storage */ 455 456 /* Communication */ 457 458 /* end of Communication */ 459 460 /* Device Control */ 461 462 /* end of Device Control */ 463 464 /* Other */ 465 466 /* end of Other */ 467 468 /* Signal IO */ 469 470 /* end of Signal IO */ 471 472 /* Uncategorized */ 473 474 /* end of Arduino libraries */ 475 /* end of RT-Thread online packages */ 476 477 /* Hardware Drivers Config */ 478 479 #define SOC_SAME54P20 480 /* end of Hardware Drivers Config */ 481 482 /* Onboard Peripheral Drivers */ 483 484 #define SAME5X_CAN0 485 #define SAME5X_ADC0 486 #define SAME5X_I2C0 487 #define SAME5X_GMAC 488 /* end of Onboard Peripheral Drivers */ 489 490 /* Application Demo Config */ 491 492 #define SAM_CAN_EXAMPLE 493 #define SAM_ADC_EXAMPLE 494 #define SAM_I2C_EXAMPLE 495 #define SAM_LWIP_EXAMPLE 496 /* end of Application Demo Config */ 497 #define SOC_SAME54 498 499 #endif 500