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 84 /* Inter-Thread communication */ 85 86 #define RT_USING_SEMAPHORE 87 #define RT_USING_MUTEX 88 #define RT_USING_EVENT 89 #define RT_USING_MAILBOX 90 #define RT_USING_MESSAGEQUEUE 91 /* end of Inter-Thread communication */ 92 93 /* Memory Management */ 94 95 #define RT_USING_MEMPOOL 96 #define RT_USING_SMALL_MEM 97 #define RT_USING_SMALL_MEM_AS_HEAP 98 #define RT_USING_HEAP 99 /* end of Memory Management */ 100 #define RT_USING_DEVICE 101 #define RT_USING_DEVICE_OPS 102 #define RT_USING_CONSOLE 103 #define RT_CONSOLEBUF_SIZE 128 104 #define RT_CONSOLE_DEVICE_NAME "uart0" 105 #define RT_VER_NUM 0x50201 106 #define RT_BACKTRACE_LEVEL_MAX_NR 32 107 /* end of RT-Thread Kernel */ 108 #define RT_USING_HW_ATOMIC 109 #define RT_USING_CPU_FFS 110 #define ARCH_ARM 111 #define ARCH_ARM_CORTEX_M 112 #define ARCH_ARM_CORTEX_M4 113 114 /* RT-Thread Components */ 115 116 #define RT_USING_COMPONENTS_INIT 117 #define RT_USING_USER_MAIN 118 #define RT_MAIN_THREAD_STACK_SIZE 2048 119 #define RT_MAIN_THREAD_PRIORITY 10 120 #define RT_USING_MSH 121 #define RT_USING_FINSH 122 #define FINSH_USING_MSH 123 #define FINSH_THREAD_NAME "tshell" 124 #define FINSH_THREAD_PRIORITY 20 125 #define FINSH_THREAD_STACK_SIZE 4096 126 #define FINSH_USING_HISTORY 127 #define FINSH_HISTORY_LINES 5 128 #define FINSH_USING_SYMTAB 129 #define FINSH_CMD_SIZE 80 130 #define MSH_USING_BUILT_IN_COMMANDS 131 #define FINSH_USING_DESCRIPTION 132 #define FINSH_ARG_MAX 10 133 #define FINSH_USING_OPTION_COMPLETION 134 135 /* DFS: device virtual file system */ 136 137 #define RT_USING_DFS 138 #define DFS_USING_POSIX 139 #define DFS_USING_WORKDIR 140 #define DFS_FD_MAX 16 141 #define RT_USING_DFS_V1 142 #define DFS_FILESYSTEMS_MAX 4 143 #define DFS_FILESYSTEM_TYPES_MAX 4 144 #define RT_USING_DFS_DEVFS 145 /* end of DFS: device virtual file system */ 146 147 /* Device Drivers */ 148 149 #define RT_USING_DEVICE_IPC 150 #define RT_UNAMED_PIPE_NUMBER 64 151 #define RT_USING_SYSTEM_WORKQUEUE 152 #define RT_SYSTEM_WORKQUEUE_STACKSIZE 2048 153 #define RT_SYSTEM_WORKQUEUE_PRIORITY 23 154 #define RT_USING_SERIAL 155 #define RT_USING_SERIAL_V2 156 #define RT_SERIAL_BUF_STRATEGY_OVERWRITE 157 #define RT_SERIAL_USING_DMA 158 #define RT_USING_I2C 159 #define RT_USING_KTIME 160 /* end of Device Drivers */ 161 162 /* C/C++ and POSIX layer */ 163 164 /* ISO-ANSI C layer */ 165 166 /* Timezone and Daylight Saving Time */ 167 168 #define RT_LIBC_USING_LIGHT_TZ_DST 169 #define RT_LIBC_TZ_DEFAULT_HOUR 8 170 #define RT_LIBC_TZ_DEFAULT_MIN 0 171 #define RT_LIBC_TZ_DEFAULT_SEC 0 172 /* end of Timezone and Daylight Saving Time */ 173 /* end of ISO-ANSI C layer */ 174 175 /* POSIX (Portable Operating System Interface) layer */ 176 177 #define RT_USING_POSIX_FS 178 #define RT_USING_POSIX_DEVIO 179 #define RT_USING_POSIX_POLL 180 #define RT_USING_POSIX_SELECT 181 #define RT_USING_POSIX_SOCKET 182 #define RT_USING_POSIX_AIO 183 #define RT_USING_POSIX_DELAY 184 #define RT_USING_POSIX_CLOCK 185 #define RT_USING_POSIX_TIMER 186 #define RT_USING_PTHREADS 187 #define PTHREAD_NUM_MAX 8 188 189 /* Interprocess Communication (IPC) */ 190 191 192 /* Socket is in the 'Network' category */ 193 194 /* end of Interprocess Communication (IPC) */ 195 /* end of POSIX (Portable Operating System Interface) layer */ 196 /* end of C/C++ and POSIX layer */ 197 198 /* Network */ 199 200 #define RT_USING_SAL 201 202 /* Docking with protocol stacks */ 203 204 /* end of Docking with protocol stacks */ 205 #define SAL_USING_POSIX 206 #define RT_USING_NETDEV 207 #define NETDEV_IPV4 1 208 #define NETDEV_IPV6 0 209 /* end of Network */ 210 211 /* Memory protection */ 212 213 /* end of Memory protection */ 214 215 /* Utilities */ 216 217 #define RT_USING_RESOURCE_ID 218 /* end of Utilities */ 219 220 /* Using USB legacy version */ 221 222 /* end of Using USB legacy version */ 223 /* end of RT-Thread Components */ 224 225 /* RT-Thread Utestcases */ 226 227 /* end of RT-Thread Utestcases */ 228 229 /* RT-Thread online packages */ 230 231 /* IoT - internet of things */ 232 233 234 /* Wi-Fi */ 235 236 /* Marvell WiFi */ 237 238 /* end of Marvell WiFi */ 239 240 /* Wiced WiFi */ 241 242 /* end of Wiced WiFi */ 243 244 /* CYW43012 WiFi */ 245 246 /* end of CYW43012 WiFi */ 247 248 /* BL808 WiFi */ 249 250 /* end of BL808 WiFi */ 251 252 /* CYW43439 WiFi */ 253 254 /* end of CYW43439 WiFi */ 255 /* end of Wi-Fi */ 256 257 /* IoT Cloud */ 258 259 /* end of IoT Cloud */ 260 /* end of IoT - internet of things */ 261 262 /* security packages */ 263 264 /* end of security packages */ 265 266 /* language packages */ 267 268 /* JSON: JavaScript Object Notation, a lightweight data-interchange format */ 269 270 /* end of JSON: JavaScript Object Notation, a lightweight data-interchange format */ 271 272 /* XML: Extensible Markup Language */ 273 274 /* end of XML: Extensible Markup Language */ 275 /* end of language packages */ 276 277 /* multimedia packages */ 278 279 /* LVGL: powerful and easy-to-use embedded GUI library */ 280 281 /* end of LVGL: powerful and easy-to-use embedded GUI library */ 282 283 /* u8g2: a monochrome graphic library */ 284 285 /* end of u8g2: a monochrome graphic library */ 286 /* end of multimedia packages */ 287 288 /* tools packages */ 289 290 /* end of tools packages */ 291 292 /* system packages */ 293 294 /* enhanced kernel services */ 295 296 /* end of enhanced kernel services */ 297 298 /* acceleration: Assembly language or algorithmic acceleration packages */ 299 300 /* end of acceleration: Assembly language or algorithmic acceleration packages */ 301 302 /* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */ 303 304 /* end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */ 305 306 /* Micrium: Micrium software products porting for RT-Thread */ 307 308 /* end of Micrium: Micrium software products porting for RT-Thread */ 309 /* end of system packages */ 310 311 /* peripheral libraries and drivers */ 312 313 /* HAL & SDK Drivers */ 314 315 /* STM32 HAL & SDK Drivers */ 316 317 /* end of STM32 HAL & SDK Drivers */ 318 319 /* Infineon HAL Packages */ 320 321 /* end of Infineon HAL Packages */ 322 323 /* Kendryte SDK */ 324 325 /* end of Kendryte SDK */ 326 327 /* WCH HAL & SDK Drivers */ 328 329 /* end of WCH HAL & SDK Drivers */ 330 331 /* AT32 HAL & SDK Drivers */ 332 333 /* end of AT32 HAL & SDK Drivers */ 334 335 /* HC32 DDL Drivers */ 336 337 /* end of HC32 DDL Drivers */ 338 339 /* NXP HAL & SDK Drivers */ 340 341 /* end of NXP HAL & SDK Drivers */ 342 /* end of HAL & SDK Drivers */ 343 344 /* sensors drivers */ 345 346 /* end of sensors drivers */ 347 348 /* touch drivers */ 349 350 /* end of touch drivers */ 351 /* end of peripheral libraries and drivers */ 352 353 /* AI packages */ 354 355 /* end of AI packages */ 356 357 /* Signal Processing and Control Algorithm Packages */ 358 359 /* end of Signal Processing and Control Algorithm Packages */ 360 361 /* miscellaneous packages */ 362 363 /* project laboratory */ 364 365 /* end of project laboratory */ 366 367 /* samples: kernel and components samples */ 368 369 /* end of samples: kernel and components samples */ 370 371 /* entertainment: terminal games and other interesting software packages */ 372 373 /* end of entertainment: terminal games and other interesting software packages */ 374 /* end of miscellaneous packages */ 375 376 /* Arduino libraries */ 377 378 379 /* Projects and Demos */ 380 381 /* end of Projects and Demos */ 382 383 /* Sensors */ 384 385 /* end of Sensors */ 386 387 /* Display */ 388 389 /* end of Display */ 390 391 /* Timing */ 392 393 /* end of Timing */ 394 395 /* Data Processing */ 396 397 /* end of Data Processing */ 398 399 /* Data Storage */ 400 401 /* Communication */ 402 403 /* end of Communication */ 404 405 /* Device Control */ 406 407 /* end of Device Control */ 408 409 /* Other */ 410 411 /* end of Other */ 412 413 /* Signal IO */ 414 415 /* end of Signal IO */ 416 417 /* Uncategorized */ 418 419 /* end of Arduino libraries */ 420 /* end of RT-Thread online packages */ 421 422 /* Hardware Drivers Config */ 423 424 #define SOC_SAMD51J19 425 /* end of Hardware Drivers Config */ 426 427 /* Onboard Peripheral Drivers */ 428 429 /* end of Onboard Peripheral Drivers */ 430 431 /* Application Demo Config */ 432 433 /* end of Application Demo Config */ 434 #define SOC_SAMD51 435 436 #endif 437