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_SAMD51P19
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