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