ConOpSys V2970  P004.07
ANVILEX control operating system
Public Member Functions | Private Attributes | List of all members
TCPU_STM32F429 Class Reference

STM32F429 CPU hardware class. More...

#include <CPU_STM32F429.h>

Inheritance diagram for TCPU_STM32F429:
Inheritance graph
Collaboration diagram for TCPU_STM32F429:
Collaboration graph

Public Member Functions

 TCPU_STM32F429 ()
 STM32F429 CPU class constructor method. More...
 
virtual ~TCPU_STM32F429 ()
 STM32F429 CPU class destructor method. More...
 
virtual VOID Init ()
 CPU object initialisation method. More...
 
virtual VOID Done ()
 CPU object finalisation method. More...
 
TReset_Source Get_Reset_Source ()
 Return reset source of CPU method. More...
 
U32 Get_CPU_Reset_Source ()
 Return CPU reset source register method. More...
 
U32 Get_CPU_Device_ID ()
 Return CPU device ID method. More...
 
U32 Get_CPU_Revision ()
 Return CPU revision ID method. More...
 
U32 Get_CPU_Unique_Device_ID (U32 u32_Index)
 Return unique CPU ID method. More...
 
U32 Get_CPU_Flash_Size ()
 Return CPU FLASH memory size method. More...
 
U32 Get_CPU_RAM_Size ()
 Return CPU RAM size method. More...
 
U32 Get_Image_Base ()
 Return executable image base address method. More...
 
U32 Get_Image_End ()
 Return executable image end address method. More...
 
U32 Get_Image_Size ()
 Return executable image size method. More...
 
U32 Get_Image_Hash ()
 Return executable image hash method. More...
 
U32 Calculate_Image_Hash ()
 Calculate executable image hash method. More...
 
U32 Get_CPU_Heap_Base ()
 Return CPU heap base address method. More...
 
U32 Get_CPU_Heap_Size ()
 Return CPU heap size method. More...
 
VOID System_Core_Clock_Update ()
 Update core clock value method. More...
 
U32 Get_SYSCLK_Frequency ()
 Return SYSCLK frequency method. More...
 
U32 Get_HCLK_Frequency ()
 Return HCLK frequency method. More...
 
U32 Get_PCLK1_Frequency ()
 Return PCLK1 frequency method. More...
 
U32 Get_PCLK2_Frequency ()
 Return PCLK2 frequency method. More...
 
U32 Get_TCLK1_Frequency ()
 Return TCLK1 frequency method. More...
 
U32 Get_TCLK2_Frequency ()
 Return TCLK2 frequency method. More...
 
U32 Get_IWDG_Frequency ()
 Return IWDG frequency method. More...
 
- Public Member Functions inherited from TCPU_Base
 TCPU_Base ()
 CPU base class constructor method. More...
 
virtual ~TCPU_Base ()
 CPU base class destructor method. More...
 

Private Attributes

U32 u32_SYSCLK = (U32)0x00000000
 System CPU core clock frequency in Hz. More...
 
U32 u32_HCLK = (U32)0x00000000
 System HCLK bus clock frequency in Hz. More...
 
U32 u32_PCLK1 = (U32)0x00000000
 System PCLK1 bus clock frequency in Hz. More...
 
U32 u32_PCLK2 = (U32)0x00000000
 System PCLK2 bus clock frequency in Hz. More...
 
U32 u32_TCLK1 = (U32)0x00000000
 System TCLK1 bus clock frequency in Hz. More...
 
U32 u32_TCLK2 = (U32)0x00000000
 System TCLK2 bus clock frequency in Hz. More...
 
U32 u32_IWDG = (U32)0x00000000
 System IWDG bus clock frequency in Hz. More...
 
U32 u32_Application_Image_Hash = (U32)0x00000000
 Application executable image hash value. More...
 

Additional Inherited Members

- Public Types inherited from TCPU_Base
enum  TReset_Source { enum_Undefined , enum_Unknown , enum_Power_On , enum_Watchdog }
 CPU reset sources enumeration. More...
 
- Protected Attributes inherited from TCPU_Base
U32 u32_Error_Flag = (U32)0x00000000
 Error flag. More...
 

