Callisto4Bootloader: Cache Functions

Callisto4Bootloader

Modules
Cache Functions
Defines and Type Definitions » Status and Control Registers » Nested Vectored Interrupt Controller (NVIC) » System Control Block (SCB) » System Controls not in SCB (SCnSCB) » System Tick Timer (SysTick) » Instrumentation Trace Macrocell (ITM) » Data Watchpoint and Trace (DWT) » Trace Port Interface (TPI) » Floating Point Unit (FPU) » Core Debug Registers (CoreDebug) » Core register bit field macros » Core Definitions Defines and Type Definitions » Status and Control Registers » Nested Vectored Interrupt Controller (NVIC) » System Control Block (SCB) » System Controls not in SCB (SCnSCB) » System Tick Timer (SysTick) » Instrumentation Trace Macrocell (ITM) » Data Watchpoint and Trace (DWT) » Trace Port Interface (TPI) » Floating Point Unit (FPU) » Core Debug Registers (CoreDebug) » Core register bit field macros » Core Definitions » | Functions and Instructions Reference » NVIC Functions » FPU Functions

Functions that configure Instruction and Data cache. More...

## Modules

| SysTick Functions
| Functions that configure the System.
__STATIC_FORCEINLINE void | SCB_EnableICache (void)
| Enable I-Cache. More...
__STATIC_FORCEINLINE void | SCB_DisableICache (void)
| Disable I-Cache. More...
__STATIC_FORCEINLINE void | SCB_InvalidateICache (void)
| Invalidate I-Cache. More...
__STATIC_FORCEINLINE void | SCB_EnableDCache (void)
| Enable D-Cache. More...
__STATIC_FORCEINLINE void | SCB_DisableDCache (void)
| Disable D-Cache. More...
__STATIC_FORCEINLINE void | SCB_InvalidateDCache (void)
| Invalidate D-Cache. More...
__STATIC_FORCEINLINE void | SCB_CleanDCache (void)
| Clean D-Cache. More...
__STATIC_FORCEINLINE void | SCB_CleanInvalidateDCache (void)
| Clean & Invalidate D-Cache. More...
__STATIC_FORCEINLINE void | SCB_InvalidateDCache_by_Addr (void *addr, int32_t dsize)
| D-Cache Invalidate by address. More...
__STATIC_FORCEINLINE void | SCB_CleanDCache_by_Addr (uint32_t *addr, int32_t dsize)
| D-Cache Clean by address. More...
__STATIC_FORCEINLINE void | SCB_CleanInvalidateDCache_by_Addr (uint32_t *addr, int32_t dsize)
| D-Cache Clean and Invalidate by address. More...
#define | CCSIDR_WAYS(x) (((x) & SCB_CCSIDR_ASSOCIATIVITY_Msk) >> SCB_CCSIDR_ASSOCIATIVITY_Pos)
#define | CCSIDR_SETS(x) (((x) & SCB_CCSIDR_NUMSETS_Msk ) >> SCB_CCSIDR_NUMSETS_Pos )
#define | __SCB_DCACHE_LINE_SIZE 32U

## Detailed Description

Functions that configure Instruction and Data cache.

## Macro Definition Documentation

## ◆ __SCB_DCACHE_LINE_SIZE

#define __SCB_DCACHE_LINE_SIZE 32U

Cortex-M7 cache line size is fixed to 32 bytes (8 words). See also register SCB_CCSIDR

Definition at line 2228 of file core_cm7.h.

## ◆ CCSIDR_SETS

#define CCSIDR_SETS | ( |  | x | ) | (((x) & SCB_CCSIDR_NUMSETS_Msk ) >> SCB_CCSIDR_NUMSETS_Pos )

Definition at line 2226 of file core_cm7.h.

## ◆ CCSIDR_WAYS

#define CCSIDR_WAYS | ( |  | x | ) | (((x) & SCB_CCSIDR_ASSOCIATIVITY_Msk) >> SCB_CCSIDR_ASSOCIATIVITY_Pos)

Definition at line 2225 of file core_cm7.h.

## Function Documentation

