mirror of
https://github.com/apache/nuttx.git
synced 2026-06-04 14:53:47 +08:00
Merged nuttx/nuttx into master
This commit is contained in:
@@ -168,7 +168,7 @@
|
|||||||
# define CHILD_FLAG_TTYPE_TASK (0 << CHILD_FLAG_TTYPE_SHIFT) /* Normal user task */
|
# define CHILD_FLAG_TTYPE_TASK (0 << CHILD_FLAG_TTYPE_SHIFT) /* Normal user task */
|
||||||
# define CHILD_FLAG_TTYPE_PTHREAD (1 << CHILD_FLAG_TTYPE_SHIFT) /* User pthread */
|
# define CHILD_FLAG_TTYPE_PTHREAD (1 << CHILD_FLAG_TTYPE_SHIFT) /* User pthread */
|
||||||
# define CHILD_FLAG_TTYPE_KERNEL (2 << CHILD_FLAG_TTYPE_SHIFT) /* Kernel thread */
|
# define CHILD_FLAG_TTYPE_KERNEL (2 << CHILD_FLAG_TTYPE_SHIFT) /* Kernel thread */
|
||||||
#define CHILD_FLAG_EXITED (1 << 0) /* Bit 2: The child thread has exit'ed */
|
#define CHILD_FLAG_EXITED (1 << 2) /* Bit 2: The child thread has exit'ed */
|
||||||
/* Bits 3-7: Available */
|
/* Bits 3-7: Available */
|
||||||
|
|
||||||
/* Sporadic scheduler flags */
|
/* Sporadic scheduler flags */
|
||||||
|
|||||||
+12
-10
@@ -10,12 +10,14 @@ Optimal 6loWPAN Configuration
|
|||||||
|
|
||||||
128 112 96 80 64 48 32 16
|
128 112 96 80 64 48 32 16
|
||||||
---- ---- ---- ---- ---- ---- ---- ----
|
---- ---- ---- ---- ---- ---- ---- ----
|
||||||
xxxx xxxx xxxx xxxx xxxx 00ff fe00 MMMM 2-byte Rime address IEEE 48-bit MAC
|
AAAA xxxx xxxx xxxx xxxx 00ff fe00 MMMM 2-byte Rime address IEEE 48-bit MAC
|
||||||
fe80 0000 0000 0000 NNNN NNNN NNNN NNNN 8-byte Rime address IEEE EUI-64
|
AAAA 0000 0000 0000 NNNN NNNN NNNN NNNN 8-byte Rime address IEEE EUI-64
|
||||||
|
|
||||||
Where MMM is the 2-byte rime address XOR 0x0200. For example, the MAC
|
Where MMM is the 2-byte rime address XORed 0x0200. For example, the MAC
|
||||||
address of 0xabcd would be 0xa9cd. And NNNN NNNN NNNN NNNN is the 8-byte
|
address of 0xabcd would be 0xa9cd. And NNNN NNNN NNNN NNNN is the 8-byte
|
||||||
rime address address XOR 02000 0000 0000 0000
|
rime address address XOR 02000 0000 0000 0000.
|
||||||
|
|
||||||
|
For link-local address, AAAA is 0xfe80
|
||||||
|
|
||||||
3. MAC based link-local addresses
|
3. MAC based link-local addresses
|
||||||
|
|
||||||
@@ -33,9 +35,9 @@ Optimal 6loWPAN Configuration
|
|||||||
Fragmentation Headers
|
Fragmentation Headers
|
||||||
---------------------
|
---------------------
|
||||||
A fragment header is placed at the beginning of the outgoing packet just
|
A fragment header is placed at the beginning of the outgoing packet just
|
||||||
after the MAC when the payload is too large to fit in a single IEEE 802.15.4
|
after the MAC header when the payload is too large to fit in a single IEEE
|
||||||
frame. The fragment header contains three fields: Datagram size, datagram tag
|
802.15.4 frame. The fragment header contains three fields: Datagram size,
|
||||||
and datagram offset.
|
datagram tag and datagram offset.
|
||||||
|
|
||||||
1. Datagram size describes the total (un-fragmented) payload.
|
1. Datagram size describes the total (un-fragmented) payload.
|
||||||
2. Datagram tag identifies the set of fragments and is used to match
|
2. Datagram tag identifies the set of fragments and is used to match
|
||||||
@@ -65,7 +67,7 @@ this is a HC1 compressed first frame of a packet
|
|||||||
This is the second frame of the same transfer:
|
This is the second frame of the same transfer:
|
||||||
|
|
||||||
41 88 01 cefa 3412 cdab ### 9-byte MAC header
|
41 88 01 cefa 3412 cdab ### 9-byte MAC header
|
||||||
e50e 000b 0a ### 5 byte FRAGN header
|
e50e 000b 0d ### 5 byte FRAGN header
|
||||||
42 ### SIXLOWPAN_DISPATCH_HC1
|
42 ### SIXLOWPAN_DISPATCH_HC1
|
||||||
fb ### RIME_HC1_HC_UDP_HC1_ENCODING
|
fb ### RIME_HC1_HC_UDP_HC1_ENCODING
|
||||||
e0 ### RIME_HC1_HC_UDP_UDP_ENCODING
|
e0 ### RIME_HC1_HC_UDP_UDP_ENCODING
|
||||||
@@ -81,5 +83,5 @@ This is the second frame of the same transfer:
|
|||||||
|
|
||||||
The payload length is encoded in the LS 11-bits of the first 16-bit value:
|
The payload length is encoded in the LS 11-bits of the first 16-bit value:
|
||||||
In this example the payload size is 0x050e or 1,294. The tag is 0x000b. In
|
In this example the payload size is 0x050e or 1,294. The tag is 0x000b. In
|
||||||
the second frame, the fifth byte contains the offset 0x0a which is 10 << 3 =
|
the second frame, the fifth byte contains the offset 0x0d which is 13 << 3 =
|
||||||
80 bytes, the size of the payload on the first packet.
|
104 bytes, the size of the payload on the first packet.
|
||||||
|
|||||||
Reference in New Issue
Block a user