Detailed Description

STM32F429 CPU hardware class.

Todo:
ANVILEX KM: Cleanup code.

Constructor & Destructor Documentation

◆ TCPU_STM32F429()

TCPU_STM32F429::TCPU_STM32F429 ( )

STM32F429 CPU class constructor method.


Note
None
Override
Not allowed
Attention
Don't call this method directly.

References Calculate_Image_Hash(), and u32_Application_Image_Hash.

Here is the call graph for this function:

◆ ~TCPU_STM32F429()

TCPU_STM32F429::~TCPU_STM32F429 ( )
virtual

STM32F429 CPU class destructor method.


Note
None
Override
Not allowed
Attention
Don't call this method directly.

Member Function Documentation

◆ Calculate_Image_Hash()

U32 TCPU_STM32F429::Calculate_Image_Hash ( )

Calculate executable image hash method.


Note
None
Returns
U32 - Executable image hash value
Override
Not allowed
Attention
None

References Get_Image_Base(), Get_Image_Size(), and TCRC_32::Update().

Referenced by TCPU_STM32F429().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Done()

VOID TCPU_STM32F429::Done ( )
virtual

CPU object finalisation method.


Note
None
Returns
None
Override
Not allowed
Attention
None

Reimplemented from TCPU_Base.

◆ Get_CPU_Device_ID()

U32 TCPU_STM32F429::Get_CPU_Device_ID ( )

Return CPU device ID method.


Note
None
Returns
U32 - CPU device ID
Override
Not allowed
Attention
None

Referenced by TCommand_INFO::Execute().

Here is the caller graph for this function:

◆ Get_CPU_Flash_Size()

U32 TCPU_STM32F429::Get_CPU_Flash_Size ( )

Return CPU FLASH memory size method.


Note
None
Returns
U32 - CPU FLASH memory size in bytes
Override
Not allowed
Attention
None

Referenced by TCommand_INFO::Execute().

Here is the caller graph for this function:

◆ Get_CPU_Heap_Base()

U32 TCPU_STM32F429::Get_CPU_Heap_Base ( )

Return CPU heap base address method.


Note
None
Returns
U32 - CPU heap base address
Override
Not allowed
Attention
None

◆ Get_CPU_Heap_Size()

U32 TCPU_STM32F429::Get_CPU_Heap_Size ( )

Return CPU heap size method.


Note
None
Returns
U32 - CPU heap size in bytes
Override
Not allowed
Attention
None

◆ Get_CPU_RAM_Size()

U32 TCPU_STM32F429::Get_CPU_RAM_Size ( )

Return CPU RAM size method.


Note
None
Returns
U32 - CPU RAM size in bytes
Override
Not allowed
Attention
None

◆ Get_CPU_Reset_Source()

U32 TCPU_STM32F429::Get_CPU_Reset_Source ( )

Return CPU reset source register method.


Note
None
Returns
U32 - Reset source register
Override
Not allowed
Attention
None

Referenced by TCommand_INFO::Execute().

Here is the caller graph for this function:

◆ Get_CPU_Revision()

U32 TCPU_STM32F429::Get_CPU_Revision ( )

Return CPU revision ID method.


Note
None
Returns
U32 - CPU revision ID
Override
Not allowed
Attention
None

Referenced by TCommand_INFO::Execute().

Here is the caller graph for this function:

◆ Get_CPU_Unique_Device_ID()

U32 TCPU_STM32F429::Get_CPU_Unique_Device_ID ( U32  u32_Index)

Return unique CPU ID method.


Note
None
Returns
U32 - Unique CPU ID
Override
Not allowed
Attention
None

Referenced by TCommand_INFO::Execute().

Here is the caller graph for this function:

◆ Get_HCLK_Frequency()

U32 TCPU_STM32F429::Get_HCLK_Frequency ( )

Return HCLK frequency method.


Note
Each time HCLK changes, this function must be called to update the
Returns
U32 - HCLK frequency
Override
Not allowed
Attention
None

References u32_HCLK.

Referenced by TCommand_INFO::Execute(), TApplication_Base::Init(), and TBootloader_Base::Init().

