Document number
205065
Version
Rev. N
Issue date
2019-02-04
Sirius OBC and TCM User Manual
Page
139
of
174
The data field of the read/write RMAP message in Table 7-64 contains raw data written to or
read from the partition.
Table 7-64: MMData data
Byte
Type
Description
0 - nn
Array of UINT8 Data
RMAP reply status (if a reply is requested):
Table 7-65: MMData data status codes
Status code
Description
0
Success.
ENOSPC
Write: Not enough space on partition (may have
been caused by bad blocks, see suggested handling
above).
Read: Not enough data on partition.
Note!
It's
allowed to ask for more read data than is available
on the partition. Available data will be returned
(stating the length in the RMAP reply packet)
together with this error code.
EINVAL
Invalid partition number, or
Attempt to write partial page to direct mode partition,
or
Address is not 0 when writing to continuous or
circular partition, or
Length is greater than INT32_MAX.
EEXIST
Write operation to direct mode partition would
overwrite existing data.
EALREADY
Write to circular partition that is being downloaded.
7.12.4.20. MMDataRange
This command will return all data address ranges where data is written in this partition, see
Table 7-66. The range information should interpreted differently for different partition modes.
Continuous and circular mode - Only one range will be reported, corresponding to the free
and write pointers. Empty and full partitions will show the free and write pointers having the
same value, use the MMPartitionSpace command to get size status.
Direct mode - This is a collection of ranges. Empty partitions will return an empty range table
(RMAP reply data of length 0). The ranges will represent the start and end of each
continuous data segment in the partition.
Ranges will not exactly match the currently unavailable space due to partially freed (but not
yet erased) blocks.