📄 ccm_a.h
字号:
#define CCR_EMULATION_MODE_MIN_MASK (0x0 << CCR_MODE_BITNO)
#define CCR_EMULATION_MODE_MAX_MASK (0x3 << CCR_MODE_BITNO)
/* Chip Identification Register */
#define CIR_PIN_MAX 0xFF
#define CIR_PIN_BITNO 8
#define CIR_PIN_MASK (CIR_PIN_MAX << CIR_PIN_BITNO)
#define CIR_PRN_MAX 0xFF
#define CIR_PRN_BITNO 0
#define CIR_PRN_MASK (CIR_PRN_MAX << CIR_PRN_BITNO)
/* Reset Configuration Register */
#define RCON_PLLSEL_BITNO 7
#define RCON_PLLSEL_MASK (1 << RCON_PLLSEL_BITNO)
#define RCON_PLLREF_BITNO 6
#define RCON_PLLREF_MASK (1 << RCON_PLLREF_BITNO)
#define RCON_LOAD_BITNO 5
#define RCON_LOAD_MASK (1 << RCON_LOAD_BITNO)
#define RCON_BOOTPS_BITNO 3
#define RCON_BOOTPS_MASK (1 << RCON_BOOTPS_BITNO)
#define RCON_BOOTSEL_BITNO 2
#define RCON_BOOTSEL_MASK (1 << RCON_BOOTSEL_BITNO)
#define RCON_MODE_BITNO 0
#define RCON_MODE_MASK (1 << RCON_MODE_BITNO)
/*----------------------------------------------------------------------*/
/* Prototypes */
/*----------------------------------------------------------------------*/
CCM_A_ReturnCode_t CCM_A_Init_f (
pCCM_A_t,
CCM_A_PadDriverLoad_t,
CCM_A_ShowCycleEnable_t,
CCM_A_EmulateInternalAddressSpace_t,
CCM_A_TSIZSignal_t,
CCM_A_PSTATSignal_t,
CCM_A_ShowInterrupt_t,
CCM_A_BusMonitorExternal_t,
CCM_A_BusMonitorDebugMode_t,
CCM_A_BusMonitorTiming_t
);
CCM_A_ReturnCode_t CCM_A_GetChipMode_f (
pCCM_A_t,
CCM_A_ChipConfigurationMode_t *
);
CCM_A_ReturnCode_t CCM_A_ConfigureBusMonitor_f (
pCCM_A_t,
CCM_A_BusMonitorDebugMode_t,
CCM_A_BusMonitorTiming_t
);
CCM_A_ReturnCode_t CCM_A_GetResetStatus_f (
pCCM_A_t,
pCCM_A_ResetConfiguration_t
);
CCM_A_ReturnCode_t CCM_A_ConfigureSignalOperation_f (
pCCM_A_t,
CCM_A_TSIZSignal_t,
CCM_A_PSTATSignal_t
);
CCM_A_ReturnCode_t CCM_A_GetChipIdentification_f (
pCCM_A_t,
pCCM_A_ChipIdentification_t
);
CCM_A_ReturnCode_t CCM_A_SetRegister_f (
pCCM_A_t,
UINT16
);
CCM_A_ReturnCode_t CCM_A_GetRegister_f (
pCCM_A_t,
CCM_A_Register_t,
UINT16 *
);
/*------------------------------------------------------------------------*/
/* Macro: CCM_A_Init */
/* */
/* Purpose: CCM_A_Init initializes the chip configuration module. */
/* Parameter checking is a compile-time option. */
/* */
/* Input: */
/* CCMPtr: CCM module base address associated with */
/* this driver. */
/* LoadVal: Controls drive strength of all pad output drivers. */
/* ShowCycleEnableVal: Determines whether to drive the external bus */
/* during internal transfer operations. */
/* EmulateAddressSpaceVal: Determines whether to match from the */
/* internal or external memory address space. */
/* TSIZSignalVal: TSIZ signal enable. */
/* PSTATSignalVal: PSTAT signal enable. */
/* ShowInterruptVal: Allows visibility of any active interrupt request. */
/* BusMonitorVal: Bus Monitor operation during external bus cycles. */
/* BusMonitorDebugModeVal: Bus Monitor response during debug mode. */
/* BusMonitorTimingVal: Time-out time for the Bus Monitor. */
/* */
/* Output: */
/* CCM_A_ERR_NONE : No error. */
/* CCM_A_ERR_INVALID_HANDLE: CCM module base address parameter is */
/* zero. */
/* CCM_A_ERR_INVALID_LOAD_VALUE: Load value is out of range. */
/* CCM_A_ERR_INVALID_SHOW_CYCLE_VALUE: Show cycle value is out of range. */
/* CCM_A_ERR_INVALID_EMULATE_ADDRESS_VALUE: Emulate Address Space */
/* value is out of range. */
/* CCM_A_ERR_INVALID_TSIZ_SIGNAL_VALUE: TSIZ signal value is out of */
/* range. */
/* CCM_A_ERR_INVALID_PSTAT_SIGNAL_VALUE: PSTAT signal value is out of */
/* range. */
/* CCM_A_ERR_INVALID_SHOW_INTERRUPT_VALUE: Show Interrupt value is */
/* out of range. */
/* CCM_A_ERR_INVALID_BUS_MONITOR_DEBUG_MODE_VALUE: Bus Monitor Debug */
/* mode value is out of range. */
/* CCM_A_ERR_INVALID_BUS_MONITOR_VALUE: Bus Monitor Enable value is out */
/* of range. */
/* CCM_A_ERR_INVALID_BUS_MONITOR_TIMING_VALUE: Bus Monitor Timing value */
/* is out of range. */
/*------------------------------------------------------------------------*/
#define CCM_A_Init( \
CCMPtr, \
LoadVal, \
ShowCycleEnableVal, \
EmulateAddressSpaceVal, \
TSIZSignalVal, \
PSTATSignalVal, \
ShowInterruptVal, \
BusMonitorVal, \
BusMonitorDebugModeVal, \
BusMonitorTimingVal \
) \
( \
(CCM_A_PARAM_CHECKING) ? \
( \
((CCMPtr) == NULL) ? \
CCM_A_ERR_INVALID_HANDLE : \
(((LoadVal) < CCM_A_DEFAULT_DRIVE_STRENGTH ) || \
((LoadVal) > CCM_A_FULL_DRIVE_STRENGTH)) ? \
CCM_A_ERR_INVALID_LOAD_VALUE : \
(((ShowCycleEnableVal) < CCM_A_SHOW_CYCLES_DISABLED ) || \
((ShowCycleEnableVal) > CCM_A_SHOW_CYCLES_ENABLED)) ? \
CCM_A_ERR_INVALID_SHOW_CYCLE_VALUE : \
(((EmulateAddressSpaceVal) < CCM_A_CS1_DECODES_EXTERNAL_MEMORY ) || \
((EmulateAddressSpaceVal) > CCM_A_CS1_DECODES_INTERNAL_MEMORY)) ? \
CCM_A_ERR_INVALID_EMULATE_ADDRESS_VALUE : \
(((TSIZSignalVal) < CCM_A_TSIZ_FUNCTION_DISABLED ) || \
((TSIZSignalVal) > CCM_A_TSIZ_FUNCTION_ENABLED)) ? \
CCM_A_ERR_INVALID_TSIZ_SIGNAL_VALUE : \
(((PSTATSignalVal) < CCM_A_PSTAT_FUNCTION_DISABLED ) || \
((PSTATSignalVal) > CCM_A_PSTAT_FUNCTION_ENABLED)) ? \
CCM_A_ERR_INVALID_PSTAT_SIGNAL_VALUE : \
(((ShowInterruptVal) < CCM_A_NORMAL_FUNCTION ) || \
((ShowInterruptVal) > CCM_A_INTERNAL_INTERRUPT_INDICATION)) ? \
CCM_A_ERR_INVALID_SHOW_INTERRUPT_VALUE : \
(((BusMonitorVal) < CCM_A_DISABLE_FOR_EXTERNAL_BUS_CYCLE ) || \
((BusMonitorVal) > CCM_A_ENABLE_FOR_EXTERNAL_BUS_CYCLE)) ? \
CCM_A_ERR_INVALID_BUS_MONITOR_VALUE : \
(((BusMonitorDebugModeVal) < CCM_A_DISABLE_BUS_MONITOR ) || \
((BusMonitorDebugModeVal) > CCM_A_ENABLE_BUS_MONITOR )) ? \
CCM_A_ERR_INVALID_BUS_MONITOR_DEBUG_MODE_VALUE : \
(((BusMonitorTimingVal) < CCM_A_TIME_OUT_64 ) || \
((BusMonitorTimingVal) > CCM_A_TIME_OUT_8 )) ? \
CCM_A_ERR_INVALID_BUS_MONITOR_TIMING_VALUE : \
CCM_A_Init_f( \
(CCMPtr), \
(LoadVal), \
(ShowCycleEnableVal), \
(EmulateAddressSpaceVal), \
(TSIZSignalVal), \
(PSTATSignalVal), \
(ShowInterruptVal), \
(BusMonitorVal), \
(BusMonitorDebugModeVal), \
(BusMonitorTimingVal) \
) \
) \
: \
CCM_A_Init_f( \
(CCMPtr), \
(LoadVal), \
(ShowCycleEnableVal), \
(EmulateAddressSpaceVal), \
(TSIZSignalVal), \
(PSTATSignalVal), \
(ShowInterruptVal), \
(BusMonitorVal), \
(BusMonitorDebugModeVal), \
(BusMonitorTimingVal) \
) \
) /* end of CCM_A_Init */
/*----------------------------------------------------------------------*/
/* Macro: CCM_A_GetChipMode */
/* */
/* Purpose: */
/* CCM_A_GetChipMode shall obtain the chip mode. */
/* Input: */
/* CCMPtr : CCM module base address associated with this driver. */
/* ChipModePtr : Storage for chip mode value. */
/* Output: */
/* CCM_A_ERR_NONE : No error. */
/* CCM_A_ERR_INVALID_HANDLE : CCM base address parameter is zero */
/* CCM_A_ERR_BAD_RESULT_ADDR: Result Pointer is zero. */
/*----------------------------------------------------------------------*/
#define CCM_A_GetChipMode( \
CCMPtr, \
ChipModePtr \
) \
( \
(CCM_A_PARAM_CHECKING) ? \
( \
((CCMPtr) == NULL) ? \
CCM_A_ERR_INVALID_HANDLE : \
((ChipModePtr) == NULL) ? \
CCM_A_ERR_BAD_RESULT_ADDR : \
CCM_A_GetChipMode_f( \
(CCMPtr), \
(ChipModePtr) \
) \
) \
: \
CCM_A_GetChipMode_f( \
(CCMPtr), \
(ChipModePtr) \
) \
) /* End of CCM_A_GetChipMode Macro */
/*----------------------------------------------------------------------*/
/* Macro: CCM_A_ConfigureBusMonitor */
/* */
/* Purpose: */
/* CCM_A_ConfigureBusMonitor shall determine how the bus monitor */
/* responds during debug mode and selects the time-out time for the */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -