1.17.8 Get Memory Range Command
This command will request the memory range for a specific memory region on the device. The specific memory region will be placed in the "Address" field. This field should be populated with 0 if only one memory region is supported. The device will respond with the start and end address of the programmable memory range. This will allow the programmer to determine what ranges are supported and allow the programmer to filter out all other memory addresses.
Field Size |
Description |
Data Type |
Comments | |
---|---|---|---|---|
1 |
Cmd |
uint8_t |
Command (0x0B) - Get Memory Address Range | |
2 |
Length |
uint16_t |
0x8. Length of the response. | |
4 |
Unlock Seqeunce |
uint32_t |
0x00 | |
4 |
Address |
uint32_t |
Which memory range. 0x0 is default for a divice with just single flash. |
Get Memory Address Range Command Response Format
Field Size |
Description |
Data Type |
Comments | |
---|---|---|---|---|
1 |
Cmd |
uint8_t |
Command (0x0B) - Get Memory Address Range | |
2 |
Length |
uint16_t |
8 -Number of bytes to read. | |
4 |
Unlock Seqeunce |
uint32_t |
0 Unlock sequence for flash. Key for currently supported parts is 0x00AA0055 | |
4 |
Address |
uint32_t |
Which memory range. 0x0 is default for a divice with just single flash. | |
1 |
Status |
uint8_t |
Status of Command
|
Get Memory Address Range Example Sequence
Get Address Range of flash. StartAddress = 0x2000 End Address = 0AB7FE. All values in Hex
Example command to the device
Field Size |
Description |
Data Type |
Value | |
---|---|---|---|---|
1 |
Cmd |
uint8_t |
0x0B | |
2 |
Length |
uint16_t |
0x0008 | |
4 |
Unlock Seqeunce |
uint32_t |
0x00000000 | |
4 |
Address |
uint32_t |
0x00000000 |
Example as viewed on bus: 0x0B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
Get Memory Address Range Example Response
Example reponse from the device
Field Size |
Description |
Data Type |
Value | |
---|---|---|---|---|
1 |
Cmd |
uint8_t |
0x0B | |
2 |
Length |
uint16_t |
0x0008 | |
4 |
Unlock Seqeunce |
uint32_t |
0x00000000 | |
4 |
Address |
uint32_t |
0x00000000 | |
1 |
Status |
uint08_t |
0x01 | |
8(for this example) |
Read Data from device |
uint8_t |
0x00,0x20,0x00,0x00,0x00,0x0A, 0xB7, 0xFE |
Example as viewed on bus: 0x0B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0xFE, 0xB7, 0x0A, 0x00