Here is the caller graph for this function:

◆ Get_Image_Base()

U32 TCPU_STM32F429::Get_Image_Base ( )

Return executable image base address method.


Note
None
Returns
U32 - Executable image base address
Override
Not allowed
Attention
None

Referenced by Calculate_Image_Hash(), and TCommand_APPLICATION::Execute().

Here is the caller graph for this function:

◆ Get_Image_End()

U32 TCPU_STM32F429::Get_Image_End ( )

Return executable image end address method.


Note
None
Returns
U32 - Executable image end address
Override
Not allowed
Attention
None
Todo:
ANVILEX KM: Cleanup code.

Referenced by TCommand_APPLICATION::Execute().

Here is the caller graph for this function:

◆ Get_Image_Hash()

U32 TCPU_STM32F429::Get_Image_Hash ( )

Return executable image hash method.


Note
None
Returns
U32 - Executable image hash in byts
Override
Not allowed
Attention
None

References u32_Application_Image_Hash.

Referenced by TCommand_APPLICATION::Execute(), and TParameter_APPLICATION_HASH::Pre_Read_Data_Processing().

Here is the caller graph for this function:

◆ Get_Image_Size()

U32 TCPU_STM32F429::Get_Image_Size ( )

Return executable image size method.


Note
None
Returns
U32 - Executable image size in byts
Override
Not allowed
Attention
None
Todo:
ANVILEX KM: Cleanup code.
Todo:
ANVILEX KM: Cleanup code.

Referenced by Calculate_Image_Hash(), and TCommand_APPLICATION::Execute().

Here is the caller graph for this function:

◆ Get_IWDG_Frequency()

U32 TCPU_STM32F429::Get_IWDG_Frequency ( )

Return IWDG frequency method.


Note
Each time PCLK2 changes, this function must be called to update the right TCLK2 value. Otherwise, any configuration based on this function will be incorrect.
Returns
U32 - IWDG frequency
Override
Not allowed
Attention
None

References u32_IWDG.

Referenced by TCommand_INFO::Execute(), TApplication_Base::Init(), and TBootloader_Base::Init().

Here is the caller graph for this function:

◆ Get_PCLK1_Frequency()

U32 TCPU_STM32F429::Get_PCLK1_Frequency ( )

Return PCLK1 frequency method.


Note
Each time PCLK1 changes, this function must be called to update the right PCLK1 value. Otherwise, any configuration based on this function will be incorrect.
Returns
U32 - PCLK1 frequency
Override
Not allowed
Attention
None

References u32_PCLK1.

Referenced by TCommand_INFO::Execute().

Here is the caller graph for this function:

◆ Get_PCLK2_Frequency()

U32 TCPU_STM32F429::Get_PCLK2_Frequency ( )

Return PCLK2 frequency method.


Note
Each time PCLK2 changes, this function must be called to update the right PCLK2 value. Otherwise, any configuration based on this function will be incorrect.
Returns
U32 - PCLK2 frequency
Override
Not allowed
Attention
None

References u32_PCLK2.

Referenced by TCommand_INFO::Execute(), TApplication_Base::Init(), TBootloader_Base::Init(), TUART1_STM32F410CBU6::Init(), TUART6_STM32F410CBU6::Init(), TUART1_STM32F429::Init(), TUART6_STM32F429::Init(), and TUART7_STM32F429::Init().

Here is the caller graph for this function:

◆ Get_Reset_Source()

TCPU_STM32F429::TReset_Source TCPU_STM32F429::Get_Reset_Source ( )

Return reset source of CPU method.


Note
None
Returns
TReset_Source - Type og the CPU reset
Override
Not allowed
Attention
None
Todo:
ANVILEX KM: Implement get reset source functionality

References TCPU_Base::enum_Unknown.

Referenced by TApplication_Base::Init(), and TBootloader_Base::Init().

Here is the caller graph for this function:

◆ Get_SYSCLK_Frequency()

U32 TCPU_STM32F429::Get_SYSCLK_Frequency ( )

Return SYSCLK frequency method.


Note
None
Returns
U32 - SYSCLK frequency
Override
Not allowed
Attention
None

References u32_SYSCLK.

