srecord
1.65.0
|
The memory_walker_stm32 class is a vistor for calculating the CRC used by the hardware CRC unit on the STM32 series of ARM MPUs. More...
#include <stm32.h>
Public Types | |
typedef std::shared_ptr< memory_walker_stm32 > | pointer |
![]() | |
typedef std::shared_ptr< memory_walker > | pointer |
Public Member Functions | |
virtual | ~memory_walker_stm32 () |
The destructor. More... | |
unsigned | get (void) const |
The get method is used to get the CRC32 (STM32) checksum once all memory chunks have been processed by calls to our observe method. More... | |
![]() | |
virtual | ~memory_walker () |
The destructor. More... | |
virtual void | observe_end (void) |
The observe_end method is called once all of the data blocks have been passed to the observer via the observe() method. More... | |
virtual void | notify_upper_bound (unsigned long address) |
The notify_upper_bound method is used to notify the walker of the upper bound (highest address plus one) of the observe calls to come. More... | |
virtual void | observe_header (const record *rec=0) |
The observe_header method is used to inform the walker of the header record. More... | |
virtual void | observe_start_address (const record *rec=0) |
The observe_start_address method is used to inform the walker of the execution start address record. More... | |
Static Public Member Functions | |
static pointer | create (void) |
The create class method is used to create new dynamically allocated instances of this class. More... | |
Protected Member Functions | |
void | observe (unsigned long, const void *, int) |
The observe method is used by the memory walker to provide data. More... | |
![]() | |
memory_walker () | |
The default constructor. More... | |
The memory_walker_stm32 class is a vistor for calculating the CRC used by the hardware CRC unit on the STM32 series of ARM MPUs.
The algo used by the STM32 hardware unit is just a CRC with a different polynomial and word-fed instead of byte-fed. The MPU is little endian but srecord will compute the correct checksum regardless of the endianness of the generating platform. http://www.st.com/
typedef std::shared_ptr<memory_walker_stm32> srecord::memory_walker_stm32::pointer |
|
virtual |
The destructor.
|
static |
The create class method is used to create new dynamically allocated instances of this class.
unsigned srecord::memory_walker_stm32::get | ( | void | ) | const |
The get method is used to get the CRC32 (STM32) checksum once all memory chunks have been processed by calls to our observe method.
|
protectedvirtual |
The observe method is used by the memory walker to provide data.
Derived classes are required to impliment this method, and do something with the data.
address | The base address of this chunk of memory. |
data | The base address of this chunk of memory in memory. |
data_size | The size, in bytes, of this chunk of memory. |
Implements srecord::memory_walker.