⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ccm_a.h

📁 摩托罗拉MMC2107在ucosII的移植代码
💻 H
📖 第 1 页 / 共 3 页
字号:
#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 + -