Referenced by TCommand_INFO::Execute(), and PHY_ETH_Init().

Here is the caller graph for this function:

◆ Get_TCLK1_Frequency()

U32 TCPU_STM32F429::Get_TCLK1_Frequency ( )

Return TCLK1 frequency method.


Note
Each time PCLK1 changes, this function must be called to update the right TCLK1 value. Otherwise, any configuration based on this function will be incorrect.
Returns
U32 - TCLK1 frequency
Override
Not allowed
Attention
None

References u32_TCLK1.

Referenced by TCommand_INFO::Execute().

Here is the caller graph for this function:

◆ Get_TCLK2_Frequency()

U32 TCPU_STM32F429::Get_TCLK2_Frequency ( )

Return TCLK2 frequency method.


Note
None
Returns
U32 - TCLK2 frequency
Override
Not allowed
Attention
None

References u32_TCLK2.

Referenced by TCommand_INFO::Execute().

Here is the caller graph for this function:

◆ Init()

VOID TCPU_STM32F429::Init ( )
virtual

CPU object initialisation method.


Note
None
Returns
None
Override
Not allowed
Attention
None

Reimplemented from TCPU_Base.

References System_Core_Clock_Update(), and TCPU_Base::u32_Error_Flag.

Referenced by TTarget_P014_51_CB::Init(), TTarget_P015_09_V1_0::Init(), TTarget_P015_27_V1_0::Init(), TTarget_P016_05_PUC2::Init(), TTarget_P017_39_KG3_CB::Init(), and TTarget_P017_39_KG3_CB_DEBUG::Init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ System_Core_Clock_Update()

VOID TCPU_STM32F429::System_Core_Clock_Update ( )

Update core clock value method.


Note
None
Returns
U32 - CPU heap size
Override
Not allowed
Attention
None

References CPU_HSE_VALUE, CPU_HSI_VALUE, CPU_LSI_VALUE, u32_HCLK, u32_IWDG, u32_PCLK1, u32_PCLK2, u32_SYSCLK, u32_TCLK1, and u32_TCLK2.

Referenced by Init().

Here is the caller graph for this function:

Member Data Documentation

◆ u32_Application_Image_Hash

U32 TCPU_STM32F429::u32_Application_Image_Hash = (U32)0x00000000
private

Application executable image hash value.

Referenced by Get_Image_Hash(), and TCPU_STM32F429().

◆ u32_HCLK

U32 TCPU_STM32F429::u32_HCLK = (U32)0x00000000
private

System HCLK bus clock frequency in Hz.

Referenced by Get_HCLK_Frequency(), and System_Core_Clock_Update().

◆ u32_IWDG

U32 TCPU_STM32F429::u32_IWDG = (U32)0x00000000
private

System IWDG bus clock frequency in Hz.

Referenced by Get_IWDG_Frequency(), and System_Core_Clock_Update().

◆ u32_PCLK1

U32 TCPU_STM32F429::u32_PCLK1 = (U32)0x00000000
private

System PCLK1 bus clock frequency in Hz.

Referenced by Get_PCLK1_Frequency(), and System_Core_Clock_Update().

◆ u32_PCLK2

U32 TCPU_STM32F429::u32_PCLK2 = (U32)0x00000000
private

System PCLK2 bus clock frequency in Hz.

Referenced by Get_PCLK2_Frequency(), and System_Core_Clock_Update().

◆ u32_SYSCLK

U32 TCPU_STM32F429::u32_SYSCLK = (U32)0x00000000
private

System CPU core clock frequency in Hz.

Referenced by Get_SYSCLK_Frequency(), and System_Core_Clock_Update().

◆ u32_TCLK1

U32 TCPU_STM32F429::u32_TCLK1 = (U32)0x00000000
private

System TCLK1 bus clock frequency in Hz.

Referenced by Get_TCLK1_Frequency(), and System_Core_Clock_Update().

◆ u32_TCLK2

U32 TCPU_STM32F429::u32_TCLK2 = (U32)0x00000000
private

System TCLK2 bus clock frequency in Hz.

Referenced by Get_TCLK2_Frequency(), and System_Core_Clock_Update().


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