Designer’s
Handbook
25
2. The
top six bytes of the buffer (read from 0x7FFF8-0x7FFFF) are checked for an alter-
nating
sequence of 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA. If this is not found, the
block
does not exist and an error (-2) is retured.
3. The
ID block size (=SIZE) is determined from the first 4 bytes of the 16-byte buffer.
4. A
block of bytes containing all fields from the start of the
SysIDBlock
struct up to but
not
including the reserved field is read from flash at address 0x80000-SIZE, essentially
filling
the
SysIDBlock
struct except for the reserved field (since the top 16 bytes have
been
read earlier).
5. The
CRC field is saved in a local variable, then set to 0x0000. A CRC check is then
cacculated
for the entire ID block except the reserved field and compared to the saved
value.
If they do not match, the block is considered invalid and an error (-3) is
returned.
The CRC field is then restored.
The
reserved field is avoided in the CRC check since its size may vary, depending on the
size
of the ID block.
Table
2.
The
System
ID
Block
Offset
from
start
of
block
Size
(bytes)
Description
00h
2
ID
block version number
02h
2
Product
ID
04h
2
Vendor
ID
06h
7
Timestamp
(YY/MM/D/H/M/S)
0Dh
4
Flash
ID
11h
2
Flash
size (in 1000h pages)
13h
2
Flash
sector size
15h
2
Number
of sectors in flash
17h
2
Flash
access time (nanoseconds)
19h
4
Flash
ID, 2nd flash
1Dh
2
Flash
size (in 1000h pages), 2nd flash
1Fh
2
Flash
sector size, 2nd flash
21h
2
Number
of sectors in 2nd flash
23h
2
Flash
access time (nanoseconds), 2nd flash
25h
4
RAM
ID
29h
2
RAM
size (in 1000h pages)
2Bh
2
RAM
access time (nanoseconds)
2Dh
2
CPU
ID
Содержание 2000
Страница 1: ...Rabbit 2000 Microprocessor Designers Handbook Revision C...
Страница 4: ...Rabbit 2000 Microprocessor...
Страница 6: ...2 Rabbit 2000 Microprocesssor...
Страница 12: ...8 Rabbit 2000 Microprocessor...
Страница 34: ...344 Dynamic C User s Manual...
Страница 36: ...34 Rabbit 2000 Microprocessor...
Страница 44: ...42 Rabbit 2000 Microprocessor...