rtconfig.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. #ifndef __RTTHREAD_CFG_H__
  2. #define __RTTHREAD_CFG_H__
  3. // <RDTConfigurator URL="http://www.rt-thread.com/eclipse">
  4. // <integer name="RT_NAME_MAX" description="Maximal size of kernel object name length" default="6" />
  5. #define RT_NAME_MAX 8
  6. // <integer name="RT_ALIGN_SIZE" description="Alignment size for CPU architecture data access" default="4" />
  7. #define RT_ALIGN_SIZE 4
  8. // <integer name="RT_THREAD_PRIORITY_MAX" description="Maximal level of thread priority" default="32">
  9. // <item description="8">8</item>
  10. // <item description="32">32</item>
  11. // <item description="256">256</item>
  12. // </integer>
  13. #define RT_THREAD_PRIORITY_MAX 32
  14. // <integer name="RT_TICK_PER_SECOND" description="OS tick per second" default="100" />
  15. #define RT_TICK_PER_SECOND 100
  16. // <integer name="IDLE_THREAD_STACK_SIZE" description="The stack size of idle thread" default="512" />
  17. #define IDLE_THREAD_STACK_SIZE 1024
  18. // <section name="RT_DEBUG" description="Kernel Debug Configuration" default="true" >
  19. #define RT_DEBUG
  20. // <integer name="RT_DEBUG_SCHEDULER" description="Enable scheduler debug information" default="0" />
  21. #define RT_DEBUG_SCHEDULER 0
  22. // <bool name="RT_USING_OVERFLOW_CHECK" description="Thread stack over flow detect" default="true" />
  23. #define RT_USING_OVERFLOW_CHECK
  24. // </section>
  25. // <bool name="RT_USING_HOOK" description="Using hook functions" default="true" />
  26. #define RT_USING_HOOK
  27. // <section name="RT_USING_TIMER_SOFT" description="Using software timer which will start a thread to handle soft-timer" default="true" >
  28. // #define RT_USING_TIMER_SOFT
  29. // <integer name="RT_TIMER_THREAD_PRIO" description="The priority level of timer thread" default="4" />
  30. #define RT_TIMER_THREAD_PRIO 4
  31. // <integer name="RT_TIMER_THREAD_STACK_SIZE" description="The stack size of timer thread" default="512" />
  32. #define RT_TIMER_THREAD_STACK_SIZE 512
  33. // </section>
  34. // <section name="IPC" description="Inter-Thread communication" default="always" >
  35. // <bool name="RT_USING_SEMAPHORE" description="Using semaphore in the system" default="true" />
  36. #define RT_USING_SEMAPHORE
  37. // <bool name="RT_USING_MUTEX" description="Using mutex in the system" default="true" />
  38. #define RT_USING_MUTEX
  39. // <bool name="RT_USING_EVENT" description="Using event group in the system" default="true" />
  40. #define RT_USING_EVENT
  41. // <bool name="RT_USING_MAILBOX" description="Using mailbox in the system" default="true" />
  42. #define RT_USING_MAILBOX
  43. // <bool name="RT_USING_MESSAGEQUEUE" description="Using message queue in the system" default="true" />
  44. #define RT_USING_MESSAGEQUEUE
  45. // </section>
  46. // <section name="MM" description="Memory Management" default="always" >
  47. // <bool name="RT_USING_MEMPOOL" description="Using Memory Pool Management in the system" default="true" />
  48. #define RT_USING_MEMPOOL
  49. // <bool name="RT_USING_MEMHEAP" description="Using Memory Heap Object in the system" default="true" />
  50. // #define RT_USING_MEMHEAP
  51. // <bool name="RT_USING_HEAP" description="Using Dynamic Heap Management in the system" default="true" />
  52. #define RT_USING_HEAP
  53. // <bool name="RT_USING_SMALL_MEM" description="Optimizing for small memory" default="false" />
  54. #define RT_USING_SMALL_MEM
  55. // <bool name="RT_USING_SLAB" description="Using SLAB memory management for large memory" default="false" />
  56. // #define RT_USING_SLAB
  57. // </section>
  58. // <section name="RT_USING_DEVICE" description="Using Device Driver Framework" default="true" >
  59. #define RT_USING_DEVICE
  60. // <bool name="RT_USING_SERIAL" description="Using serial frame work" default="true" />
  61. #define RT_USING_SERIAL
  62. // <bool name="RT_USING_SPI" description="Using SPI frame work" default="true" />
  63. // #define RT_USING_SPI
  64. // <bool name="RT_USING_DEVICE_IPC" description="Using IPC for device driver" default="true" />
  65. #define RT_USING_DEVICE_IPC
  66. // <bool name="RT_USING_SDIO" description="Using SDIO frame work for SD, MMC, SDIO wifi" default="true" />
  67. #define RT_USING_SDIO
  68. // <bool name="RT_USING_USB_DEVICE" description="Using USB Device Stack" default="true" />
  69. //#define RT_USING_USB_DEVICE
  70. // <bool name="RT_USING_USB_DEVICE" description="Using USB Device Stack" default="true" />
  71. //#define RT_USB_DEVICE_CDC
  72. //#define USB_VENDOR_ID 0x0483
  73. //#define USB_PRODUCT_ID 0x5740
  74. // </section>
  75. // <section name="RT_USING_CONSOLE" description="Using console" default="true" >
  76. #define RT_USING_CONSOLE
  77. // <integer name="RT_CONSOLEBUF_SIZE" description="The buffer size for console output" default="128" />
  78. #define RT_CONSOLEBUF_SIZE 128
  79. // <string name="RT_CONSOLE_DEVICE_NAME" description="The device name for console" default="uart1" />
  80. #define RT_CONSOLE_DEVICE_NAME "uart2"
  81. // </section>
  82. // <section name="RT_USING_FINSH" description="Using finsh as shell, which is a C-Express shell" default="true" >
  83. #define RT_USING_FINSH
  84. // <bool name="FINSH_USING_SYMTAB" description="Using symbol table in finsh shell" default="true" />
  85. #define FINSH_USING_SYMTAB
  86. // <bool name="FINSH_USING_DESCRIPTION" description="Keeping description in symbol table" default="true" />
  87. #define FINSH_USING_DESCRIPTION
  88. // <integer name="FINSH_THREAD_STACK_SIZE" description="The stack size for finsh thread" default="2048" />
  89. #define FINSH_THREAD_STACK_SIZE 4096
  90. // <bool name="FINSH_USING_MSH" description="Using module shell" default="true" />
  91. #define FINSH_USING_MSH
  92. // <bool name="FINSH_USING_MSH_DEFAULT" description="Using msh in default" default="true" />
  93. #define FINSH_USING_MSH_DEFAULT
  94. // <bool name="FINSH_USING_MSH_ONLY" description="Only using msh" default="true" />
  95. // #define FINSH_USING_MSH_ONLY
  96. // </section>
  97. // <section name="LIBC" description="C Runtime library setting" default="always" >
  98. // <bool name="RT_USING_LIBC" description="Using C library" default="true" />
  99. #define RT_USING_LIBC
  100. // <bool name="RT_USING_PTHREADS" description="Using POSIX threads library" default="true" />
  101. #define RT_USING_PTHREADS
  102. // <bool name="RT_USING_COMPONENTS_INIT" description="Using automatically component initialization." default="true" />
  103. #define RT_USING_COMPONENTS_INIT
  104. // <bool name="RT_USING_USER_MAIN" description="Using main() as user entry" default="true" />
  105. #define RT_USING_USER_MAIN
  106. // </section>
  107. // <section name="RT_USING_DFS" description="Device file system" default="true" >
  108. #define RT_USING_DFS
  109. // <bool name="DFS_USING_WORKDIR" description="Using working directory" default="true" />
  110. #define DFS_USING_WORKDIR
  111. // <integer name="DFS_FILESYSTEMS_MAX" description="The maximal number of mounted file system" default="4" />
  112. #define DFS_FILESYSTEMS_MAX 4
  113. // <integer name="DFS_FD_MAX" description="The maximal number of opened files" default="4" />
  114. #define DFS_FD_MAX 8
  115. // <bool name="RT_USING_DFS_ELMFAT" description="Using ELM FatFs" default="true" />
  116. #define RT_USING_DFS_ELMFAT
  117. // <integer name="RT_DFS_ELM_DRIVES" description="The maximal number of drives of FatFs" default="4" />
  118. #define RT_DFS_ELM_DRIVES 4
  119. // <bool name="RT_DFS_ELM_REENTRANT" description="Support reentrant" default="true" />
  120. #define RT_DFS_ELM_REENTRANT
  121. // <integer name="RT_DFS_ELM_USE_LFN" description="Support long file name" default="0">
  122. // <item description="Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect">0</item>
  123. // <item description="Enable LFN with static working buffer on the BSS. Always NOT reentrant">1</item>
  124. // <item description="Enable LFN with dynamic working buffer on the STACK">2</item>
  125. // <item description="Enable LFN with dynamic working buffer on the HEAP">3</item>
  126. // </integer>
  127. #define RT_DFS_ELM_USE_LFN 3
  128. // <integer name="RT_DFS_ELM_CODE_PAGE" description="OEM code page" default="936">
  129. #define RT_DFS_ELM_CODE_PAGE 437
  130. // <integer name="RT_DFS_ELM_MAX_LFN" description="Maximal size of file name length" default="255" />
  131. #define RT_DFS_ELM_MAX_LFN 255
  132. // <bool name="RT_USING_DFS_YAFFS2" description="Using YAFFS2" default="false" />
  133. // #define RT_USING_DFS_YAFFS2
  134. // <bool name="RT_USING_DFS_UFFS" description="Using UFFS" default="false" />
  135. // #define RT_USING_DFS_UFFS
  136. // <bool name="RT_USING_DFS_DEVFS" description="Using devfs for device objects" default="true" />
  137. #define RT_USING_DFS_DEVFS
  138. // <bool name="RT_USING_DFS_NFS" description="Using NFS v3 client file system" default="false" />
  139. // #define RT_USING_DFS_NFS
  140. // <string name="RT_NFS_HOST_EXPORT" description="NFSv3 host export" default="192.168.1.5:/" />
  141. #define RT_NFS_HOST_EXPORT "192.168.1.5:/"
  142. // <bool name="RT_USING_DFS_LWIP" description="Enable lwIP socket operators in file system" default="true" />
  143. // #define RT_USING_DFS_LWIP
  144. // </section>
  145. // <section name="RT_USING_LWIP" description="lwip, a lightweight TCP/IP protocol stack" default="true" >
  146. // #define RT_USING_LWIP
  147. // <integer name="RT_LWIP_PBUF_POOL_BUFSIZE" description="the buffer size of pbuf pool" default="1500" />
  148. #define RT_LWIP_PBUF_POOL_BUFSIZE (1536)
  149. // <bool name="RT_LWIP_ICMP" description="Enable ICMP protocol" default="true" />
  150. #define RT_LWIP_ICMP
  151. // <bool name="RT_LWIP_IGMP" description="Enable IGMP protocol" default="false" />
  152. // #define RT_LWIP_IGMP
  153. // <bool name="RT_LWIP_UDP" description="Enable UDP protocol" default="true" />
  154. #define RT_LWIP_UDP
  155. // <bool name="RT_LWIP_TCP" description="Enable TCP protocol" default="true" />
  156. #define RT_LWIP_TCP
  157. // <bool name="RT_LWIP_DNS" description="Enable DNS protocol" default="true" />
  158. #define RT_LWIP_DNS
  159. // <integer name="RT_LWIP_TCP_PCB_NUM" description="Maximal number of simultaneously active TCP connections" default="5" />
  160. #define RT_LWIP_TCP_PCB_NUM 8
  161. // <integer name="RT_LWIP_TCP_SND_BUF" description="TCP sender buffer size" default="8192" />
  162. #define RT_LWIP_TCP_SND_BUF 8192
  163. // <integer name="RT_LWIP_TCP_WND" description="TCP receive window" default="8192" />
  164. #define RT_LWIP_TCP_WND 8192
  165. // <bool name="RT_LWIP_SNMP" description="Enable SNMP protocol" default="false" />
  166. // #define RT_LWIP_SNMP
  167. // <bool name="RT_LWIP_DHCP" description="Enable DHCP client to get IP address" default="false" />
  168. #define RT_LWIP_DHCP
  169. // <integer name="RT_LWIP_TCPTHREAD_PRIORITY" description="the thread priority of TCP thread" default="128" />
  170. #define RT_LWIP_TCPTHREAD_PRIORITY 12
  171. // <integer name="RT_LWIP_TCPTHREAD_MBOX_SIZE" description="the mail box size of TCP thread to wait for" default="32" />
  172. #define RT_LWIP_TCPTHREAD_MBOX_SIZE 8
  173. // <integer name="RT_LWIP_TCPTHREAD_STACKSIZE" description="the thread stack size of TCP thread" default="4096" />
  174. #define RT_LWIP_TCPTHREAD_STACKSIZE 4096
  175. // <integer name="RT_LWIP_ETHTHREAD_PRIORITY" description="the thread priority of ethnetif thread" default="144" />
  176. #define RT_LWIP_ETHTHREAD_PRIORITY 14
  177. // <integer name="RT_LWIP_ETHTHREAD_MBOX_SIZE" description="the mail box size of ethnetif thread to wait for" default="8" />
  178. #define RT_LWIP_ETHTHREAD_MBOX_SIZE 8
  179. // <integer name="RT_LWIP_ETHTHREAD_STACKSIZE" description="the stack size of ethnetif thread" default="512" />
  180. #define RT_LWIP_ETHTHREAD_STACKSIZE 512
  181. // <ipaddr name="RT_LWIP_IPADDR" description="IP address of device" default="192.168.1.30" />
  182. #define RT_LWIP_IPADDR0 192
  183. #define RT_LWIP_IPADDR1 168
  184. #define RT_LWIP_IPADDR2 10
  185. #define RT_LWIP_IPADDR3 222
  186. // <ipaddr name="RT_LWIP_GWADDR" description="Gateway address of device" default="192.168.1.1" />
  187. #define RT_LWIP_GWADDR0 192
  188. #define RT_LWIP_GWADDR1 168
  189. #define RT_LWIP_GWADDR2 10
  190. #define RT_LWIP_GWADDR3 1
  191. // <ipaddr name="RT_LWIP_MSKADDR" description="Mask address of device" default="255.255.255.0" />
  192. #define RT_LWIP_MSKADDR0 255
  193. #define RT_LWIP_MSKADDR1 255
  194. #define RT_LWIP_MSKADDR2 255
  195. #define RT_LWIP_MSKADDR3 0
  196. // </section>
  197. // </RDTConfigurator>
  198. #define RT_USING_CPU_FFS
  199. #define RT_CFG_MAX_DMA_CHANNELS 8
  200. #endif