rtconfig.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. /* RT-Thread config file */
  2. #ifndef __RTTHREAD_CFG_H__
  3. #define __RTTHREAD_CFG_H__
  4. // <RDTConfigurator URL="http://www.rt-thread.com/eclipse">
  5. // <integer name="RT_NAME_MAX" description="Maximal size of kernel object name length" default="6" />
  6. #define RT_NAME_MAX 32
  7. // <integer name="RT_ALIGN_SIZE" description="Alignment size for CPU architecture data access" default="4" />
  8. #define RT_ALIGN_SIZE 4
  9. // <integer name="RT_THREAD_PRIORITY_MAX" description="Maximal level of thread priority" default="2">
  10. // <item description="8">8</item>
  11. // <item description="32">32</item>
  12. // <item description="256">256</item>
  13. // </integer>
  14. #define RT_THREAD_PRIORITY_MAX 256
  15. // <integer name="RT_TICK_PER_SECOND" description="OS tick per second" default="100" />
  16. #define RT_TICK_PER_SECOND 100
  17. // <section name="RT_DEBUG" description="Kernel Debug Configuration" default="true" >
  18. // #define RT_DEBUG
  19. // <bool name="RT_THREAD_DEBUG" description="Thread debug enable" default="false" />
  20. // #define RT_THREAD_DEBUG
  21. // <bool name="RT_USING_OVERFLOW_CHECK" description="Thread stack over flow detect" default="true" />
  22. #define RT_USING_OVERFLOW_CHECK
  23. // </section>
  24. // <bool name="RT_USING_HOOK" description="Using hook functions" default="true" />
  25. #define RT_USING_HOOK
  26. // <section name="RT_USING_TIMER_SOFT" description="Using software timer which will start a thread to handle soft-timer" default="true" >
  27. // #define RT_USING_TIMER_SOFT
  28. // <integer name="RT_TIMER_THREAD_PRIO" description="The priority level of timer thread" default="4" />
  29. #define RT_TIMER_THREAD_PRIO 8
  30. // <integer name="RT_TIMER_THREAD_STACK_SIZE" description="The stack size of timer thread" default="512" />
  31. #define RT_TIMER_THREAD_STACK_SIZE 512
  32. // <integer name="RT_TIMER_TICK_PER_SECOND" description="The soft-timer tick per second" default="10" />
  33. #define RT_TIMER_TICK_PER_SECOND 10
  34. // </section>
  35. // <section name="IPC" description="Inter-Thread communication" default="always" >
  36. // <bool name="RT_USING_SEMAPHORE" description="Using semaphore in the system" default="true" />
  37. #define RT_USING_SEMAPHORE
  38. // <bool name="RT_USING_MUTEX" description="Using mutex in the system" default="true" />
  39. #define RT_USING_MUTEX
  40. // <bool name="RT_USING_EVENT" description="Using event group in the system" default="true" />
  41. #define RT_USING_EVENT
  42. // <bool name="RT_USING_MAILBOX" description="Using mailbox in the system" default="true" />
  43. #define RT_USING_MAILBOX
  44. // <bool name="RT_USING_MESSAGEQUEUE" description="Using message queue in the system" default="true" />
  45. #define RT_USING_MESSAGEQUEUE
  46. // </section>
  47. // <section name="MM" description="Memory Management" default="always" >
  48. // <bool name="RT_USING_MEMPOOL" description="Using Memory Pool Management in the system" default="true" />
  49. #define RT_USING_MEMPOOL
  50. // <bool name="RT_USING_HEAP" description="Using Dynamic Heap Management in the system" default="true" />
  51. #define RT_USING_HEAP
  52. // <bool name="RT_USING_SMALL_MEM" description="Optimizing for small memory" default="false" />
  53. #define RT_USING_SMALL_MEM
  54. // <bool name="RT_USING_SLAB" description="Using SLAB memory management for large memory" default="false" />
  55. // #define RT_USING_SLAB
  56. // </section>
  57. // <section name="RT_USING_DEVICE" description="Using Device Driver Framework" default="true" >
  58. #define RT_USING_DEVICE
  59. // <bool name="RT_USING_UART0" description="Using UART0" default="true" />
  60. #define RT_USING_UART0
  61. // <integer name="RT_UART_RX_BUFFER_SIZE" description="The buffer size for UART reception" default="64" />
  62. #define RT_UART_RX_BUFFER_SIZE 64
  63. // </section>
  64. // <section name="RT_USING_CONSOLE" description="Using console" default="true" >
  65. #define RT_USING_CONSOLE
  66. // <integer name="RT_CONSOLEBUF_SIZE" description="The buffer size for console output" default="128" />
  67. #define RT_CONSOLEBUF_SIZE 128
  68. // </section>
  69. // <section name="RT_USING_FINSH" description="Using finsh as shell, which is a C-Express shell" default="true" >
  70. #define RT_USING_FINSH
  71. // <bool name="FINSH_USING_SYMTAB" description="Using symbol table in finsh shell" default="true" />
  72. #define FINSH_USING_SYMTAB
  73. // <bool name="FINSH_USING_DESCRIPTION" description="Keeping description in symbol table" default="true" />
  74. #define FINSH_USING_DESCRIPTION
  75. // <integer name="FINSH_THREAD_STACK_SIZE" description="The stack size for finsh thread" default="4096" />
  76. #define FINSH_THREAD_STACK_SIZE 4096
  77. // </section>
  78. // <section name="LIBC" description="C Runtime library setting" default="always" >
  79. // <bool name="RT_USING_NEWLIB" description="Using newlib library, only available under GNU GCC" default="true" />
  80. #define RT_USING_NEWLIB
  81. // <bool name="RT_USING_PTHREADS" description="Using POSIX threads library" default="true" />
  82. #define RT_USING_PTHREADS
  83. // </section>
  84. // <section name="RT_USING_DFS" description="Device file system" default="true" >
  85. #define RT_USING_DFS
  86. // <bool name="DFS_USING_WORKDIR" description="Using working directory" default="true" />
  87. #define DFS_USING_WORKDIR
  88. // <integer name="DFS_FILESYSTEMS_MAX" description="The maximal number of mounted file system" default="4" />
  89. #define DFS_FILESYSTEMS_MAX 2
  90. // <integer name="DFS_FD_MAX" description="The maximal number of opened files" default="4" />
  91. #define DFS_FD_MAX 4
  92. // <bool name="RT_USING_DFS_ELMFAT" description="Using ELM FatFs" default="true" />
  93. #define RT_USING_DFS_ELMFAT
  94. // <integer name="RT_DFS_ELM_USE_LFN" description="Support long file name" default="0">
  95. // <item description="LFN1">1</item>
  96. // <item description="LFN1">2</item>
  97. // </integer>
  98. #define RT_DFS_ELM_USE_LFN 1
  99. // <integer name="RT_DFS_ELM_MAX_LFN" description="Maximal size of file name length" default="256" />
  100. #define RT_DFS_ELM_MAX_LFN 256
  101. // <bool name="RT_USING_DFS_YAFFS2" description="Using YAFFS2" default="false" />
  102. // #define RT_USING_DFS_YAFFS2
  103. // <bool name="RT_USING_DFS_UFFS" description="Using UFFS" default="false" />
  104. // #define RT_USING_DFS_UFFS
  105. // <bool name="RT_USING_DFS_DEVFS" description="Using devfs for device objects" default="true" />
  106. #define RT_USING_DFS_DEVFS
  107. // <bool name="RT_USING_DFS_NFS" description="Using NFS v3 client file system" default="false" />
  108. // #define RT_USING_DFS_NFS
  109. // <string name="RT_NFS_HOST_EXPORT" description="NFSv3 host export" default="192.168.1.5:/" />
  110. #define RT_NFS_HOST_EXPORT "192.168.1.5:/"
  111. // </section>
  112. // <section name="RT_USING_LWIP" description="lwip, a lightweight TCP/IP protocol stack" default="true" >
  113. #define RT_USING_LWIP
  114. // <bool name="RT_LWIP_USING_RT_MEM" description="Using RT-Thread memory management for LwIP" default="true" />
  115. #define RT_LWIP_USING_RT_MEM
  116. // <bool name="RT_LWIP_ICMP" description="Enable ICMP protocol" default="true" />
  117. #define RT_LWIP_ICMP
  118. // <bool name="RT_LWIP_IGMP" description="Enable IGMP protocol" default="false" />
  119. // #define RT_LWIP_IGMP
  120. // <bool name="RT_LWIP_UDP" description="Enable UDP protocol" default="true" />
  121. #define RT_LWIP_UDP
  122. // <bool name="RT_LWIP_TCP" description="Enable TCP protocol" default="true" />
  123. #define RT_LWIP_TCP
  124. // <bool name="RT_LWIP_DNS" description="Enable DNS protocol" default="true" />
  125. #define RT_LWIP_DNS
  126. // <integer name="RT_LWIP_TCP_PCB_NUM" description="Maximal number of simultaneously active TCP connections" default="5" />
  127. #define RT_LWIP_TCP_PCB_NUM 5
  128. // <integer name="RT_LWIP_TCP_SND_BUF" description="TCP sender buffer size" default="8192" />
  129. #define RT_LWIP_TCP_SND_BUF 8192
  130. // <integer name="RT_LWIP_TCP_WND" description="TCP receive window" default="8192" />
  131. #define RT_LWIP_TCP_WND 8192
  132. // <bool name="RT_LWIP_SNMP" description="Enable SNMP protocol" default="false" />
  133. // #define RT_LWIP_SNMP
  134. // <bool name="RT_LWIP_DHCP" description="Enable DHCP client to get IP address" default="false" />
  135. // #define RT_LWIP_DHCP
  136. // <integer name="RT_LWIP_TCP_SEG_NUM" description="the number of simultaneously queued TCP" default="8" />
  137. #define RT_LWIP_TCP_SEG_NUM 40
  138. // <integer name="RT_LWIP_TCPTHREAD_PRIORITY" description="the thread priority of TCP thread" default="128" />
  139. #define RT_LWIP_TCPTHREAD_PRIORITY 12
  140. // <integer name="RT_LWIP_TCPTHREAD_MBOX_SIZE" description="the mail box size of TCP thread to wait for" default="32" />
  141. #define RT_LWIP_TCPTHREAD_MBOX_SIZE 32
  142. // <integer name="RT_LWIP_TCPTHREAD_STACKSIZE" description="the thread stack size of TCP thread" default="4096" />
  143. #define RT_LWIP_TCPTHREAD_STACKSIZE 4096
  144. // <integer name="RT_LWIP_ETHTHREAD_PRIORITY" description="the thread priority of ethnetif thread" default="144" />
  145. #define RT_LWIP_ETHTHREAD_PRIORITY 144
  146. // <integer name="RT_LWIP_ETHTHREAD_MBOX_SIZE" description="the mail box size of ethnetif thread to wait for" default="8" />
  147. #define RT_LWIP_ETHTHREAD_MBOX_SIZE 32
  148. // <integer name="RT_LWIP_ETHTHREAD_STACKSIZE" description="the stack size of ethnetif thread" default="512" />
  149. #define RT_LWIP_ETHTHREAD_STACKSIZE 512
  150. // <ipaddr name="RT_LWIP_IPADDR" description="IP address of device" default="192.168.1.30" />
  151. #define RT_LWIP_IPADDR0 192
  152. #define RT_LWIP_IPADDR1 168
  153. #define RT_LWIP_IPADDR2 1
  154. #define RT_LWIP_IPADDR3 30
  155. // <ipaddr name="RT_LWIP_GWADDR" description="Gateway address of device" default="192.168.1.1" />
  156. #define RT_LWIP_GWADDR0 192
  157. #define RT_LWIP_GWADDR1 168
  158. #define RT_LWIP_GWADDR2 1
  159. #define RT_LWIP_GWADDR3 1
  160. // <ipaddr name="RT_LWIP_MSKADDR" description="Mask address of device" default="255.255.255.0" />
  161. #define RT_LWIP_MSKADDR0 255
  162. #define RT_LWIP_MSKADDR1 255
  163. #define RT_LWIP_MSKADDR2 255
  164. #define RT_LWIP_MSKADDR3 0
  165. // </section>
  166. // <section name="RT_USING_MODULE" description="Application module" default="true" >
  167. #define RT_USING_MODULE
  168. // <bool name="RT_USING_LIBDL" description="Using dynamic library" default="true" />
  169. #define RT_USING_LIBDL
  170. // </section>
  171. // <section name="RT_USING_RTGUI" description="RTGUI, a graphic user interface" default="true" >
  172. #define RT_USING_RTGUI
  173. // <integer name="RTGUI_NAME_MAX" description="Maximal size of RTGUI object name length" default="16" />
  174. #define RTGUI_NAME_MAX 16
  175. // <bool name="RTGUI_USING_FONT16" description="Support 16 weight font" default="true" />
  176. #define RTGUI_USING_FONT16
  177. // <bool name="RTGUI_USING_FONT12" description="Support 12 weight font" default="true" />
  178. #define RTGUI_USING_FONT12
  179. // <bool name="RTGUI_USING_FONTHZ" description="Support Chinese font" default="true" />
  180. #define RTGUI_USING_FONTHZ
  181. // <bool name="RTGUI_USING_DFS_FILERW" description="Using DFS as file interface " default="true" />
  182. #define RTGUI_USING_DFS_FILERW
  183. // <bool name="RTGUI_USING_HZ_FILE" description="Using font file as Chinese font" default="false" />
  184. // #define RTGUI_USING_HZ_FILE
  185. // <bool name="RTGUI_USING_HZ_BMP" description="Using Chinese bitmap font" default="true" />
  186. #define RTGUI_USING_HZ_BMP
  187. // <bool name="RTGUI_USING_SMALL_SIZE" description="Using small size in RTGUI" default="false" />
  188. // #define RTGUI_USING_SMALL_SIZE
  189. // <bool name="RTGUI_USING_MOUSE_CURSOR" description="Using mouse cursor in RTGUI" default="false" />
  190. // #define RTGUI_USING_MOUSE_CURSOR
  191. // <bool name="RTGUI_IMAGE_XPM" description="Using xpm image in RTGUI" default="true" />
  192. #define RTGUI_IMAGE_XPM
  193. // <bool name="RTGUI_IMAGE_JPEG" description="Using jpeg image in RTGUI" default="true" />
  194. #define RTGUI_IMAGE_JPEG
  195. // <bool name="RTGUI_IMAGE_PNG" description="Using png image in RTGUI" default="true" />
  196. #define RTGUI_IMAGE_PNG
  197. // <bool name="RTGUI_IMAGE_BMP" description="Using bmp image in RTGUI" default="true" />
  198. #define RTGUI_IMAGE_BMP
  199. // </section>
  200. // </RDTConfigurator>
  201. /* SECTION: FTK support */
  202. /* using FTK support */
  203. /* #define RT_USING_FTK */
  204. /*
  205. * Note on FTK:
  206. *
  207. * FTK depends :
  208. * #define RT_USING_NEWLIB
  209. * #define DFS_USING_WORKDIR
  210. *
  211. * And the maximal length must great than 64
  212. * #define RT_DFS_ELM_MAX_LFN 128
  213. */
  214. #endif