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