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

STM32 contiki 下main源文件分析

[复制链接]
咕噜 发布时间:2014-11-13 23:16
本帖最后由 咕噜 于 2016-8-17 21:00 编辑 : G% l4 @! A( r% e2 l

7 O: W% D$ J$ {0 x$ c4 |; J( q% l/************************************************************************************************/
3 M  O9 {0 o( y! n1 h1 q最近一段时间在学习contiki系统,STM32在无线应用上前景更为广阔。3 v! K" z1 j8 S; B8 }
/************************************************************************************************/: O6 h4 W: [/ I# }% k
平台配置-- platform-conf.h
) D/ @3 P; l' H& c/ |7 k

  1. ( E- |' b, x( \1 f3 D9 @- S7 z
  2. /*: B+ m+ L' b4 D5 Y) ]
  3. *  \file* b# Q$ k! ^! y9 ~
  4. *      platform-conf.h
    # O# J  c- I# l. O  b# O
  5. *   \author
    9 d$ L$ p; x$ {; J  K. n! _
  6. *      Marcus Lunden <marcus@thingsquare.com>>
    5 H* _5 G, I! Y- y8 [/ D4 |
  7. *   \desc" G: B3 _( a5 X8 `; S/ n
  8. *      platform dependent configurations, ?4 ?1 k7 M' R
  9. */
    2 K* v) u7 l6 X5 D' B3 J$ I

  10. - T+ u: F9 D3 t& L4 N! ?
  11. #ifndef __PLATFORM_CONF_H__
    # z* |7 a$ S( J6 c/ E7 L; k
  12. #define __PLATFORM_CONF_H__/ x( c$ P2 t1 J9 Q: E
  13. /*--------------------------------------------------------------------*/
    & d6 }' b7 e1 Z" {
  14. #include <inttypes.h>
    2 |0 L" c! M% A! b" [
  15. #include <string.h>3 ^) T% V& n5 t8 V* L$ g+ t1 x. ^
  16. /*--------------------------------------------------------------------*/3 a+ {3 L6 C$ g3 A! U# d& C6 f
  17. //系统时钟
    2 g. w7 Z4 T1 t: L  V" ?
  18. #define F_CPU                   168000000ul
    8 w. i. f$ ]* j6 ?- y
  19. //LED
    . ~+ B3 G; \9 d! J
  20. #define LEDS_CONF_LED1              1     /* green */- A/ C" a7 [- B# o) k
  21. #define LEDS_CONF_LED2              2     /* orange */4 B' I( a1 K/ S. u; p. R
  22. #define LEDS_CONF_LED3              4     /* red */# y5 ^( c5 T3 c
  23. #define LEDS_CONF_LED4              8     /* blue */
    : Y( Q( H+ M1 E0 ?" H# b& }% Y
  24. #define LEDS_CONF_LED5              5     /* yellow */
    # m6 u3 o, o  ?1 R

  25. " {0 ]8 |* P) g9 W) V$ M
  26. #define LEDS_CONF_RED                    (1<<LEDS_CONF_LED3)2 ~# {5 ^% y4 }
  27. #define LEDS_CONF_GREEN                    (1<<LEDS_CONF_LED1)
    ) w3 d4 q+ x8 Z3 x0 q
  28. #define LEDS_CONF_BLUE                    (1<<LEDS_CONF_LED4)+ Y1 v  h' b- v! c5 k! o
  29. 0 A6 s# p( c% t( U* N% b* y; @" Z
  30. //#define FIXED_NET_ADDRESS             18 Q' w! D. A" u- \/ a+ _
  31. //#define NET_ADDR_A                    0x2001- r% [' H4 }0 i1 K. u
  32. //#define NET_ADDR_B                    0xdb8
    " e; }/ d6 ?, ]5 V( {; A
  33. //#define NET_ADDR_C                    0xbbbb; j$ |* P0 a7 ?
  34. //#define NET_ADDR_D                    0xabcd
    : l# J5 R9 \6 U8 u" _
  35. * \" I6 w  p( \: [- g- Z
  36. #define UART1_CONF_TX_WITH_INTERRUPT        1   //0
      L' H9 T* l  ]8 ], r
  37. #define WITH_SERIAL_LINE_INPUT              1   //串口; w! v0 O! R3 f/ i: y" k/ {
  38. #define ENERGEST_CONF_ON                    0   //能量估计,失效. E, J" @: ^- x
  39. #define TELNETD_CONF_NUMLINES               6   //telnet服务& G% K( f, a6 g( e
  40. //射频RADIO 驱动0 y! c% `/ f; T* `
  41. #define NETSTACK_CONF_RADIO                 spirit_radio_driver. ]9 `  |, g( U& v
  42. //射频RADIO 最大负载  w! z8 s. q! ?8 g2 L- X
  43. #define NETSTACK_RADIO_MAX_PAYLOAD_LEN      96 /* spirit1-config.h */
    3 @+ D  `; i9 Z2 D0 y+ S6 A5 A. R
  44. /*---------------------------------------------------------------------*/0 H5 `+ ]; x+ K& b
  45. /* define ticks/second for slow and fast clocks. Notice that these should be a
    + |; p# e1 ~1 _4 h
  46.   power of two, eg 64,128,256,512 etc, for efficiency as POT's can be optimized5 C6 z0 n2 R; K) u+ E: Y' z: A
  47.   well. */
    ; G7 ?5 i  A- M$ g8 K
  48. #define CLOCK_CONF_SECOND               2048
    " }/ Z! J" D' Q0 {+ _: q, a# @, y) [
  49. // One tick: 85.33 us: x* I; b- o2 O* i6 Z# i
  50. #define RTIMER_ARCH_SECOND              168000/*32768*/7 Q. }3 r6 n0 o9 n" [

  51. 0 |/ E4 l5 h  e8 u3 l
  52. /*--------------------------------------------------------------------*/
    6 u  ^) \( H( R/ f0 t4 ]
  53. #define RTIMER_CLOCK_LT(a,b)     ((signed short)((a)-(b)) < 0)
    5 P! M8 H9 [- ?( _) n" u) g

  54. " S/ P& L, ^; \4 x$ a& x
  55. typedef unsigned long clock_time_t;; y8 t* Q- {, O
  56. typedef unsigned long long rtimer_clock_t;: J7 Y7 {6 ?! t$ n6 [) N' e7 d
  57. ! `4 v6 m$ U* n
  58. #define CC_CONF_REGISTER_ARGS          0: Y' }7 j- M; Y% S
  59. #define CC_CONF_FUNCTION_POINTER_ARGS  12 t4 e+ z* n$ r* a* ?! B! G' H9 l
  60. #define CC_CONF_FASTCALL
    ( j; i/ X6 {( i9 r9 p9 Y* X3 S
  61. #define CC_CONF_VA_ARGS                11 Z8 a# S5 z$ X$ \2 B! o
  62. #define CC_CONF_INLINE                 inline
    5 L. U3 G6 u7 g
  63. 5 G) \- h$ x; q( k2 z& p$ F
  64. #define CCIF
    4 x& ?8 x5 x% a: q' ?- |  U
  65. #define CLIF7 y  T* Q: A. [

  66. : x- N: Q$ }, ~1 L: [: h
  67. typedef uint8_t         u8_t;
    9 v6 y' o6 _% I( Y; t
  68. typedef uint16_t        u16_t;
    . h5 a/ N, k6 b  u" D
  69. typedef uint32_t        u32_t;6 C' l, t; h7 O# L
  70. typedef  int32_t        s32_t;" @" g+ @) D& `/ w
  71. typedef unsigned short  uip_stats_t;; `0 K( B2 I5 T( p& o) e( U9 |
  72. /*--------------------------------------------------------------------*/
    % Z  V" }. m8 H. D. W+ }+ k
  73. & B& r+ ?1 o. a  E/ `6 ?& @
  74. #endif /* __PLATFORM_CONF_H__ */
复制代码

4 B4 [5 O. d0 U( L" R; a3 |7 [
3 G  }2 S2 ]2 z6 q3 ~5 C
收藏 评论6 发布时间:2014-11-13 23:16

举报

6个回答
咕噜 回答时间:2014-11-13 23:18:30
本帖最后由 咕噜 于 2016-8-17 21:01 编辑 . n+ A9 X& P$ K# h) K" y8 `

# U- _- j' r# n! [1 u" r1 q, {% Mcontiki-conf配置
  1. 9 Y9 ^% e" J* |& Q/ F' R0 e

  2. $ H9 \1 R+ l, U+ E* V1 w
  3. #ifndef __CONTIKI_CONF_H__3 l# }# L# d- `! ^
  4. #define __CONTIKI_CONF_H__) h0 Y/ n3 [) q& m  k  s* y4 b

  5. / D4 \4 s3 m. w" f  Z6 P" r8 `
  6. #include "platform-conf.h"      //平台配置(硬件)3 b% b8 U* ?! f1 w. h( c# D6 s+ X

  7. / B- [) n; \& {: s8 B' M, s7 l
  8. #include "mist-conf-const.h"    //mist 配置/ I5 p0 T/ g1 g2 D

  9. 1 ~! L5 i  N  @+ v& p9 q
  10. #ifndef MIST_CONF_NETSTACK
    8 `  g  c+ a( P3 d
  11. #define MIST_CONF_NETSTACK (MIST_CONF_NULLRDC | MIST_CONF_AES)  //mist 配置6 x1 k/ n3 ~6 C/ V3 o
  12. #endif /* MIST_CONF_NETSTACK */
    1 |" z2 [' F* L, u' D" t6 n
  13. ' _- c# r. P2 u" ~- u. O$ |
  14. #include "mist-default-conf.h"  //
      l) Z5 ^8 n( D) I1 N7 w% [) u

  15.   P" V; O6 L' v; h
  16. #define NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE 8       //RDC信道扫描; l4 c& [: g; G& a6 c
  17. #define NULLRDC_CONF_802154_AUTOACK 1  ) e2 N/ L" j$ [1 H; P. x+ U9 g) ?
  18. #define NETSTACK_CONF_FRAMER  framer_802154          //Framer定义
    3 k! f0 P# r  n6 s! R) b
  19.    6 z3 t- U2 M+ {+ Y0 F( F- A8 W
  20. //网络层定义/ q4 A; w; J8 e
  21. #define NETSTACK_CONF_NETWORK sicslowpan_driver      //使用sicslowpan(IPV6)- y6 u9 q5 U' _
  22. 7 S4 X! H3 x2 j, h7 F9 F; ~
  23. #define RIMESTATS_CONF_ENABLED                      1
    ! I# a5 }! A" x  A1 P6 ?
  24. #define RIMESTATS_CONF_ON                      1  Y: H( u; x# Q( z, \. S$ h
  25. ) O, E: J) P8 [/ v
  26. 3 G- f2 X' M3 m- C
  27. #if WITH_UIP6                      1 v+ C/ s- W) G; z+ p% ~) E" }
  28. /* Network setup for IPv6 *// u( l$ l8 [  {# B+ o- r' M/ p
  29. #define NETSTACK_CONF_NETWORK sicslowpan_driver      //使用sicslowpan(IPV6)& ^5 y2 s& A& t+ n8 U; E  f! N

  30. 3 F7 F5 R8 b( z8 M1 b4 i
  31. /* Specify a minimum packet size for 6lowpan compression to be6 \* b7 J: F: |% ~5 M$ z- @
  32.    enabled. This is needed for ContikiMAC, which needs packets to be6 D3 M1 u8 w# n. d, g  D
  33.    larger than a specified size, if no ContikiMAC header should be
    2 |6 S, v' s6 T+ v
  34.    used. */
    + \7 f5 B; `; O( W1 t1 K/ |
  35. #define SICSLOWPAN_CONF_COMPRESSION_THRESHOLD 0
    6 @  Q5 W% a% u) }' Q4 M2 E; w; T
  36. //#define SICSLOWPAN_CONF_MAC_MAX_PAYLOAD        40; r& ]! \; U0 i; _. n/ D4 u1 Y
  37. #define CONTIKIMAC_CONF_WITH_CONTIKIMAC_HEADER 0
      F+ F! q6 B+ i

  38. ( ?6 J4 @9 ]* U8 v* ~
  39. #define CXMAC_CONF_ANNOUNCEMENTS         0   //RDC驱动机制--CXMAC  . ]- Z. v: z' g3 b- w
  40. #define XMAC_CONF_ANNOUNCEMENTS          0   //RDC驱动机制--XMAC - e5 `( k% z2 q: P- w! W8 }/ l

  41. ( j5 Y9 e) ~2 ~# P4 e
  42. #ifndef QUEUEBUF_CONF_NUM
    % e& ?( j) ?, w" c
  43. #define QUEUEBUF_CONF_NUM                8  //消息队列
    ! O3 ^# k+ _* N) C$ X- ?* E
  44. #endif! N8 u- E2 t$ u6 z" C
  45. 3 E- e6 N: n7 U; I' S6 y: _7 K
  46. #else /* WITH_UIP6 *// @+ f* A5 C  g
  47. /* Network setup for non-IPv6 (rime). */. p3 J4 Z* J$ j4 b# G: N0 q
  48. #error This platform is not yet tested without IPv6
    3 l$ U( Q% |+ V0 |$ {6 t
  49. #define NETSTACK_CONF_NETWORK rime_driver  //没有使用IPV6 ,而是rime协议
    $ p0 J# |4 A3 G0 E
  50. 0 j5 L" H" o  Y: k5 n+ F
  51. #define COLLECT_CONF_ANNOUNCEMENTS       1  //RDC驱动机制--COLLECT# `, Y& J" z- o/ O2 D
  52. #define CXMAC_CONF_ANNOUNCEMENTS         0  //RDC驱动机制--CXMAC
    2 N9 u: G+ B& ^. A- C
  53. #define XMAC_CONF_ANNOUNCEMENTS          0  //RDC驱动机制--XMAC
    " j6 V  p! l& u( b0 b
  54. #define CONTIKIMAC_CONF_ANNOUNCEMENTS    0  //RDC驱动机制--CONTIKIMAC1 a* A6 E/ j. Z1 |7 F
  55. 4 t6 C4 b& J6 O
  56. #define CONTIKIMAC_CONF_COMPOWER         1
    : \' l* x! T) `0 r) W; g
  57. #define XMAC_CONF_COMPOWER               1
    / c4 U& \# [% t) [
  58. #define CXMAC_CONF_COMPOWER              1
    - B5 d, o. d, y$ G

  59. 1 k+ R3 Q: {& k& N* [
  60. #ifndef COLLECT_NEIGHBOR_CONF_MAX_COLLECT_NEIGHBORS    //发现邻居
    7 J  e( T6 \: c: `  i: u, a9 S
  61. #define COLLECT_NEIGHBOR_CONF_MAX_COLLECT_NEIGHBORS     32. Y4 R; O6 Y  x" Q; r1 S6 L. R
  62. #endif /* COLLECT_NEIGHBOR_CONF_MAX_COLLECT_NEIGHBORS */$ F, }2 D  `$ c9 W4 ]5 E& f" W# D

  63. ; E3 v9 p, ^. \0 L$ J& B2 Z
  64. #ifndef QUEUEBUF_CONF_NUM
    1 C  x* b! q" u
  65. #define QUEUEBUF_CONF_NUM                16             //消息队列
    ' N% U, r. L: N% r- u, t
  66. #endif /* QUEUEBUF_CONF_NUM */
    6 ?3 y" s) d$ {% D9 q' L: v% F
  67. $ K3 p: o8 l  C, U$ f" d- G
  68. #ifndef TIMESYNCH_CONF_ENABLED                          //时间同步3 v9 g0 u6 `8 _% `) G
  69. #define TIMESYNCH_CONF_ENABLED           0
    5 l! k; K! M: J9 @. A# S7 G& N) ]' |
  70. #endif /* TIMESYNCH_CONF_ENABLED */
    5 _! L6 `+ t  ^! Q8 O: |. q

  71. . S& S% J% G5 `) I
  72. #endif /* WITH_UIP6 */
      K, G# O5 K- Q( d- H9 y

  73. 6 I8 W8 L9 z$ \( @  o/ B1 N
  74. /* A trick to resolve a compilation error with IAR. */
    5 [4 R0 i" H: N& b) c
  75.    /*一个来解决IAR编译错误的技巧。 */+ C; y. n# Q4 F9 u
  76. #ifdef __ICCARM__
    # [0 V- s2 {7 _* e9 X2 l
  77. #define UIP_CONF_DS6_AADDR_NBU              1
    ! x4 |, m5 M7 p9 D% L! q% u6 b
  78. #endif
    ! d' r8 a- {) F8 {. [' k$ h
  79. 5 E( V  f( G5 `! C% G3 k
  80. /*------------------------------------------------------------------------*/
    3 U# m2 @' R. M' K. D( m! T
  81. #ifndef RF_CHANNEL                               //无线信道配置7 S3 u2 ?2 r1 N" b! D4 ?& [
  82. #define RF_CHANNEL              26
    , A3 I  C& z6 Y, x) ^. s% T
  83. #endif /* RF_CHANNEL */: \1 ?% v0 _; u: G- F2 K7 ?
  84.    ! `' J2 e5 Q# t+ w" x, X9 {! i
  85. //RDC驱动机制--CONTIKIMAC 广播周期
    8 q# |& L/ o( `# z$ s3 V/ j
  86. #define CONTIKIMAC_CONF_BROADCAST_RATE_LIMIT 0- ?/ \/ W4 e3 {
  87. 0 b0 j$ g2 L; ]  E& }/ M+ Z9 A# a
  88. #define IEEE802154_CONF_PANID       0xABCD       //PANID 2 V" f! A2 H$ W9 l
  89. : h# P2 ~) M/ u3 f6 F" A8 O$ s
  90. #define SHELL_VARS_CONF_RAM_BEGIN 0x1100        //Shell 7 k& _* W% z& T3 l' k
  91. #define SHELL_VARS_CONF_RAM_END 0x20002 F$ X* h2 C7 X: n. h/ V# N, @

  92. $ p1 A; b3 h4 t$ l
  93. #define PROFILE_CONF_ON 0                //配置文件
    5 C  a/ k# A) e9 g
  94. #ifndef ENERGEST_CONF_ON
    - [1 d% G% Y  g8 d- h
  95. #define ENERGEST_CONF_ON 1: i+ m: U1 y2 D/ J' A! p. ~
  96. #endif /* ENERGEST_CONF_ON */1 _$ ?0 m% o1 X( J" I
  97.    7 s, l# W% A+ V5 `
  98. // 动态模块加载2 a6 M4 ?- {  M) a, c# o& o8 A5 r
  99. #define ELFLOADER_CONF_TEXT_IN_ROM 0
    8 n; X6 M/ ?) W' e
  100. #ifndef ELFLOADER_CONF_DATAMEMORY_SIZE
    4 [2 `) G8 j& u0 a! M
  101. #define ELFLOADER_CONF_DATAMEMORY_SIZE 0x400# S- _" _: g9 b7 X/ a' O( F
  102. #endif /* ELFLOADER_CONF_DATAMEMORY_SIZE */
    + O6 |: ~* x( K& p
  103. #ifndef ELFLOADER_CONF_TEXTMEMORY_SIZE
    % L4 S/ Y" [  F" \
  104. #define ELFLOADER_CONF_TEXTMEMORY_SIZE 0x800
    9 m5 f1 Q' L( A+ ?* e; i2 L; s
  105. #endif /* ELFLOADER_CONF_TEXTMEMORY_SIZE */
    ; W$ d5 q! @. n5 E; Z. B
  106. 6 W. @9 D: A6 S3 C2 |. [  P/ _
  107. //AODV(Ad hoc on-demand distance vector routing)是一种源驱动路由协议
    7 O" t, o1 C6 d$ U3 A
  108. //按需平面距离矢量路由协议
    / E4 o6 x' |4 g8 ?$ f
  109. #define AODV_COMPLIANCE
    7 ^! ^$ ?& P% I& `) O
  110. #define AODV_NUM_RT_ENTRIES 32/ G2 `: S5 v' j$ O4 i3 P
  111. , D5 E' y) X( J5 v
  112. #define WITH_ASCII 1) n0 Z  E# f& c3 m
  113. //进程配置0 U! c' y/ i" M2 q+ K3 ~1 Y" ~; |
  114. #define PROCESS_CONF_NUMEVENTS 8/ ~# f2 ]* A' p0 z& J/ F. j
  115. #define PROCESS_CONF_STATS 1
    ( O( V5 }5 I, I9 F/ ^
  116. /*#define PROCESS_CONF_FASTPOLL    4*/8 n# q+ I% j* }% A1 {6 W0 V) g, y
  117. /*-------------------------------------------------------------------------------*/: {; F! _+ ^$ E( n$ G* u# d* c
  118. & h0 q0 J. J  C
  119. /*-------------------------------------------------------------------------------*/8 H% _1 X* _2 W/ n& D  o
  120. #ifdef WITH_UIP6   //ipv6 网络配置
    ' p' j5 `6 U6 x, B$ y+ G0 Q. J

  121. & }0 F: c" S' g+ M2 a: n! W
  122. #define RIMEADDR_CONF_SIZE              8   //节点地址rimeaddr_node_addr长度(字节)7 x) j7 B2 K1 v# Q
  123. - N. G1 K4 r  q- m# e9 E
  124. #define UIP_CONF_LL_802154              1
    7 N! Y: a3 R2 V1 J
  125. #define UIP_CONF_LLH_LEN                0
    - p( R! m* M4 M4 [: W8 d
  126. ; W! I% H  A& h0 F
  127. #define UIP_CONF_ROUTER                 1   //ROUTER4 O6 C+ l# o9 H! H) _2 Z# ?0 u
  128. #ifndef UIP_CONF_IPV6_RPL
    2 t8 t  n, M- B8 J
  129. #define UIP_CONF_IPV6_RPL               1   //IPV6_RPL! z- x# Y: i# z8 T% C6 k' m
  130. #endif /* UIP_CONF_IPV6_RPL */1 o7 e  k4 d+ \
  131. : A8 P3 c6 A% w  W5 m
  132. /* configure number of neighbors and routes */, u2 P5 ?, B' N3 ]
  133. #ifndef UIP_CONF_DS6_NBR_NBU  U9 J1 Y- k, l! `' |2 x
  134. #define UIP_CONF_DS6_NBR_NBU     30         //邻居节点& ~2 G( y: O$ m- F
  135. #endif /* UIP_CONF_DS6_NBR_NBU */
    7 T) \$ ^# }+ Z5 `, @; X+ e; e" r  ?/ J
  136. #ifndef UIP_CONF_DS6_ROUTE_NBU
    8 W1 Q8 r/ J  i6 n
  137. #define UIP_CONF_DS6_ROUTE_NBU   30         //路由节点6 C- Z( M; B6 g, P5 X% h3 T6 K' E4 ~
  138. #endif /* UIP_CONF_DS6_ROUTE_NBU */1 v' L; f9 A& T& y6 q

  139. 2 m" C, D2 l2 s' ]1 t) l6 U9 z
  140. #define UIP_CONF_ND6_SEND_RA    00 _# e5 J/ k. H& F
  141. #define UIP_CONF_ND6_REACHABLE_TIME     600000  //可达7 n+ K( X; ^9 ~0 w* C1 t$ o  ?: M
  142. #define UIP_CONF_ND6_RETRANS_TIMER      10000   //重传
    " E: ~# j& Y9 P' l

  143. 9 j7 ?- Q, \4 g. ?6 y6 ?
  144. #define UIP_CONF_IPV6                   1
    ) X( V& a/ e0 X& o. A
  145. #ifndef UIP_CONF_IPV6_QUEUE_PKT
    / i6 |$ k& [- O! P6 \! k. o: K
  146. #define UIP_CONF_IPV6_QUEUE_PKT         06 B9 b8 L- Z+ m* Z" Q
  147. #endif /* UIP_CONF_IPV6_QUEUE_PKT */$ W5 Y8 H  W0 Z2 k- P; O  e
  148. #define UIP_CONF_IPV6_CHECKS            1       //校验   
    & ?& m+ f+ p# d3 \% H; S
  149. 1 r, ~( A( o7 M9 u9 X
  150. #define UIP_CONF_IPV6_REASSEMBLY        0       //重新装配
    0 I8 [. V4 p( C) t$ {( g. ^
  151. #define UIP_CONF_NETIF_MAX_ADDRESSES    3, S3 ^, B$ M3 f' M1 A) V
  152. #define UIP_CONF_ND6_MAX_PREFIXES       3      //前缀  M1 l* u. C# P+ C* v$ w
  153. #define UIP_CONF_ND6_MAX_NEIGHBORS      4      //邻居    $ s! B% |8 c, c" Y# X0 l# u! U
  154. & |1 g1 C4 V$ A
  155. #define UIP_CONF_ND6_MAX_DEFROUTERS     2      //默认路由) A9 |, L, K- a/ l# L
  156. #define UIP_CONF_IP_FORWARD             0
    + l' q3 k# Y$ j6 |
  157. #ifndef UIP_CONF_BUFFER_SIZE
    $ g- D" \. M  y. Z$ G# E/ \$ ]! f
  158. #define UIP_CONF_BUFFER_SIZE    280           //IP 缓冲4 `/ J6 W5 k. D7 l8 }  y
  159. #endif( l0 j4 I: D" b4 x/ x, Y% K! G* j
  160. ! G8 @( J! o6 p+ A* [* o
  161.    //SICSLOWPAN 压缩方式
    : v8 L3 F0 G2 w* P
  162. #define SICSLOWPAN_CONF_COMPRESSION_IPV6        07 u6 N' v; Q5 [% ^' J
  163. #define SICSLOWPAN_CONF_COMPRESSION_HC1         1
    . y6 K6 w- M% t; R0 J5 A( ^
  164. #define SICSLOWPAN_CONF_COMPRESSION_HC01        2
    1 Z3 ^& N% u0 c; r" p
  165. #define SICSLOWPAN_CONF_COMPRESSION             SICSLOWPAN_COMPRESSION_HC06" X/ {" w/ W, K' E
  166. #ifndef SICSLOWPAN_CONF_FRAG
    / ?3 m/ @* c# V
  167. #define SICSLOWPAN_CONF_FRAG                    1
    ) h3 z" h! Z2 F+ R% h6 b& H! b
  168. # N4 q/ W* i5 t4 q( c! |2 _
  169. /* Unit: 1/16th second. 16 => 1.0s timeout */
    . i2 s6 P0 W: ?! A. J% }: f% e
  170. #undef SICSLOWPAN_CONF_MAXAGE5 u. Z8 ]# c! m9 S/ I$ W. O2 X
  171. #define SICSLOWPAN_CONF_MAXAGE                  16) x* Y9 n  B- c* B/ l, R0 J( L

  172. 1 c8 ?2 x7 w# t( p0 x# `
  173. #if (MIST_CONF_NETSTACK & MIST_CONF_DROWSIE_MULTICHANNEL)( M5 i2 M; E8 `8 ]
  174. /* We need to increase the fragmentation timeout, as the multichannel protocol may transmit
    # i0 R  F" H4 F4 O. D/ B2 P1 b. Q
  175. * the same fragment on two channels, causing up to 0.6s delay inbetween fragments. */7 z  z7 }' x: y1 H8 S; B. M
  176. //   多通道发送时,增加碎片timeout
    # m- I" k6 o, c9 B
  177. #undef SICSLOWPAN_CONF_MAXAGE# C" L' M& i% \' W
  178. #define SICSLOWPAN_CONF_MAXAGE                  12
    2 A4 X1 W& P( t# R4 s/ t, A
  179. #endif /* (MIST_CONF_NETSTACK & MIST_CONF_DROWSIE_MULTICHANNEL) */
    + i# p+ E  ~3 r( {4 L, G9 r

  180. $ i; O4 G6 V7 @+ D* C: |
  181. #endif /* SICSLOWPAN_CONF_FRAG */2 _  e: U& f. z& O# T
  182. #define SICSLOWPAN_CONF_CONVENTIONAL_MAC     1        //常规
    : A, k- v% I6 J: d
  183. #define SICSLOWPAN_CONF_MAX_ADDR_CONTEXTS       2
    / p  f6 M' I! @" P/ m
  184. #ifndef SICSLOWPAN_CONF_MAX_MAC_TRANSMISSIONS
    5 d: a1 A2 ?/ X8 x5 E( R
  185. #define SICSLOWPAN_CONF_MAX_MAC_TRANSMISSIONS   5
    ) z  }, z; ~2 I6 C5 W* q+ X+ D
  186. #endif /* SICSLOWPAN_CONF_MAX_MAC_TRANSMISSIONS */6 q. I1 L: n' }: {/ J0 V0 s
  187.    
    : X1 E& M2 M4 C! V+ Z0 ?: H
  188. #else /* WITH_UIP6 */4 n/ C# ]0 @  D! d. E; K

  189. & j! o! {5 |; _) V
  190. #define UIP_CONF_IP_FORWARD      16 ^& ^+ P1 K$ J  O+ `
  191. #define UIP_CONF_BUFFER_SIZE     108
    + X: F5 E0 ~$ @" h9 M2 K, l
  192. #endif /* WITH_UIP6 */
    # \- R9 S1 a5 E* U/ e# U: O6 u/ s
  193. /*-------------------------------------------------------------------------------*/
    . m; v3 C$ {; w% w% B

  194. ; |$ b. g$ |- d7 o( |
  195. /*-------------------------------------------------------------------------------*/1 H0 d) x$ M0 B/ N! x
  196. #define UIP_CONF_ICMP_DEST_UNREACH 1    //ICMP
    - t9 L3 K, y8 ~" B9 Y4 D

  197. 9 I( M# U0 f& X8 ?
  198. #define UIP_CONF_DHCP_LIGHT             //DHCP
    7 R5 u% j0 D, G  }# z
  199. #define UIP_CONF_LLH_LEN         04 E5 W$ S+ v+ t( w8 i3 C/ H
  200.    ) L5 ~" N1 d! C8 ]3 N
  201. #ifndef UIP_CONF_RECEIVE_WINDOW& R  l9 `# X3 P
  202. #define UIP_CONF_RECEIVE_WINDOW  47    //
    2 q7 C3 I  v, {
  203. #endif
    0 u, p  u6 e' v6 D2 u
  204. #ifndef  UIP_CONF_TCP_MSS% X. R$ y& `, B8 R$ e4 }% l3 w- y
  205. #define UIP_CONF_TCP_MSS         47    //1 Y& A% R$ l$ |  J) v+ ^
  206. #endif) ?6 x0 W6 N% D  E( S" D
  207.    ; |! ]& Z, n$ e2 t/ P
  208. #define UIP_CONF_MAX_CONNECTIONS 4     //最大连接数2 p" s0 {& T2 n: A7 S2 R1 \
  209. #define UIP_CONF_MAX_LISTENPORTS 8       //最大监听端口数
    & S' W! x2 B; J4 D: \& J7 ^9 P
  210. #define UIP_CONF_UDP_CONNS       12    //- M: u$ C$ u; b0 O! g) D; d
  211. #define UIP_CONF_FWCACHE_SIZE    30    //防火墙
      `. I* H& F5 Y2 ?) W- ~
  212. #define UIP_CONF_BROADCAST       1     //广播
    ( n+ |" o& F/ B6 O* l  [; X1 ?
  213. #define UIP_ARCH_IPCHKSUM        0) Z0 e: a2 s3 U: D& k
  214. #define UIP_CONF_UDP             1
    $ [  W7 l, `) m$ S' L  U
  215. #define UIP_CONF_UDP_CHECKSUMS   1- Y% _1 Q7 z! ?
  216. #define UIP_CONF_PINGADDRCONF    0
    0 E$ m* ?" K  _& L$ P: O
  217. #define UIP_CONF_LOGGING         0
    5 n) d- ~) i% |+ W% H7 ?' T; h. B
  218. ' l4 G2 b4 D6 V8 y  g/ R  g, r
  219. #define UIP_CONF_TCP_SPLIT       0
    4 w2 w' Y& h  p
  220. /*-------------------------------------------------------------------------------*/
    9 e' R: \! ~& s3 A" _9 [
  221. /* include the project config */$ `$ S) C- P0 S) G
  222. /* PROJECT_CONF_H might be defined in the project Makefile */  R) [! V2 U  q, ]( ]
  223. #ifdef PROJECT_CONF_H
    1 H# w  s- Z1 q4 p+ J
  224. #include PROJECT_CONF_H          //工程配置头文件2 j7 ~0 }5 S( u+ L3 E. y
  225. #endif /* PROJECT_CONF_H */
    " V7 P/ W# e% n5 S" h
  226. /*-------------------------------------------------------------------------------*/0 L! n) X/ h5 E6 n+ ]! z
  227. #if ((MIST_CONF_NETSTACK) & MIST_CONF_AES)   //网络加密
    , E  u/ v# X: h" B# t! u6 R
  228. #ifndef NETSTACK_AES_KEY
    ) h' f2 _( n  B; Z7 Z$ M
  229. #define NETSTACK_AES_KEY "thingsquare mist" /* 16 bytes */
    6 p3 m5 z* @9 g4 g% R
  230. #define NETSTACK_AES_KEY_DEFAULT 1/ ~& z  H# {* V6 U1 p* A+ T3 b9 ?
  231. #endif /* NETSTACK_AES_KEY */) O* i' h  `5 \
  232. #endif /* ((MIST_CONF_NETSTACK) & MIST_CONF_AES) */
    8 j5 J( @, M6 r) Q1 d
  233. /*-------------------------------------------------------------------------------*/
    4 _7 e; ]- v) E& M
  234. #endif /* CONTIKI_CONF_H */
复制代码
2 ~' H0 ^1 Q; c' }# E) s
! b0 n, G# z2 H2 Q
沐紫 回答时间: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 手机版