你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 contiki 下main源文件分析

[复制链接]
咕噜 发布时间:2014-11-13 23:16
本帖最后由 咕噜 于 2016-8-17 21:00 编辑
. Y" \6 U6 [5 X4 K' j6 B
" @  y) v6 y8 C% C  m% {3 h/************************************************************************************************/
4 m$ i1 e+ D' `5 D7 `7 D( w最近一段时间在学习contiki系统,STM32在无线应用上前景更为广阔。6 D6 z' b1 J& a  |8 |2 T8 s
/************************************************************************************************/* p- D. V2 c% L7 E0 ^3 d
平台配置-- platform-conf.h
3 V# n3 J& H0 G1 t/ @

  1. - f/ \1 \5 w( a0 }* s3 |1 c8 J
  2. /*& z) o* j9 r4 M  g
  3. *  \file# a2 p; Z* x) z! {- E
  4. *      platform-conf.h
    9 C5 y- p: S8 h
  5. *   \author! w# B5 f6 A# P( N& A
  6. *      Marcus Lunden <marcus@thingsquare.com>>
    / k+ `3 q: U# Z+ X& ?& ^
  7. *   \desc$ X! {: q- h! `! D2 Y- b
  8. *      platform dependent configurations* I/ a; d) t, b" A5 K% C0 d
  9. *// _% Y( V  P* f/ e. b

  10. 5 O$ l! O5 M/ E( J0 _
  11. #ifndef __PLATFORM_CONF_H__1 A% \2 U8 d( @3 Z! w2 O4 z
  12. #define __PLATFORM_CONF_H__
    * ?2 f" u5 Q! J) j1 h
  13. /*--------------------------------------------------------------------*/
    / g2 q5 j6 Q% ^: P; v5 M
  14. #include <inttypes.h>2 @. \- B3 [1 d% V
  15. #include <string.h>' x7 B; ^* N0 v% P. v  o
  16. /*--------------------------------------------------------------------*/
    7 h9 y6 Y3 @  b2 d2 l  n1 }
  17. //系统时钟  U& {" I' M! {; T0 u/ }
  18. #define F_CPU                   168000000ul) m5 X2 E6 {; ~' K
  19. //LED3 ]# a4 V( G0 g6 W& R
  20. #define LEDS_CONF_LED1              1     /* green */' n- Z3 G4 p7 ]9 f0 P& M  e( ]
  21. #define LEDS_CONF_LED2              2     /* orange */
    $ `+ }3 v7 [# w6 f" ?$ ^$ h' l
  22. #define LEDS_CONF_LED3              4     /* red */
    ! v6 @* H( E' |8 X
  23. #define LEDS_CONF_LED4              8     /* blue */
    4 v" W9 O8 Z. K9 [# G
  24. #define LEDS_CONF_LED5              5     /* yellow */
    0 P7 t* V6 B# A

  25. : D5 t( J8 _& k# c4 q4 N
  26. #define LEDS_CONF_RED                    (1<<LEDS_CONF_LED3)7 {/ E7 [$ T" [; g' p. P% V
  27. #define LEDS_CONF_GREEN                    (1<<LEDS_CONF_LED1)" O# P; ?* x- F! s* j5 |8 u
  28. #define LEDS_CONF_BLUE                    (1<<LEDS_CONF_LED4)
    . v  l) t. w, P4 T& q
  29. % R1 z! p* T* {* T+ j  u
  30. //#define FIXED_NET_ADDRESS             1* o. }) ~+ m6 P3 K7 W
  31. //#define NET_ADDR_A                    0x2001
    ) [+ J. M- o8 |) D! q3 m, c
  32. //#define NET_ADDR_B                    0xdb8
    " I! K" ~$ {, I  H$ S3 c0 V# e% G0 f
  33. //#define NET_ADDR_C                    0xbbbb* \3 ]2 U7 f* y# n" M
  34. //#define NET_ADDR_D                    0xabcd
    % R5 ]2 @4 C) }3 ^
  35. 1 w6 j+ K  n& y! e7 q
  36. #define UART1_CONF_TX_WITH_INTERRUPT        1   //0
    + O+ l6 n) Y( |
  37. #define WITH_SERIAL_LINE_INPUT              1   //串口
    & b3 m  s+ D1 Q! c; e. g
  38. #define ENERGEST_CONF_ON                    0   //能量估计,失效+ q9 |( e& {0 u0 |2 \
  39. #define TELNETD_CONF_NUMLINES               6   //telnet服务
    . f1 u2 a2 n* L0 f. n. ?7 q+ ]
  40. //射频RADIO 驱动( z& P5 u) @$ n1 [# P1 ?, x
  41. #define NETSTACK_CONF_RADIO                 spirit_radio_driver; W' R6 f) e" }+ d5 S1 U+ K' _
  42. //射频RADIO 最大负载
    ' C( R3 [; A0 V- A( Q1 p1 c2 {
  43. #define NETSTACK_RADIO_MAX_PAYLOAD_LEN      96 /* spirit1-config.h */
    8 ^. b, y- N! ^2 R7 ~7 f3 o
  44. /*---------------------------------------------------------------------*/: a1 U& k1 Z) V
  45. /* define ticks/second for slow and fast clocks. Notice that these should be a
    ) C9 [5 L6 `' x# R
  46.   power of two, eg 64,128,256,512 etc, for efficiency as POT's can be optimized
    ! N' Z2 X1 f: |* h& s( N
  47.   well. */2 e, p9 k; g$ T
  48. #define CLOCK_CONF_SECOND               2048
    ; g/ |4 b7 h( |6 c2 n' E
  49. // One tick: 85.33 us
    # T3 b% g& l+ L% @8 v
  50. #define RTIMER_ARCH_SECOND              168000/*32768*/
    ( i$ p) J% G: Q  S9 s

  51. ' B* c# n$ `% R
  52. /*--------------------------------------------------------------------*/8 T' y" {# G, K! }" E3 s3 D" b
  53. #define RTIMER_CLOCK_LT(a,b)     ((signed short)((a)-(b)) < 0)
    / E) [/ O% x+ ]: H

  54. 2 ?1 |/ s3 M3 p9 A0 [4 v
  55. typedef unsigned long clock_time_t;
    8 S( d! H' X0 X& E! T* i3 M
  56. typedef unsigned long long rtimer_clock_t;
    & r# P0 V" @0 \! ^' {9 e
  57. ; ]9 _& |6 c* m% d; ~7 ^8 ~
  58. #define CC_CONF_REGISTER_ARGS          0  d  Q6 O* {9 c1 X
  59. #define CC_CONF_FUNCTION_POINTER_ARGS  17 v5 R$ p1 U# f; w& q  K7 `
  60. #define CC_CONF_FASTCALL& V0 ^# j% A- u# I* `
  61. #define CC_CONF_VA_ARGS                1
    , Z  t0 I% _2 V& R' t$ E0 o
  62. #define CC_CONF_INLINE                 inline& F+ L9 X9 V; X
  63. 3 `9 }2 u7 ]9 u9 j( G. A. ?
  64. #define CCIF4 Q! x. c3 r( ?4 P- a* u. e
  65. #define CLIF# b2 n% g) Y. J1 o" V4 [- o

  66. - I' ^, y2 N) X% N( [& y9 ?1 G
  67. typedef uint8_t         u8_t;4 Y% U* `1 D) g9 ~& ^3 M4 O, x
  68. typedef uint16_t        u16_t;
    3 @7 _$ G6 A( Q8 ^7 i0 `3 `
  69. typedef uint32_t        u32_t;
    5 x' \# q6 k0 W2 H" B7 N+ ]# d
  70. typedef  int32_t        s32_t;
    . f9 R- L* j! V1 k. k9 L
  71. typedef unsigned short  uip_stats_t;
    9 A; T9 O& H( A7 h4 G
  72. /*--------------------------------------------------------------------*/, M3 ]5 f. ~& b( H1 _/ F7 ]- i
  73. , u# y0 }) [2 Z$ x
  74. #endif /* __PLATFORM_CONF_H__ */
复制代码
" n7 S% g- z6 P  ^
' c- Y  U  \" p; E* ]- Q1 F
收藏 评论6 发布时间:2014-11-13 23:16

举报

6个回答
咕噜 回答时间:2014-11-13 23:18:30
本帖最后由 咕噜 于 2016-8-17 21:01 编辑
2 o3 M- |5 M/ S6 N3 }
# H$ m8 w& \. Qcontiki-conf配置

  1. ! H) K* o' O0 P9 ^
  2. 6 E: }" R( L9 v! E% V
  3. #ifndef __CONTIKI_CONF_H__& v5 g' O) E- Z  e& u% J: K) `4 z
  4. #define __CONTIKI_CONF_H__
    & V4 v$ ]3 f( \

  5.   a$ Y$ A( d7 }# g+ k/ s9 n
  6. #include "platform-conf.h"      //平台配置(硬件)
    . C. K( I& R8 v" H/ }3 J) X
  7. ( W" k" O# @2 J( l( Y2 U! o5 R7 j
  8. #include "mist-conf-const.h"    //mist 配置& I/ E- K6 f7 W4 h! |; e

  9. 2 q2 S7 s# X6 e( w
  10. #ifndef MIST_CONF_NETSTACK
    / J' ^1 T' {# q7 ]
  11. #define MIST_CONF_NETSTACK (MIST_CONF_NULLRDC | MIST_CONF_AES)  //mist 配置& H& @( p# o2 j
  12. #endif /* MIST_CONF_NETSTACK */
    8 E( Y0 e) ]1 @1 E5 d' y8 g" f& q
  13. : v9 ^5 ?$ H6 o
  14. #include "mist-default-conf.h"  //5 |; M: M2 F4 z4 u" W
  15. 8 A6 M5 d- m. M; [  W" A0 V
  16. #define NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE 8       //RDC信道扫描
    ; O9 b7 `5 x' v( b! M4 r
  17. #define NULLRDC_CONF_802154_AUTOACK 1  * Q! ~+ m4 n! H# V% I. m
  18. #define NETSTACK_CONF_FRAMER  framer_802154          //Framer定义
    ; Y9 w' B7 E% L3 q8 R$ ^  U  M1 m0 n
  19.    
    & L% f- G/ h! Y/ L% t
  20. //网络层定义/ I6 Q; d# e& M* s2 b; ]
  21. #define NETSTACK_CONF_NETWORK sicslowpan_driver      //使用sicslowpan(IPV6)
    * J# \" |& t0 v
  22. ' e( l/ J8 R3 ?5 K1 A- y& B& f
  23. #define RIMESTATS_CONF_ENABLED                      14 B! n+ U' P& O4 b
  24. #define RIMESTATS_CONF_ON                      1
    * q  q) W" I- R" @# z" W9 C: C4 w

  25.   y, K; y/ i% W, g/ V& F
  26. 3 o+ ^: C# v. g- E3 N
  27. #if WITH_UIP6                      - I2 H4 U; z" N+ Z- W3 G7 D
  28. /* Network setup for IPv6 */1 J4 v7 Z0 @6 y9 d; B9 `, H  G+ H
  29. #define NETSTACK_CONF_NETWORK sicslowpan_driver      //使用sicslowpan(IPV6)5 s1 q( r' H* S3 E3 D3 b

  30. " P0 s8 M# A/ \* y: h' w+ E
  31. /* Specify a minimum packet size for 6lowpan compression to be
    % h" N8 Q3 S/ o( k5 Z
  32.    enabled. This is needed for ContikiMAC, which needs packets to be9 I! W( |9 s! ?  ~4 o/ A
  33.    larger than a specified size, if no ContikiMAC header should be- o1 U; i' L0 r# H2 {, @
  34.    used. */2 r+ p7 \0 a* {" x) ]+ Q
  35. #define SICSLOWPAN_CONF_COMPRESSION_THRESHOLD 0
    ( x2 D) h9 t* w- y4 E! h
  36. //#define SICSLOWPAN_CONF_MAC_MAX_PAYLOAD        407 d7 l& y0 f. ^: M. ?
  37. #define CONTIKIMAC_CONF_WITH_CONTIKIMAC_HEADER 0
    ; A/ t* V- Y  w& `# \: I
  38.   r' u, U( g% a# w4 q. X
  39. #define CXMAC_CONF_ANNOUNCEMENTS         0   //RDC驱动机制--CXMAC  
    : ^. ]% {; X  J. G, P
  40. #define XMAC_CONF_ANNOUNCEMENTS          0   //RDC驱动机制--XMAC : S) [" f* I# T# f; A/ ^, f
  41. ' p% }+ P+ o0 ]" u4 `" B
  42. #ifndef QUEUEBUF_CONF_NUM! ^. S5 H! A) V
  43. #define QUEUEBUF_CONF_NUM                8  //消息队列& s5 G$ z6 t* z+ c
  44. #endif; u" X& e) _3 c& |* g0 @! ~. r2 `

  45. 9 C( C5 I4 ]# \1 F; s7 J) T2 T
  46. #else /* WITH_UIP6 */
    / y% l+ T# o- ?9 j! l
  47. /* Network setup for non-IPv6 (rime). */
    " C$ N; R: k7 g, E! f
  48. #error This platform is not yet tested without IPv67 l# D7 ^& D0 c9 O
  49. #define NETSTACK_CONF_NETWORK rime_driver  //没有使用IPV6 ,而是rime协议* W7 y% s' K0 @2 P% n1 c

  50. 1 [3 t: c0 j: B0 Z$ j8 P8 V/ D
  51. #define COLLECT_CONF_ANNOUNCEMENTS       1  //RDC驱动机制--COLLECT" r) {1 M/ U4 f& z. Y6 q
  52. #define CXMAC_CONF_ANNOUNCEMENTS         0  //RDC驱动机制--CXMAC
    0 R/ m2 p% E3 n1 G; R$ f; C
  53. #define XMAC_CONF_ANNOUNCEMENTS          0  //RDC驱动机制--XMAC, _) [, t( a* t+ \. f9 `/ [
  54. #define CONTIKIMAC_CONF_ANNOUNCEMENTS    0  //RDC驱动机制--CONTIKIMAC6 F! U5 c( ~  @4 _5 W; f

  55. 8 w9 Y# v; K) k* d1 D0 K. }/ c* l
  56. #define CONTIKIMAC_CONF_COMPOWER         1
    ' n. ]: {$ Z2 x9 T
  57. #define XMAC_CONF_COMPOWER               1- ]. z6 V; d0 V, i7 y
  58. #define CXMAC_CONF_COMPOWER              18 `- a" ?- O0 W% }0 N# {
  59. 6 o6 I8 d; ~4 F* T* t
  60. #ifndef COLLECT_NEIGHBOR_CONF_MAX_COLLECT_NEIGHBORS    //发现邻居
    ! z- Y: o& z6 A% h
  61. #define COLLECT_NEIGHBOR_CONF_MAX_COLLECT_NEIGHBORS     328 S/ b- y& @, w/ ?& z8 m, A
  62. #endif /* COLLECT_NEIGHBOR_CONF_MAX_COLLECT_NEIGHBORS */
    $ V3 r" X$ h- ~+ C7 i; j' `( F
  63. 8 Q3 l9 R' R' r- z
  64. #ifndef QUEUEBUF_CONF_NUM
    / @1 \# c2 j2 U4 u( n. Q
  65. #define QUEUEBUF_CONF_NUM                16             //消息队列" b8 m/ N6 A+ B: r
  66. #endif /* QUEUEBUF_CONF_NUM */4 p* i% i+ n5 N& C

  67. $ M* W( J1 c0 z6 _
  68. #ifndef TIMESYNCH_CONF_ENABLED                          //时间同步
    5 @7 J/ S% j  [2 J* q
  69. #define TIMESYNCH_CONF_ENABLED           0
    # ~* s. M+ C7 _8 P, @
  70. #endif /* TIMESYNCH_CONF_ENABLED */1 s  i* a) q, u0 E+ u

  71. & e! _$ ^1 A. Z$ N
  72. #endif /* WITH_UIP6 */; N. f- y2 x2 d- S
  73. % R* ~" x9 B/ g8 @3 f4 Q
  74. /* A trick to resolve a compilation error with IAR. */4 J' B2 Z9 J( j* |0 j
  75.    /*一个来解决IAR编译错误的技巧。 */0 ?( x, ~) Q+ g( U" y% M! `+ F8 W7 P# F
  76. #ifdef __ICCARM__2 p! U- y# F3 o$ t" _# C  u
  77. #define UIP_CONF_DS6_AADDR_NBU              1
    $ N' H; Z( F/ j$ @% C+ U" Z
  78. #endif: J* g# d, C+ d% D3 o

  79. / R' N; t5 V) m  e5 ^7 p
  80. /*------------------------------------------------------------------------*/
    , \0 ^" L" J. f3 u  l
  81. #ifndef RF_CHANNEL                               //无线信道配置; G$ l+ p7 n  T2 [( n
  82. #define RF_CHANNEL              26
    % Y# I) w, w* B8 |
  83. #endif /* RF_CHANNEL */
    - [% c/ L0 ]) Y+ R. X. F
  84.    4 x8 [& {% x8 }. a/ R
  85. //RDC驱动机制--CONTIKIMAC 广播周期$ P5 o, u" K" P: [0 {4 }
  86. #define CONTIKIMAC_CONF_BROADCAST_RATE_LIMIT 0, o% O7 C/ w7 _) E$ m: H5 i; S
  87. " M  o% \; i0 G1 W. Y
  88. #define IEEE802154_CONF_PANID       0xABCD       //PANID
    : x; q: X* q9 T9 u! }4 S% P% w: C& d+ R: s
  89.   p2 ]) d1 s' g- z+ I+ _+ Z4 }
  90. #define SHELL_VARS_CONF_RAM_BEGIN 0x1100        //Shell 7 D9 ?+ C9 N5 i5 X0 z
  91. #define SHELL_VARS_CONF_RAM_END 0x2000! A& b  o* M& g

  92. 9 `  R/ F8 }$ L! V% W: K% `' U
  93. #define PROFILE_CONF_ON 0                //配置文件$ A7 N% x) E5 h6 E3 L
  94. #ifndef ENERGEST_CONF_ON3 W- I7 X& a, _/ z9 A
  95. #define ENERGEST_CONF_ON 1
    8 _( X3 a* w8 e2 u
  96. #endif /* ENERGEST_CONF_ON */5 {- S( o5 s6 `& O, y
  97.    
    2 b+ F. _% v% y& U0 Z
  98. // 动态模块加载5 [- ]  t3 E2 g" _' O
  99. #define ELFLOADER_CONF_TEXT_IN_ROM 08 t8 D3 R( J8 B( P6 V4 G) T6 t
  100. #ifndef ELFLOADER_CONF_DATAMEMORY_SIZE3 }7 W& u1 O+ D- r9 }' ?# a$ r0 \
  101. #define ELFLOADER_CONF_DATAMEMORY_SIZE 0x400. F3 K* P. q% u1 }0 w
  102. #endif /* ELFLOADER_CONF_DATAMEMORY_SIZE */
    + v) k' t' E% g. r5 E: e% f
  103. #ifndef ELFLOADER_CONF_TEXTMEMORY_SIZE
    7 |1 }6 D% Y8 j. U0 _
  104. #define ELFLOADER_CONF_TEXTMEMORY_SIZE 0x800/ Q2 U) p5 m$ S% O0 C: Y5 V
  105. #endif /* ELFLOADER_CONF_TEXTMEMORY_SIZE */& W# b. Y. l: w+ R1 M2 T  P+ A/ @
  106. 6 t1 n- o* z3 c
  107. //AODV(Ad hoc on-demand distance vector routing)是一种源驱动路由协议
    ! D4 F, G& r4 Z% g7 o0 a
  108. //按需平面距离矢量路由协议( h( w% j4 F/ k6 W
  109. #define AODV_COMPLIANCE
    0 g2 N) u1 i/ C  s/ l( W2 {% V8 {* T
  110. #define AODV_NUM_RT_ENTRIES 32
    + B  y/ O" c4 @0 E+ \
  111. 9 i+ }# n( O: V% i  G+ P) `- l
  112. #define WITH_ASCII 1, R& _: j. o2 @  [* f* c8 W
  113. //进程配置7 I' n& C0 }. I) ?
  114. #define PROCESS_CONF_NUMEVENTS 82 |" D2 |+ n, N( u" k
  115. #define PROCESS_CONF_STATS 1
    ( L3 a9 ^" a/ u* W% O/ y
  116. /*#define PROCESS_CONF_FASTPOLL    4*/: G0 y' h- b2 ?9 ^& x3 U/ j
  117. /*-------------------------------------------------------------------------------*/
    : m" _1 [% g2 m

  118. + [& F1 E! C! b" H
  119. /*-------------------------------------------------------------------------------*/# m: G% u" t6 \: ~: ~) P* D
  120. #ifdef WITH_UIP6   //ipv6 网络配置
      s- o3 U% Z' v! S2 P; n# V) b! R
  121. ! w6 M" T& G. m( k3 X9 G- A5 y
  122. #define RIMEADDR_CONF_SIZE              8   //节点地址rimeaddr_node_addr长度(字节)
    : w, C  i& q7 u: c8 Z

  123. # K8 a( T( G! t0 p$ C
  124. #define UIP_CONF_LL_802154              1  w+ n9 ?" O) _7 {+ {& F  e
  125. #define UIP_CONF_LLH_LEN                0
    . r1 a* L3 M; D6 T) z
  126. 8 @" Q- K1 R/ w
  127. #define UIP_CONF_ROUTER                 1   //ROUTER8 `2 m* }! W3 @$ ?8 L
  128. #ifndef UIP_CONF_IPV6_RPL1 Y1 y) O5 Y9 t2 l% h
  129. #define UIP_CONF_IPV6_RPL               1   //IPV6_RPL
    , q* B9 {) w1 Q$ }8 {* N  a! S% ~
  130. #endif /* UIP_CONF_IPV6_RPL *// Y0 U% f) Z: w
  131. , o: N$ c" T* T% }( s
  132. /* configure number of neighbors and routes */+ Q7 S3 k- C" N/ F
  133. #ifndef UIP_CONF_DS6_NBR_NBU
    ( h# ?5 a! x: H; G+ N0 q
  134. #define UIP_CONF_DS6_NBR_NBU     30         //邻居节点- }0 j9 o( Q9 O# x7 J; {
  135. #endif /* UIP_CONF_DS6_NBR_NBU */
    * r, Y( C! R  i9 w4 p
  136. #ifndef UIP_CONF_DS6_ROUTE_NBU. R+ E2 j# L# c6 Y& K
  137. #define UIP_CONF_DS6_ROUTE_NBU   30         //路由节点/ O7 @/ A9 Z" I. m+ n! C: q7 U
  138. #endif /* UIP_CONF_DS6_ROUTE_NBU */7 p9 F2 `- x  m* w! ?) m

  139. / |' d0 U3 {1 T! V& u! t' s: b
  140. #define UIP_CONF_ND6_SEND_RA    06 k% M; s4 z* |
  141. #define UIP_CONF_ND6_REACHABLE_TIME     600000  //可达
    $ L& c  k, r* s; {
  142. #define UIP_CONF_ND6_RETRANS_TIMER      10000   //重传+ K+ f6 Q; H& O. t( q. s2 `, o% O

  143. 4 z6 `4 R5 y2 t* z
  144. #define UIP_CONF_IPV6                   1
    - k' a0 T* h: t  p4 W& d
  145. #ifndef UIP_CONF_IPV6_QUEUE_PKT
    3 Q3 p+ f' B) @. e6 M2 j" N
  146. #define UIP_CONF_IPV6_QUEUE_PKT         0+ l' v* l2 I9 G" ^( h! f* M9 A4 ^
  147. #endif /* UIP_CONF_IPV6_QUEUE_PKT */
      I  e' i6 o: L( N% i2 w: {7 e$ C% w
  148. #define UIP_CONF_IPV6_CHECKS            1       //校验   
    6 p5 r0 m* E, K) A7 b
  149. 5 d1 r! \9 R" T8 z9 y
  150. #define UIP_CONF_IPV6_REASSEMBLY        0       //重新装配# u% V9 q- @( `( t* g! |
  151. #define UIP_CONF_NETIF_MAX_ADDRESSES    38 S* l3 T9 O1 T5 r
  152. #define UIP_CONF_ND6_MAX_PREFIXES       3      //前缀
    ( E" q5 \/ @5 U; A
  153. #define UIP_CONF_ND6_MAX_NEIGHBORS      4      //邻居    . J( \* q4 {$ z5 Z# h

  154. 6 X% e) W/ b' h8 F3 d4 D/ Z& J
  155. #define UIP_CONF_ND6_MAX_DEFROUTERS     2      //默认路由
    7 R& e0 a$ C- Q" ~4 ^2 p
  156. #define UIP_CONF_IP_FORWARD             0
    # F: {: d* q9 O: I3 z7 v0 I% N% o0 `
  157. #ifndef UIP_CONF_BUFFER_SIZE
    0 T1 K, f& ]5 H
  158. #define UIP_CONF_BUFFER_SIZE    280           //IP 缓冲
    2 c# o$ ~& p" Q9 [+ s2 g4 z
  159. #endif: H  g# u( x* Z6 s' M6 E( c  Y
  160. , X0 W9 P. }" l! s
  161.    //SICSLOWPAN 压缩方式/ W: ]( g  i" j2 a  E: X& Y
  162. #define SICSLOWPAN_CONF_COMPRESSION_IPV6        0
    % Z$ j) x8 r( e* \
  163. #define SICSLOWPAN_CONF_COMPRESSION_HC1         12 |  i7 X" D" Z" Y
  164. #define SICSLOWPAN_CONF_COMPRESSION_HC01        2% m( w2 l1 v- X
  165. #define SICSLOWPAN_CONF_COMPRESSION             SICSLOWPAN_COMPRESSION_HC06. ?/ @" e7 L! T2 o
  166. #ifndef SICSLOWPAN_CONF_FRAG
    # G- @$ ^( A! [. Z9 q1 p
  167. #define SICSLOWPAN_CONF_FRAG                    1! L& Y# e' H, K0 I: ?4 U( W3 z
  168. # D8 D$ ]# H! N9 v# I
  169. /* Unit: 1/16th second. 16 => 1.0s timeout */7 v* M- s* x. m7 c: Q- ?9 d
  170. #undef SICSLOWPAN_CONF_MAXAGE
    ) C8 h- c/ C% V8 s& G; i
  171. #define SICSLOWPAN_CONF_MAXAGE                  16) O; T. ~, C0 E5 \4 J/ V$ n
  172. 9 ^( g) c0 ?6 r
  173. #if (MIST_CONF_NETSTACK & MIST_CONF_DROWSIE_MULTICHANNEL)
    6 ^/ c% [: k. s+ W
  174. /* We need to increase the fragmentation timeout, as the multichannel protocol may transmit  p( ?: b* m; I4 B9 D! b, X
  175. * the same fragment on two channels, causing up to 0.6s delay inbetween fragments. */
    1 Z* ], ?5 v. C% K* U/ a8 U
  176. //   多通道发送时,增加碎片timeout
    " Z+ h- ~1 k2 o4 A- x, i
  177. #undef SICSLOWPAN_CONF_MAXAGE7 D% z- Y* Y4 X& Z* s% [1 n, }
  178. #define SICSLOWPAN_CONF_MAXAGE                  12
    1 U. V# d8 U; H, H
  179. #endif /* (MIST_CONF_NETSTACK & MIST_CONF_DROWSIE_MULTICHANNEL) */
    , J1 c" {  A# e5 W% [: f
  180. 8 j7 b4 I- ^; E8 d( @, s" l
  181. #endif /* SICSLOWPAN_CONF_FRAG */- w3 Q! A; w) Y1 m& w* J  k$ ^# I$ S. z4 A
  182. #define SICSLOWPAN_CONF_CONVENTIONAL_MAC     1        //常规8 Y- h, K4 \: g' S6 V& _2 V2 t, w
  183. #define SICSLOWPAN_CONF_MAX_ADDR_CONTEXTS       2. h# w! W3 Z  {; D/ S' z
  184. #ifndef SICSLOWPAN_CONF_MAX_MAC_TRANSMISSIONS
      Q2 ?$ g6 }. U: Y" H
  185. #define SICSLOWPAN_CONF_MAX_MAC_TRANSMISSIONS   5% W$ @, z! J9 x. Q1 q: s8 Y; a( `
  186. #endif /* SICSLOWPAN_CONF_MAX_MAC_TRANSMISSIONS */
    ( k$ ^+ y5 z4 Y0 E
  187.    
    7 N: x8 E) E  m5 l" U
  188. #else /* WITH_UIP6 */  @1 {: z' a+ B! R; Y
  189. 1 }$ \+ M3 z" d0 O1 l2 l
  190. #define UIP_CONF_IP_FORWARD      1/ ~; x: q7 F% @0 ?  w8 E( H
  191. #define UIP_CONF_BUFFER_SIZE     1083 p5 ^- C- q+ A# j" t  g7 R* ~
  192. #endif /* WITH_UIP6 */
    , k' Q& x; T$ S+ K3 {" Y
  193. /*-------------------------------------------------------------------------------*/
    2 m! p7 B* C' O/ X8 l

  194. 7 c  e1 @8 ^3 p- H
  195. /*-------------------------------------------------------------------------------*/- C' @& l/ y3 f: v3 M" K6 ?
  196. #define UIP_CONF_ICMP_DEST_UNREACH 1    //ICMP! R6 f( C8 s7 P! C9 V% }2 x
  197. " v+ ?& Z) _" S7 c' C
  198. #define UIP_CONF_DHCP_LIGHT             //DHCP
    7 G% d8 w! G1 L$ Z" Q5 O$ ]: L% J3 y
  199. #define UIP_CONF_LLH_LEN         0
    : t$ I0 L1 w! V/ e5 \
  200.    4 L$ d, G( I9 H+ u% c' z
  201. #ifndef UIP_CONF_RECEIVE_WINDOW
    ) K- n% `. E2 u  j# F, B4 `
  202. #define UIP_CONF_RECEIVE_WINDOW  47    //
    7 b5 e1 t. q8 E
  203. #endif
    & U7 ~, w& s: y0 s4 G0 K
  204. #ifndef  UIP_CONF_TCP_MSS1 ]) f$ V$ S8 M+ ]( J# h; z
  205. #define UIP_CONF_TCP_MSS         47    //# r0 E* a- x- ~1 c" q
  206. #endif
    ( [7 W# R9 A+ c# W
  207.    ( z) W; S% x- ]. k- ?! r% s
  208. #define UIP_CONF_MAX_CONNECTIONS 4     //最大连接数( x9 z& k7 q' b0 e# g
  209. #define UIP_CONF_MAX_LISTENPORTS 8       //最大监听端口数
    0 l& h$ w7 d& w2 A' p+ L" o' l" s
  210. #define UIP_CONF_UDP_CONNS       12    //
    + S; c) m& @( x& P
  211. #define UIP_CONF_FWCACHE_SIZE    30    //防火墙
    ' H; x& g. f* _  h8 s
  212. #define UIP_CONF_BROADCAST       1     //广播
    9 J' W) ~( o, y; `) g' l
  213. #define UIP_ARCH_IPCHKSUM        0
    " D' Q/ T7 K# i  h
  214. #define UIP_CONF_UDP             1
    % B- o8 Y" `5 E' g7 p" i
  215. #define UIP_CONF_UDP_CHECKSUMS   1' u. J7 B8 t0 Z% R
  216. #define UIP_CONF_PINGADDRCONF    0. C$ z# X) m& X
  217. #define UIP_CONF_LOGGING         0( o( h' ?6 q# c' O

  218. ; {4 a9 _+ M* j0 u
  219. #define UIP_CONF_TCP_SPLIT       0
    ( L( [( O# _/ v, `) |" j, a
  220. /*-------------------------------------------------------------------------------*/; \1 D. |" \& \& m
  221. /* include the project config */
    3 j) z/ r" v7 u8 N0 V$ t7 u- L5 {
  222. /* PROJECT_CONF_H might be defined in the project Makefile */! X/ M+ @6 D/ \
  223. #ifdef PROJECT_CONF_H* }+ I' w9 @' o
  224. #include PROJECT_CONF_H          //工程配置头文件: N: X$ ?! o/ V; X4 }8 |: ]
  225. #endif /* PROJECT_CONF_H */8 c; @8 F' z0 E5 @1 D) M( d8 r) ]
  226. /*-------------------------------------------------------------------------------*/
    ' e6 \  L7 u% @! n' r% p
  227. #if ((MIST_CONF_NETSTACK) & MIST_CONF_AES)   //网络加密
    - m  y+ E- p( v& g
  228. #ifndef NETSTACK_AES_KEY
    0 T! J% E1 n0 ?2 z, z$ q2 l! B& D
  229. #define NETSTACK_AES_KEY "thingsquare mist" /* 16 bytes */
    ( h; Z1 o# ]8 G, Q
  230. #define NETSTACK_AES_KEY_DEFAULT 1) K/ v! L# ^" T% o6 i
  231. #endif /* NETSTACK_AES_KEY */
    8 F! [% o  z) \4 _5 p' W# A6 K
  232. #endif /* ((MIST_CONF_NETSTACK) & MIST_CONF_AES) */: j& B/ H- @) L1 P2 ]
  233. /*-------------------------------------------------------------------------------*/! c' J9 e9 l5 o2 }$ m
  234. #endif /* CONTIKI_CONF_H */
复制代码
  A* \9 ?* M& ~+ d

' B9 _$ @6 D0 I% p5 A0 K2 e4 p( A
沐紫 回答时间:2014-11-18 14:10:19
谢过楼主!
stary666 回答时间:2015-1-22 12:35:09
:)
holts1 回答时间:2015-1-22 13:11:48
这个太复杂了
子曰小玖 回答时间:2015-1-22 13:15:54
学习一下
happy1993 回答时间:2016-5-5 16:40:32
楼主请问你是用什么工具开发的?keil?IAR?还是直接在linux下makefile?

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版