Add KBOOT.
This commit is contained in:
65
apps/elftosb/elftosb2/EncoreBootImageGenerator.h
Normal file
65
apps/elftosb/elftosb2/EncoreBootImageGenerator.h
Normal file
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* File: EncoreBootImageGenerator.h
|
||||
*
|
||||
* Copyright (c) Freescale Semiconductor, Inc. All rights reserved.
|
||||
* See included license file for license details.
|
||||
*/
|
||||
#if !defined(_EncoreBootImageGenerator_h_)
|
||||
#define _EncoreBootImageGenerator_h_
|
||||
|
||||
#include "BootImageGenerator.h"
|
||||
#include "EncoreBootImage.h"
|
||||
#include "Keyblob.h"
|
||||
|
||||
namespace elftosb
|
||||
{
|
||||
/*!
|
||||
* \brief Generator for Encore boot images.
|
||||
*
|
||||
* Takes the abstract model of the output file and processes it into a
|
||||
* concrete boot image for the STMP37xx.
|
||||
*
|
||||
* In order to enable full i.mx28 support, you must call the setSupportHAB() method and
|
||||
* pass true.
|
||||
*/
|
||||
class EncoreBootImageGenerator : public BootImageGenerator
|
||||
{
|
||||
public:
|
||||
//! \brief Default constructor.
|
||||
EncoreBootImageGenerator()
|
||||
: BootImageGenerator()
|
||||
, m_encryptKeyBlob(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
//! \brief Builds the resulting boot image from previously added output sections.
|
||||
virtual BootImage *generate();
|
||||
|
||||
//! \brief Enable or disable HAB support.
|
||||
void setSupportHAB(bool supportHAB) { m_supportHAB = supportHAB; }
|
||||
protected:
|
||||
bool m_supportHAB; //!< True if HAB features are enabled.
|
||||
Keyblob *m_encryptKeyBlob; //!< Keyblob to use during load if encrypting for OTFAD.
|
||||
|
||||
void processOptions(EncoreBootImage *image);
|
||||
void processSectionOptions(EncoreBootImage::Section *imageSection, OutputSection *modelSection);
|
||||
|
||||
void processOperationSection(OperationSequenceSection *section, EncoreBootImage *image);
|
||||
void processDataSection(BinaryDataSection *section, EncoreBootImage *image);
|
||||
|
||||
void processLoadOperation(LoadOperation *op, EncoreBootImage::BootSection *section);
|
||||
void processExecuteOperation(ExecuteOperation *op, EncoreBootImage::BootSection *section);
|
||||
void processBootModeOperation(BootModeOperation *op, EncoreBootImage::BootSection *section);
|
||||
void processFlashEraseOperation(FlashEraseOperation *op, EncoreBootImage::BootSection *section);
|
||||
void processResetOperation(ResetOperation *op, EncoreBootImage::BootSection *section);
|
||||
void processMemEnableOperation(MemEnableOperation *op, EncoreBootImage::BootSection *section);
|
||||
void processProgramOperation(ProgramOperation *op, EncoreBootImage::BootSection *section);
|
||||
void processKeywrapOperation(KeywrapOperation *op, EncoreBootImage::BootSection *section);
|
||||
void processEncryptOperation(EncryptOperation *op, EncoreBootImage::BootSection *section);
|
||||
|
||||
void setFillPatternFromValue(EncoreBootImage::FillCommand &command, SizedIntegerValue &pattern);
|
||||
};
|
||||
|
||||
}; // namespace elftosb
|
||||
|
||||
#endif // _EncoreBootImageGenerator_h_
|
||||
Reference in New Issue
Block a user