Package ghidra.app.cmd.memory
Class AddByteMappedMemoryBlockCmd
java.lang.Object
ghidra.app.cmd.memory.AbstractAddMemoryBlockCmd
ghidra.app.cmd.memory.AddByteMappedMemoryBlockCmd
Command for adding byte-mapped memory blocks
-
Field Summary
-
Constructor Summary
ConstructorDescriptionAddByteMappedMemoryBlockCmd
(String name, String comment, String source, Address start, long length, boolean read, boolean write, boolean execute, boolean isVolatile, Address mappedAddress, boolean isOverlay) Create a new AddByteMappedMemoryBlockCmd with 1:1 byte mapping schemeAddByteMappedMemoryBlockCmd
(String name, String comment, String source, Address start, long length, boolean read, boolean write, boolean execute, boolean isVolatile, Address mappedAddress, ByteMappingScheme byteMappingScheme, boolean isOverlay) Create a new AddByteMappedMemoryBlockCmd with a specified byte mapping scheme. -
Method Summary
Methods inherited from class ghidra.app.cmd.memory.AbstractAddMemoryBlockCmd
applyTo, getName, getStatusMsg, setArtificial
-
Constructor Details
-
AddByteMappedMemoryBlockCmd
public AddByteMappedMemoryBlockCmd(String name, String comment, String source, Address start, long length, boolean read, boolean write, boolean execute, boolean isVolatile, Address mappedAddress, ByteMappingScheme byteMappingScheme, boolean isOverlay) Create a new AddByteMappedMemoryBlockCmd with a specified byte mapping scheme. Byte mapping scheme is specified by two values schemeDestByteCount and schemeSrcByteCount which may be viewed as a ratio of number of destination bytes to number of mapped source bytes. When the destination consumes bytes from the mapped source it consume schemeDestByteCount bytes then skips (schemeSrcByteCount - schemeDestByteCount) bytes before repeating the mapping sequence over the extent of the destination block. The block start address and source mappedAddress must be chosen carefully as they relate to the mapping scheme when it is anything other than 1:1.- Parameters:
name
- the name for the new memory block.comment
- the comment for the blocksource
- indicates what is creating the blockstart
- the start address for the the blocklength
- the length of the new blockread
- sets the block's read permission flagwrite
- sets the block's write permission flagexecute
- sets the block's execute permission flagisVolatile
- sets the block's volatile flagmappedAddress
- the address in memory that will serve as the bytes source for the blockbyteMappingScheme
- byte mapping scheme (may be null for 1:1 mapping)isOverlay
- if true, the block will be created in a new overlay address space.
-
AddByteMappedMemoryBlockCmd
public AddByteMappedMemoryBlockCmd(String name, String comment, String source, Address start, long length, boolean read, boolean write, boolean execute, boolean isVolatile, Address mappedAddress, boolean isOverlay) Create a new AddByteMappedMemoryBlockCmd with 1:1 byte mapping scheme- Parameters:
name
- the name for the new memory block.comment
- the comment for the blocksource
- indicates what is creating the blockstart
- the start address for the the blocklength
- the length of the new blockread
- sets the block's read permission flagwrite
- sets the block's write permission flagexecute
- sets the block's execute permission flagisVolatile
- sets the block's volatile flagmappedAddress
- the address in memory that will serve as the bytes source for the blockisOverlay
- if true, the block will be created in a new overlay address space.
-
-
Method Details
-
createMemoryBlock
protected MemoryBlock createMemoryBlock(Memory memory) throws LockException, MemoryConflictException, AddressOverflowException, IllegalArgumentException - Specified by:
createMemoryBlock
in classAbstractAddMemoryBlockCmd
- Throws:
LockException
MemoryConflictException
AddressOverflowException
IllegalArgumentException
-