## ◆ SCB_CleanDCache()

__STATIC_FORCEINLINE void SCB_CleanDCache | ( | void |  | ) |

Clean D-Cache.

Cleans D-Cache

Definition at line 2401 of file core_cm7.h.

## ◆ SCB_CleanDCache_by_Addr()

__STATIC_FORCEINLINE void SCB_CleanDCache_by_Addr | ( | uint32_t * | addr,
|  | int32_t | dsize
| ) |  |

D-Cache Clean by address.

Cleans D-Cache for the given address D-Cache is cleaned starting from a 32 byte aligned address in 32 byte granularity. D-Cache memory blocks which are part of given address + given size are cleaned.

Parameters

  [in] | addr | address
  [in] | dsize | size of memory block (in number of bytes)

Definition at line 2505 of file core_cm7.h.

## ◆ SCB_CleanInvalidateDCache()

__STATIC_FORCEINLINE void SCB_CleanInvalidateDCache | ( | void |  | ) |

Clean & Invalidate D-Cache.

Cleans and Invalidates D-Cache

Definition at line 2436 of file core_cm7.h.

## ◆ SCB_CleanInvalidateDCache_by_Addr()

__STATIC_FORCEINLINE void SCB_CleanInvalidateDCache_by_Addr | ( | uint32_t * | addr,
|  | int32_t | dsize
| ) |  |

D-Cache Clean and Invalidate by address.

Cleans and invalidates D_Cache for the given address D-Cache is cleaned and invalidated starting from a 32 byte aligned address in 32 byte granularity. D-Cache memory blocks which are part of given address + given size are cleaned and invalidated.

Parameters

  [in] | addr | address (aligned to 32-byte boundary)
  [in] | dsize | size of memory block (in number of bytes)

Definition at line 2535 of file core_cm7.h.

## ◆ SCB_DisableDCache()

__STATIC_FORCEINLINE void SCB_DisableDCache | ( | void |  | ) |

Disable D-Cache.

Turns off D-Cache

Definition at line 2328 of file core_cm7.h.

Referenced by BOARD_ConfigMPU().

## ◆ SCB_DisableICache()

__STATIC_FORCEINLINE void SCB_DisableICache | ( | void |  | ) |

Disable I-Cache.

Turns off I-Cache

Definition at line 2255 of file core_cm7.h.

Referenced by BOARD_ConfigMPU().

## ◆ SCB_EnableDCache()

__STATIC_FORCEINLINE void SCB_EnableDCache | ( | void |  | ) |

Enable D-Cache.

Turns on D-Cache

Definition at line 2288 of file core_cm7.h.

Referenced by BOARD_ConfigMPU(), and SystemInit().

## ◆ SCB_EnableICache()

__STATIC_FORCEINLINE void SCB_EnableICache | ( | void |  | ) |

Enable I-Cache.

Turns on I-Cache

Definition at line 2234 of file core_cm7.h.

Referenced by BOARD_ConfigMPU(), and SystemInit().

## ◆ SCB_InvalidateDCache()

__STATIC_FORCEINLINE void SCB_InvalidateDCache | ( | void |  | ) |

Invalidate D-Cache.

Invalidates D-Cache

Definition at line 2366 of file core_cm7.h.

## ◆ SCB_InvalidateDCache_by_Addr()

__STATIC_FORCEINLINE void SCB_InvalidateDCache_by_Addr | ( | void * | addr,
|  | int32_t | dsize
| ) |  |

D-Cache Invalidate by address.

Invalidates D-Cache for the given address. D-Cache is invalidated starting from a 32 byte aligned address in 32 byte granularity. D-Cache memory blocks which are part of given address + given size are invalidated.

Parameters

  [in] | addr | address
  [in] | dsize | size of memory block (in number of bytes)

Definition at line 2475 of file core_cm7.h.

## ◆ SCB_InvalidateICache()

__STATIC_FORCEINLINE void SCB_InvalidateICache | ( | void |  | ) |

Invalidate I-Cache.

Invalidates I-Cache

Definition at line 2272 of file core_cm7.h.