Part Number:CODECOMPOSER
Tool/software: Code Composer Studio
Code Composer Studio version: Version: 8.3.0.00009
Host OS: Windows 10 64 bit
Processor: MSP430F5659
Processor options: mspx, large data and code model
Debugger: MSP-EXP430F5529LP and MSP-EXP430FR5994
I'm trying to write plugin for CCS which needs to read high memory (address 0x10000 or higher).
I'm able to read low memory with this snippet:
long startAddress = 0x8000;
long toRead = 0x10;
IMemoryBlockRetrieval memoryblockretr = (IMemoryBlockRetrieval)context.getAdapter(IMemoryBlockRetrieval.class);
IMemoryBlockExtension memoryblock = ((IMemoryBlockRetrievalExtension)memoryblockretr).getExtendedMemoryBlock(Long.toString(startAddress), (Object)context);
MemoryByte[] bytes = memoryblock.getBytesFromAddress(memoryblock.getBigBaseAddress(), toRead);
It works for both RAM and FLASH memory in MSP430X.
However, when I change startAddress to 0x10000, 0x18000, or 0xf0000 it reads memory from 0x0000, 0x8000, or 0x0000 respectively. It looks like it lost 4 most significant bits of address.
Reading 0x20 bytes from 0xfff0 works correctly: I'm getting bytes from 0xfff0 to 0x10010.
How to read memory from 0x10000 or higher?