Kinetis Bootloader Host  2.0.0
Host Tools for Kinetis devices
elftosb::EncoreBootImage::ProgramCommand Class Reference

Program persistent bits bootloader command. More...

#include <EncoreBootImage.h>

+ Inheritance diagram for elftosb::EncoreBootImage::ProgramCommand:
+ Collaboration diagram for elftosb::EncoreBootImage::ProgramCommand:

Public Member Functions

 ProgramCommand ()
 Default constructor.
 
virtual void initFromData (const cipher_block_t *blocks, unsigned count, unsigned *consumed)
 Read the command contents from raw data. More...
 
virtual void debugPrint () const
 Print out a string representation of the object.
 
Header
virtual uint8_t getTag () const
 Returns the tag value for this command.
 
virtual void fillCommandHeader (boot_command_t &header)
 Constructs the header for this boot command.
 
Do 8-byte write.
void setIsEightByte (bool doIt)
 
bool isEightByte () const
 
Memory space id.
void setMemSpace (uint32_t id)
 
uint32_t getMemSpace () const
 
Persistent bit index
void setIndex (uint32_t index)
 
uint32_t getIndex () const
 
Data bytes 0-3
void setDataWord1 (uint32_t dataWord)
 
uint32_t getDataWord1 () const
 
Data bytes 4-7
void setDataWord2 (uint32_t dataWord)
 
uint32_t getDataWord2 () const
 
- Public Member Functions inherited from elftosb::EncoreBootImage::BootCommand
 BootCommand ()
 Default constructor.
 
virtual ~BootCommand ()
 Destructor.
 
virtual uint8_t calculateChecksum (const boot_command_t &header)
 Calculates the checksum for the given command header. More...
 
virtual unsigned getBlockCount () const
 Returns the total number of cipher blocks. More...
 
virtual unsigned getBlocks (unsigned offset, unsigned maxCount, cipher_block_t *data)
 Returns the contents of up to maxCount cipher blocks. More...
 
virtual unsigned getDataBlockCount () const
 Returns the number of data cipher blocks that follow this command. More...
 
virtual unsigned getDataBlocks (unsigned offset, unsigned maxCount, cipher_block_t *data)
 Returns the contents of up to maxCount data blocks. More...
 
Cipher blocks

Protected Attributes

bool m_isEightByte
 True if doing 8-byte write.
 
uint32_t m_index
 Index to write to.
 
uint32_t m_dataWord1
 First 4 bytes to write.
 
uint32_t m_dataWord2
 Second 4 bytes to write, valid if m_doEightByte is true.
 
uint32_t m_memSpace
 ID of memory space, e.g. 1=IFR0.
 

Additional Inherited Members

- Static Public Member Functions inherited from elftosb::EncoreBootImage::BootCommand
static BootCommandcreateFromData (const cipher_block_t *blocks, unsigned count, unsigned *consumed)
 Creates the correct subclass of BootCommand for the given raw data. More...
 
- Protected Types inherited from elftosb::EncoreBootImage::BootCommand
enum  {
  CMD_TAG_FIELD = 1,
  CMD_FLAGS_FIELD = 2,
  CMD_ADDRESS_FIELD = 4,
  CMD_COUNT_FIELD = 8,
  CMD_DATA_FIELD = 16
}
 The flag bit values for the whichFields parameter of validateHeader().
 
- Protected Member Functions inherited from elftosb::EncoreBootImage::BootCommand
void validateHeader (const boot_command_t *modelHeader, const boot_command_t *testHeader, unsigned whichFields)
 

Detailed Description

Program persistent bits bootloader command.

Member Function Documentation

void EncoreBootImage::ProgramCommand::initFromData ( const cipher_block_t *  blocks,
unsigned  count,
unsigned *  consumed 
)
virtual

Read the command contents from raw data.

Parameters
blocksPointer to the raw data blocks.
countNumber of blocks pointed to by blocks.
[out]consumedOn exit, this points to the number of cipher blocks that were occupied by the command. Should be at least 1 for every command. This must not be NULL on entry!
Exceptions
std::runtime_errorThrown if header fields are invalid.

Implements elftosb::EncoreBootImage::BootCommand.


The documentation for this class was generated from the following files: