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 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 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_MEMHEAP 102 #define RT_MEMHEAP_FAST_MODE 103 #define RT_USING_SMALL_MEM_AS_HEAP 104 #define RT_USING_HEAP 105 /* end of Memory Management */ 106 #define RT_USING_DEVICE 107 #define RT_USING_CONSOLE 108 #define RT_CONSOLEBUF_SIZE 128 109 #define RT_CONSOLE_DEVICE_NAME "uart0" 110 #define RT_VER_NUM 0x50201 111 #define RT_BACKTRACE_LEVEL_MAX_NR 32 112 /* end of RT-Thread Kernel */ 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 /* end of DFS: device virtual file system */ 138 139 /* Device Drivers */ 140 141 #define RT_USING_DEVICE_IPC 142 #define RT_UNAMED_PIPE_NUMBER 64 143 #define RT_USING_SERIAL 144 #define RT_USING_SERIAL_V1 145 #define RT_SERIAL_USING_DMA 146 #define RT_SERIAL_RB_BUFSZ 64 147 /* end of Device Drivers */ 148 149 /* C/C++ and POSIX layer */ 150 151 /* ISO-ANSI C layer */ 152 153 /* Timezone and Daylight Saving Time */ 154 155 #define RT_LIBC_USING_LIGHT_TZ_DST 156 #define RT_LIBC_TZ_DEFAULT_HOUR 8 157 #define RT_LIBC_TZ_DEFAULT_MIN 0 158 #define RT_LIBC_TZ_DEFAULT_SEC 0 159 /* end of Timezone and Daylight Saving Time */ 160 /* end of ISO-ANSI C layer */ 161 162 /* POSIX (Portable Operating System Interface) layer */ 163 164 165 /* Interprocess Communication (IPC) */ 166 167 168 /* Socket is in the 'Network' category */ 169 170 /* end of Interprocess Communication (IPC) */ 171 /* end of POSIX (Portable Operating System Interface) layer */ 172 /* end of C/C++ and POSIX layer */ 173 174 /* Network */ 175 176 #define NETDEV_USING_PING 177 #define RT_USING_LWIP 178 #define RT_USING_LWIP141 179 #define RT_USING_LWIP_VER_NUM 0x10401 180 #define RT_LWIP_MEM_ALIGNMENT 4 181 #define RT_LWIP_ICMP 182 #define RT_LWIP_DNS 183 #define RT_LWIP_DHCP 184 #define IP_SOF_BROADCAST 1 185 #define IP_SOF_BROADCAST_RECV 1 186 187 /* Static IPv4 Address */ 188 189 #define RT_LWIP_IPADDR "192.168.1.30" 190 #define RT_LWIP_GWADDR "192.168.1.1" 191 #define RT_LWIP_MSKADDR "255.255.255.0" 192 /* end of Static IPv4 Address */ 193 #define RT_LWIP_UDP 194 #define RT_LWIP_TCP 195 #define RT_LWIP_RAW 196 #define RT_MEMP_NUM_NETCONN 8 197 #define RT_LWIP_PBUF_NUM 16 198 #define RT_LWIP_RAW_PCB_NUM 4 199 #define RT_LWIP_UDP_PCB_NUM 4 200 #define RT_LWIP_TCP_PCB_NUM 4 201 #define RT_LWIP_TCP_SEG_NUM 40 202 #define RT_LWIP_TCP_SND_BUF 8196 203 #define RT_LWIP_TCP_WND 8196 204 #define RT_LWIP_TCPTHREAD_PRIORITY 10 205 #define RT_LWIP_TCPTHREAD_MBOX_SIZE 8 206 #define RT_LWIP_TCPTHREAD_STACKSIZE 1024 207 #define RT_LWIP_ETHTHREAD_PRIORITY 12 208 #define RT_LWIP_ETHTHREAD_STACKSIZE 1024 209 #define RT_LWIP_ETHTHREAD_MBOX_SIZE 8 210 #define LWIP_NETIF_STATUS_CALLBACK 1 211 #define LWIP_NETIF_LINK_CALLBACK 1 212 #define RT_LWIP_NETIF_NAMESIZE 6 213 #define SO_REUSE 1 214 #define LWIP_SO_RCVTIMEO 1 215 #define LWIP_SO_SNDTIMEO 1 216 #define LWIP_SO_RCVBUF 1 217 #define LWIP_SO_LINGER 0 218 #define LWIP_NETIF_LOOPBACK 0 219 #define RT_LWIP_USING_PING 220 /* end of Network */ 221 222 /* Memory protection */ 223 224 /* end of Memory protection */ 225 226 /* Utilities */ 227 228 /* end of Utilities */ 229 230 /* Using USB legacy version */ 231 232 /* end of Using USB legacy version */ 233 /* end of RT-Thread Components */ 234 235 /* RT-Thread Utestcases */ 236 237 /* end of RT-Thread Utestcases */ 238 239 /* RT-Thread online packages */ 240 241 /* IoT - internet of things */ 242 243 244 /* Wi-Fi */ 245 246 /* Marvell WiFi */ 247 248 /* end of Marvell WiFi */ 249 250 /* Wiced WiFi */ 251 252 /* end of Wiced WiFi */ 253 254 /* CYW43012 WiFi */ 255 256 /* end of CYW43012 WiFi */ 257 258 /* BL808 WiFi */ 259 260 /* end of BL808 WiFi */ 261 262 /* CYW43439 WiFi */ 263 264 /* end of CYW43439 WiFi */ 265 /* end of Wi-Fi */ 266 267 /* IoT Cloud */ 268 269 /* end of IoT Cloud */ 270 /* end of IoT - internet of things */ 271 272 /* security packages */ 273 274 /* end of security packages */ 275 276 /* language packages */ 277 278 /* JSON: JavaScript Object Notation, a lightweight data-interchange format */ 279 280 /* end of JSON: JavaScript Object Notation, a lightweight data-interchange format */ 281 282 /* XML: Extensible Markup Language */ 283 284 /* end of XML: Extensible Markup Language */ 285 /* end of language packages */ 286 287 /* multimedia packages */ 288 289 /* LVGL: powerful and easy-to-use embedded GUI library */ 290 291 /* end of LVGL: powerful and easy-to-use embedded GUI library */ 292 293 /* u8g2: a monochrome graphic library */ 294 295 /* end of u8g2: a monochrome graphic library */ 296 /* end of multimedia packages */ 297 298 /* tools packages */ 299 300 /* end of tools packages */ 301 302 /* system packages */ 303 304 /* enhanced kernel services */ 305 306 /* end of enhanced kernel services */ 307 308 /* acceleration: Assembly language or algorithmic acceleration packages */ 309 310 /* end of acceleration: Assembly language or algorithmic acceleration packages */ 311 312 /* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */ 313 314 /* end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */ 315 316 /* Micrium: Micrium software products porting for RT-Thread */ 317 318 /* end of Micrium: Micrium software products porting for RT-Thread */ 319 /* end of system packages */ 320 321 /* peripheral libraries and drivers */ 322 323 /* HAL & SDK Drivers */ 324 325 /* STM32 HAL & SDK Drivers */ 326 327 /* end of STM32 HAL & SDK Drivers */ 328 329 /* Infineon HAL Packages */ 330 331 /* end of Infineon HAL Packages */ 332 333 /* Kendryte SDK */ 334 335 /* end of Kendryte SDK */ 336 337 /* WCH HAL & SDK Drivers */ 338 339 /* end of WCH HAL & SDK Drivers */ 340 341 /* AT32 HAL & SDK Drivers */ 342 343 /* end of AT32 HAL & SDK Drivers */ 344 345 /* HC32 DDL Drivers */ 346 347 /* end of HC32 DDL Drivers */ 348 349 /* NXP HAL & SDK Drivers */ 350 351 /* end of NXP HAL & SDK Drivers */ 352 /* end of HAL & SDK Drivers */ 353 354 /* sensors drivers */ 355 356 /* end of sensors drivers */ 357 358 /* touch drivers */ 359 360 /* end of touch drivers */ 361 /* end of peripheral libraries and drivers */ 362 363 /* AI packages */ 364 365 /* end of AI packages */ 366 367 /* Signal Processing and Control Algorithm Packages */ 368 369 /* end of Signal Processing and Control Algorithm Packages */ 370 371 /* miscellaneous packages */ 372 373 /* project laboratory */ 374 375 /* end of project laboratory */ 376 377 /* samples: kernel and components samples */ 378 379 /* end of samples: kernel and components samples */ 380 381 /* entertainment: terminal games and other interesting software packages */ 382 383 /* end of entertainment: terminal games and other interesting software packages */ 384 /* end of miscellaneous packages */ 385 386 /* Arduino libraries */ 387 388 389 /* Projects and Demos */ 390 391 /* end of Projects and Demos */ 392 393 /* Sensors */ 394 395 /* end of Sensors */ 396 397 /* Display */ 398 399 /* end of Display */ 400 401 /* Timing */ 402 403 /* end of Timing */ 404 405 /* Data Processing */ 406 407 /* end of Data Processing */ 408 409 /* Data Storage */ 410 411 /* Communication */ 412 413 /* end of Communication */ 414 415 /* Device Control */ 416 417 /* end of Device Control */ 418 419 /* Other */ 420 421 /* end of Other */ 422 423 /* Signal IO */ 424 425 /* end of Signal IO */ 426 427 /* Uncategorized */ 428 429 /* end of Arduino libraries */ 430 /* end of RT-Thread online packages */ 431 #define SOC_TM4C129 432 #define RT_USING_UART0 433 434 #endif 435