This document consists of sections titled with Driver Overview, Data Structures, Enumerations, Functions, etc., each with an overview list and detailed documentation. It is recommended to read the Driver Overview first for it includes a comprehensive description of the peripheral, driver and driver changes. Other sections give detailed information for APIs, enums, macros, etc., for your further reference.
|
struct | mcm_core_fault_attribute_t |
| The structure of core fault attributes, contains access type, access size, access direction, etc. More...
|
|
struct | mcm_resource_protection_config_t |
| The structure of the resource protection config, the set value can be used only when the resource protection is enabled, and this value can be changed only when the resource protection is disabled. More...
|
|
|
enum | _mcm_status_flags {
kMCM_CoreFaultErrorInterruptFlag = MCM_CFISR_CFEI_MASK,
kMCM_CoreFaultErrorDataLostFlag = MCM_CFISR_CFEDL_MASK
} |
| The enumeration of status flags, including core fault error interrupt flag and core fault error data lost flag. More...
|
|
enum | mcm_datapath_width_t {
kMCM_Datapath32b = 0U,
kMCM_Datapath64b = 1U
} |
| The enumeration of datapath width, including 32 bits and 64 bits. More...
|
|
enum | mcm_axbs_dma_core_priority_t {
kMCM_AxbsPriorityCoreHigherThanDMA = 0U,
kMCM_AxbsPriorityCoreDMARoundRobin
} |
| The enumeration of DMA controller priority in the Crossbar switch arbitration scheme. More...
|
|
enum | mcm_last_fault_access_dir_t {
kMCM_CoreRead = 0U,
kMCM_CoreWrite = 1U
} |
| The enumeration of last faulted core access direction. More...
|
|
enum | mcm_last_fault_access_size_t {
kMCM_Access8b = 0U,
kMCM_Access16b = 1U,
kMCM_Access32b = 2U
} |
| The enumeration of last faulted core access size. More...
|
|
enum | mcm_last_fault_access_type_t {
kMCM_AccessInstruction = 0U,
kMCM_AccessData = 1U
} |
| The enumeration of last faulted core access type. More...
|
|
enum | mcm_last_fault_access_location_t {
kMCM_ErrOnInstructionBus = 0U,
kMCM_ErrOnOperandABus = 1U,
kMCM_ErrOnOperandBBus = 2U
} |
| The enumeration of last captured fault Location. More...
|
|
|
static void | MCM_ClearFlashControllerCache (MCM_Type *base) |
| Clears Flash Controller Cache, 1 cycle active. More...
|
|
static void | MCM_DisableFlashControllerDataCaching (MCM_Type *base, bool bDisable) |
| Disables/Enables flash controller data caching. More...
|
|
static void | MCM_DisableFlashControllerInstructionCaching (MCM_Type *base, bool bDisable) |
| Disables/Enables flash controller instruction caching. More...
|
|
static void | MCM_DisableFlashControllerCache (MCM_Type *base, bool bDisable) |
| Disables/Enables flash controller cache. More...
|
|
static void | MCM_DisableFlashControllerDataSpeculation (MCM_Type *base, bool bDisable) |
| Disables/Enables flash controller data speculation. More...
|
|
static void | MCM_DisableFlashControllerSpeculation (MCM_Type *base, bool bDisable) |
| Disables/Enables flash controller speculation. More...
|
|
static void | MCM_DisableDSP56800EXCoreInstructions (MCM_Type *base, bool bDisable) |
| Disables/Enables the instruction support only by DSP56800EX core, the instructions supported only by the DSP56800EX core are the BPSC and 32-bit multiply and MAC instructions. More...
|
|
static void | MCM_DisableCoreReverseCarry (MCM_Type *base, bool bDisable) |
| Disables/Enables core reverse carry. More...
|
|
static void | MCM_DisableDSP56800EXNewShadowRegion (MCM_Type *base, bool bDisable) |
| Disables/Enables the additional AGU shadow registers on the DSP56800EX core. More...
|
|
static void | MCM_DisableCoreInstructionBuffer (MCM_Type *base, bool bDisable) |
| Disables/Enables core instruction buffer. More...
|
|
static void | MCM_DisableFlashMemoryControllerStall (MCM_Type *base, bool bDisable) |
| Disables/Enables the flash memory controller's ability to allow flash memory access to initiate when a flash memory command is executing. More...
|
|
struct mcm_core_fault_attribute_t |
uint8_t mcm_core_fault_attribute_t::bitReserved1 |
bool mcm_core_fault_attribute_t::bBufferable |
- true Last faulted core access is bufferable.
- false Last faulted core access is non-bufferable.
uint8_t mcm_core_fault_attribute_t::bitReserved2 |
struct mcm_resource_protection_config_t |
bool mcm_resource_protection_config_t::bEnableResourceProtection |
- true Enable Resource protection.
- false Disable Resource protection.
uint8_t mcm_resource_protection_config_t::u8FlashBaseAddress |
uint8_t mcm_resource_protection_config_t::u8RamBaseAddress |
uint32_t mcm_resource_protection_config_t::u32ResourceProtectionOtherSP |
Enumerator |
---|
kMCM_CoreFaultErrorInterruptFlag |
A bus error has occurred.
|
kMCM_CoreFaultErrorDataLostFlag |
A bus error has occurred before the previous error condition was cleared.
|
Enumerator |
---|
kMCM_Datapath32b |
Datapath width is 32 bits.
|
kMCM_Datapath64b |
Datapath width is 64 bits.
|
Enumerator |
---|
kMCM_AxbsPriorityCoreHigherThanDMA |
Fixed-priority arbitration is selected: DSC core has a higher priority than the DMA Controller's priority.
|
kMCM_AxbsPriorityCoreDMARoundRobin |
Round-robin priority arbitration is selected: DMA Controller and DSC core have equal priority.
|
Enumerator |
---|
kMCM_CoreRead |
Core read access.
|
kMCM_CoreWrite |
Core write access.
|
Enumerator |
---|
kMCM_Access8b |
Last faulted core access size is 8-bit.
|
kMCM_Access16b |
Last faulted core access size is 16-bit.
|
kMCM_Access32b |
Last faulted core access size is 32-bit.
|
Enumerator |
---|
kMCM_AccessInstruction |
Last faulted core access is instruction.
|
kMCM_AccessData |
Last faulted core access is data.
|
Enumerator |
---|
kMCM_ErrOnInstructionBus |
Error occurred on M0 (instruction bus).
|
kMCM_ErrOnOperandABus |
Error occurred on M1 (operand A bus).
|
kMCM_ErrOnOperandBBus |
Error occurred on M2 (operand B bus).
|
static uint16_t MCM_GetCrossbarSwitchSlaveConfig |
( |
MCM_Type * |
base | ) |
|
|
inlinestatic |
- Parameters
-
- Returns
- Crossbar switch (AXBS) slave configuration, each bit in the return value indicates if there is a corresponding connection to the AXBS slave input port. For example if the result is 0x1, it means a bus slave connection to AXBS input port 0 is present.
static uint16_t MCM_GetCrossbarSwitchMasterConfig |
( |
MCM_Type * |
base | ) |
|
|
inlinestatic |
- Parameters
-
- Returns
- Crossbar switch (AXBS) master configuration, each bit in the return value indicates if there is a corresponding connection to the AXBS master input port. For example if the result is 0x1, it means a bus master connection to AXBS input port 0 is present.
static void MCM_ClearFlashControllerCache |
( |
MCM_Type * |
base | ) |
|
|
inlinestatic |
static void MCM_DisableFlashControllerDataCaching |
( |
MCM_Type * |
base, |
|
|
bool |
bDisable |
|
) |
| |
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
bDisable | Used to enable/disable flash controller data caching.
- true Disable flash controller data caching.
- false Enable flash controller data caching.
|
static void MCM_DisableFlashControllerInstructionCaching |
( |
MCM_Type * |
base, |
|
|
bool |
bDisable |
|
) |
| |
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
bDisable | Used to enable/disable flash contoller instruction caching.
- true Disable flash controller instruction caching.
- false Enable flash controller instruction caching.
|
static void MCM_DisableFlashControllerCache |
( |
MCM_Type * |
base, |
|
|
bool |
bDisable |
|
) |
| |
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
bDisable | Used to enable/disable flash controller cache.
- true Disable flash controller cache.
- false Enable flash controller cache.
|
static void MCM_DisableFlashControllerDataSpeculation |
( |
MCM_Type * |
base, |
|
|
bool |
bDisable |
|
) |
| |
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
bDisable | Used to enable/disable flash controller data speculation.
- true Disable flash controller data speculation.
- false Enable flash controller data speculation.
|
static void MCM_DisableFlashControllerSpeculation |
( |
MCM_Type * |
base, |
|
|
bool |
bDisable |
|
) |
| |
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
bDisable | Used to enable/disable flash controller speculation.
- true Disable flash controller speculation.
- false Enable flash controller speculation.
|
static void MCM_DisableDSP56800EXCoreInstructions |
( |
MCM_Type * |
base, |
|
|
bool |
bDisable |
|
) |
| |
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
bDisable | Used to enable/disable 32-bit multiply and MAC instructions.
- true BFSC and 32-bit multiply and MAC instructions disabled.
- false BFSC and 32-bit multiply and MAC instructions enabled.
|
static void MCM_DisableCoreReverseCarry |
( |
MCM_Type * |
base, |
|
|
bool |
bDisable |
|
) |
| |
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
bDisable | Used to enable/disable reverse carry.
- true Disable bit-reverse addressing mode.
- false Enable bit-reverse addressing mode.
|
static void MCM_DisableDSP56800EXNewShadowRegion |
( |
MCM_Type * |
base, |
|
|
bool |
bDisable |
|
) |
| |
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
bDisable | Used to disable/enable the additional AGU shadow register on the DPS core.
- true Only the AGU shadow registers supported by the DSP56800E core are enabled.
- false The additional AGU shadow registers on the DSP56800EX core are also enabled.
|
static void MCM_DisableCoreInstructionBuffer |
( |
MCM_Type * |
base, |
|
|
bool |
bDisable |
|
) |
| |
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
bDisable | Used to disable/enable core longword instruction buffer.
- true Disable core longword instruction buffer.
- false Enable core longword instruction buffer.
|
static void MCM_DisableFlashMemoryControllerStall |
( |
MCM_Type * |
base, |
|
|
bool |
bDisable |
|
) |
| |
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
bDisable | Used to disable/enable stall logic.
- true Stall logic is disabled. While a flash memory command is executing, an attempted flash memory access causes a bus error.
- false Stall logic is disabled. While a flash memory command is executing, a flash memory access can occur without causing a bus error. The flash memory command completes execution, and then the flash memory access occurs.
|
- Parameters
-
base | MCM base address. |
ePriority | The selected DMA controller priority in Crossbar switch arbitration scheme, please refer to mcm_axbs_dma_core_priority_t. |
static uint32_t MCM_GetCoreFaultAddr |
( |
MCM_Type * |
base | ) |
|
|
inlinestatic |
- Parameters
-
- Returns
- address of the last core access terminated with an error response.
static uint32_t MCM_GetCoreFaultData |
( |
MCM_Type * |
base | ) |
|
|
inlinestatic |
- Parameters
-
- Returns
- The data associated with the last faulted processor write data access.
static void MCM_EnableCoreFaultInterrupt |
( |
MCM_Type * |
base, |
|
|
bool |
bEnable |
|
) |
| |
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
bEnable | Used to enable/disable the core fault error interrupt.
- true Enables core fault error interrupt, so an error interrupt will be generated to the interrupt controller on a faulted system bus cycle.
- false Disables core fault error interrupt, so an error interrupt will not be generated to the interrupt controller on a faulted system bus cycle.
|
static uint8_t MCM_GetCoreFaultStatusFlags |
( |
MCM_Type * |
base | ) |
|
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
- Returns
- The current status flags, should be the OR'ed value of _mcm_status_flags.
static void MCM_ClearCoreFaultStatusFlags |
( |
MCM_Type * |
base, |
|
|
uint8_t |
u8StatusFlags |
|
) |
| |
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
u8StatusFlags | The status flags to be cleared, should be the OR'ed value of _mcm_status_flags. |
static void MCM_EnableResourceProtection |
( |
MCM_Type * |
base, |
|
|
bool |
bEnable |
|
) |
| |
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
bEnable | Used to enable/disable memory resource protection.
- true Enable memory resource protection.
- false Disable memory resource protection.
|
static void MCM_LockResourceProtectionRegisters |
( |
MCM_Type * |
base | ) |
|
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
- Parameters
-
- Return values
-
kStatus_Success | Succeed to setting resource protection related options. |
kStatus_Fail | Fail to set resource protection related options. |
static uint32_t MCM_GetResourceProtectionIllegalFaultPC |
( |
MCM_Type * |
base | ) |
|
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
- Returns
- The resource protection illegal faulting PC.
static bool MCM_IsResourceProtectionIllegalFaultValid |
( |
MCM_Type * |
base | ) |
|
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
- Return values
-
true | The resource protection illegal PC fault has occurred. |
false | The resource protection illegal PC fault has not occurred. |
static void MCM_ClearResourceProtectionIllegalFaultValid |
( |
MCM_Type * |
base | ) |
|
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
static uint32_t MCM_GetResourceProtectionMisalignedFaultPC |
( |
MCM_Type * |
base | ) |
|
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
- Returns
- The resource protection misaligned faulting PC.
static bool MCM_IsResourceProtectionMisalignedFaultValid |
( |
MCM_Type * |
base | ) |
|
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |
- Return values
-
true | The resource protection misaligned PC fault has occurred. |
false | The resource protection misaligned PC fault has not occurred. |
static void MCM_ClearResourceProtectionMisalignedFaultValid |
( |
MCM_Type * |
base | ) |
|
|
inlinestatic |
- Parameters
-
base | MCM peripheral base address. |