This commit is contained in:
parent
bd59276640
commit
a58078d18a
@ -1,12 +1,12 @@
|
|||||||
|
|
||||||
/****************************************************************************************************//**
|
/****************************************************************************************************//**
|
||||||
* @file CMEM7.h
|
* @file cmem7.h
|
||||||
*
|
*
|
||||||
* @brief CMSIS Cortex-M3 Peripheral Access Layer Header File for
|
* @brief CMSIS Cortex-M3 Peripheral Access Layer Header File for
|
||||||
* CMEM7 from <unknown Vendor>.
|
* cmem7 from <unknown Vendor>.
|
||||||
*
|
*
|
||||||
* @version V1.0
|
* @version V1.0
|
||||||
* @date 5. June 2014
|
* @date 5. January 2015
|
||||||
*
|
*
|
||||||
* @note Generated with SVDConv V2.75
|
* @note Generated with SVDConv V2.75
|
||||||
* from CMSIS SVD File 'SVDConv_CME_M7.svd' Version 1.0,
|
* from CMSIS SVD File 'SVDConv_CME_M7.svd' Version 1.0,
|
||||||
@ -18,7 +18,7 @@
|
|||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** @addtogroup CMEM7
|
/** @addtogroup cmem7
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -46,7 +46,7 @@ typedef enum {
|
|||||||
DebugMonitor_IRQn = -4, /*!< 12 Debug Monitor */
|
DebugMonitor_IRQn = -4, /*!< 12 Debug Monitor */
|
||||||
PendSV_IRQn = -2, /*!< 14 Pendable request for system service */
|
PendSV_IRQn = -2, /*!< 14 Pendable request for system service */
|
||||||
SysTick_IRQn = -1, /*!< 15 System Tick Timer */
|
SysTick_IRQn = -1, /*!< 15 System Tick Timer */
|
||||||
/* ---------------------- CMEM7 Specific Interrupt Numbers ---------------------- */
|
/* ---------------------- cmem7 Specific Interrupt Numbers ---------------------- */
|
||||||
ETH_INT_IRQn = 0, /*!< 0 ETH_INT */
|
ETH_INT_IRQn = 0, /*!< 0 ETH_INT */
|
||||||
USB_INT_IRQn = 1, /*!< 1 USB_INT */
|
USB_INT_IRQn = 1, /*!< 1 USB_INT */
|
||||||
DMA_INT_IRQn = 2, /*!< 2 DMA_INT */
|
DMA_INT_IRQn = 2, /*!< 2 DMA_INT */
|
||||||
@ -105,7 +105,7 @@ typedef enum {
|
|||||||
/** @} */ /* End of group Configuration_of_CMSIS */
|
/** @} */ /* End of group Configuration_of_CMSIS */
|
||||||
|
|
||||||
#include <core_cm3.h> /*!< Cortex-M3 processor and core peripherals */
|
#include <core_cm3.h> /*!< Cortex-M3 processor and core peripherals */
|
||||||
#include "system_cmem7.h" /*!< CMEM7 System */
|
#include "system_cmem7.h" /*!< cmem7 System */
|
||||||
|
|
||||||
|
|
||||||
/* ================================================================================ */
|
/* ================================================================================ */
|
||||||
@ -789,17 +789,17 @@ typedef struct { /*!< RTC Structure
|
|||||||
|
|
||||||
struct {
|
struct {
|
||||||
__IO uint32_t SECOND : 1; /*!< 1s interrupt, write 1 clear 0 */
|
__IO uint32_t SECOND : 1; /*!< 1s interrupt, write 1 clear 0 */
|
||||||
__IO uint32_t MICROSECOND: 1; /*!< 1ms interrupt, write 1 clear 0 */
|
__IO uint32_t MILLSECOND : 1; /*!< 1ms interrupt, write 1 clear 0 */
|
||||||
} INT_STATUS_b; /*!< BitSize */
|
} INT_STATUS_b; /*!< BitSize */
|
||||||
};
|
};
|
||||||
__IO uint32_t SECOND; /*!< current seconds of system time */
|
__IO uint32_t SECOND; /*!< current seconds of system time */
|
||||||
|
|
||||||
union {
|
union {
|
||||||
__IO uint16_t MICROSECOND; /*!< current micro seconds of system time */
|
__IO uint16_t MILLSECOND; /*!< current millseconds of system time */
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
__IO uint16_t MS : 10; /*!< micro seconds */
|
__IO uint16_t MS : 10; /*!< micro seconds */
|
||||||
} MICROSECOND_b; /*!< BitSize */
|
} MILLSECOND_b; /*!< BitSize */
|
||||||
};
|
};
|
||||||
} RTC_Type;
|
} RTC_Type;
|
||||||
|
|
||||||
@ -2884,9 +2884,35 @@ typedef struct { /*!< ETH Structure
|
|||||||
are used to index the content */
|
are used to index the content */
|
||||||
} VLAN_TAG_b; /*!< BitSize */
|
} VLAN_TAG_b; /*!< BitSize */
|
||||||
};
|
};
|
||||||
__I uint32_t RESERVED0[8];
|
__I uint32_t RESERVED0[2];
|
||||||
|
__IO uint32_t RWUFFR; /*!< Remote Wake-Up Frame Filter Register */
|
||||||
|
|
||||||
|
union {
|
||||||
|
__IO uint32_t PMTCSR; /*!< PMT Control and Status Register */
|
||||||
|
|
||||||
|
struct {
|
||||||
|
__IO uint32_t PWRDWN : 1; /*!< Power Down */
|
||||||
|
__IO uint32_t MGKPKTEN : 1; /*!< Magic Packet Enable */
|
||||||
|
__IO uint32_t RWKPKTEN : 1; /*!< Remote Wake-Up Frame Enable */
|
||||||
|
uint32_t : 2;
|
||||||
|
__IO uint32_t MGKPRCVD : 1; /*!< the power management event is generated because of the reception
|
||||||
|
of a magic packet */
|
||||||
|
__IO uint32_t RWKPRCVD : 1; /*!< When set, this bit indicates the power management event is generated
|
||||||
|
because of the reception of a remote wake-up frame */
|
||||||
|
uint32_t : 2;
|
||||||
|
__IO uint32_t GLBLUCAST : 1; /*!< When set, enables any unicast packet filtered by the MAC (DAF)address
|
||||||
|
recognition to be a remote wake-up frame. */
|
||||||
|
uint32_t : 14;
|
||||||
|
__IO uint32_t RWKPTR : 3; /*!< Remote Wake-up FIFO Pointer */
|
||||||
|
uint32_t : 4;
|
||||||
|
__IO uint32_t RWKFILTRST : 1; /*!< Remote Wake-Up Frame Filter Register Pointer Reset. */
|
||||||
|
} PMTCSR_b; /*!< BitSize */
|
||||||
|
};
|
||||||
|
__I uint32_t RESERVED1[2];
|
||||||
|
__IO uint32_t MACISR; /*!< Interrupt Status Register */
|
||||||
|
__IO uint32_t MACIMR; /*!< Interrupt Mask Register */
|
||||||
__IO uint16_t ADDR0_HIGH; /*!< MAC Address0 High Register */
|
__IO uint16_t ADDR0_HIGH; /*!< MAC Address0 High Register */
|
||||||
__I uint16_t RESERVED1;
|
__I uint16_t RESERVED2;
|
||||||
__IO uint32_t ADDR0_LOW; /*!< MAC Address0 LOW Register */
|
__IO uint32_t ADDR0_LOW; /*!< MAC Address0 LOW Register */
|
||||||
|
|
||||||
union {
|
union {
|
||||||
@ -2901,10 +2927,51 @@ typedef struct { /*!< ETH Structure
|
|||||||
} ADDR1_HIGH_b; /*!< BitSize */
|
} ADDR1_HIGH_b; /*!< BitSize */
|
||||||
};
|
};
|
||||||
__IO uint32_t ADDR1_LOW; /*!< MAC Address1 LOW Register */
|
__IO uint32_t ADDR1_LOW; /*!< MAC Address1 LOW Register */
|
||||||
__I uint32_t RESERVED2[47];
|
__I uint32_t RESERVED3[44];
|
||||||
__IO uint32_t MMC_RX_MASK; /*!< MMC Receive interrupt mask */
|
|
||||||
__IO uint32_t MMC_TX_MASK; /*!< MMC Transmit Interrupt Mask */
|
union {
|
||||||
__I uint32_t RESERVED3[955];
|
__IO uint32_t MMCCR; /*!< MMC Control Register */
|
||||||
|
|
||||||
|
struct {
|
||||||
|
__IO uint32_t CNTRST : 1; /*!< Counters Reset */
|
||||||
|
__IO uint32_t CNTSTOPRO : 1; /*!< Counter Stop Rollover */
|
||||||
|
__IO uint32_t RSTONRD : 1; /*!< Reset on Read */
|
||||||
|
__IO uint32_t CNTFREEZ : 1; /*!< MMC Counter Freeze */
|
||||||
|
__IO uint32_t CNTPRST : 1; /*!< Counters Preset */
|
||||||
|
__IO uint32_t CNTPRSTLVL : 1; /*!< Counters Preset */
|
||||||
|
uint32_t : 2;
|
||||||
|
__IO uint32_t UCDBC : 1; /*!< Update MMC Counters for Dropped Broadcast Frames */
|
||||||
|
} MMCCR_b; /*!< BitSize */
|
||||||
|
};
|
||||||
|
__IO uint32_t MMCRIR; /*!< MMC Receive Interrupt Register */
|
||||||
|
__IO uint32_t MMCTIR; /*!< MMC Transmit Interrupt Register */
|
||||||
|
__IO uint32_t MMCRIMR; /*!< MMC Receive interrupt mask */
|
||||||
|
__IO uint32_t MMCTIMR; /*!< MMC Transmit Interrupt Mask */
|
||||||
|
__I uint32_t RESERVED4[59];
|
||||||
|
__IO uint32_t MMCIRCOIM; /*!< MMC IPC Receive Checksum Offload Interrupt Mask */
|
||||||
|
__I uint32_t RESERVED5[319];
|
||||||
|
|
||||||
|
union {
|
||||||
|
__IO uint32_t PTPTSCR; /*!< Timestamp Control Register */
|
||||||
|
|
||||||
|
struct {
|
||||||
|
__IO uint32_t TSENA : 1; /*!< Timestamp Enable */
|
||||||
|
__IO uint32_t TSCFUPDT : 1; /*!< Timestamp Fine or Coarse Update */
|
||||||
|
__IO uint32_t TSINIT : 1; /*!< Timestamp Initialize */
|
||||||
|
__IO uint32_t TSUPDT : 1; /*!< Timestamp Update */
|
||||||
|
__IO uint32_t TSTRIG : 1; /*!< Timestamp Interrupt Trigger Enable */
|
||||||
|
__IO uint32_t TSADDREG : 1; /*!< Addend Reg Update */
|
||||||
|
} PTPTSCR_b; /*!< BitSize */
|
||||||
|
};
|
||||||
|
__IO uint32_t PTPSSIR; /*!< Sub-Second Increment Register */
|
||||||
|
__IO uint32_t PTPTSHR; /*!< System Time Seconds Register */
|
||||||
|
__IO uint32_t PTPTSLR; /*!< System Time Nanoseconds Register */
|
||||||
|
__IO uint32_t PTPTSHUR; /*!< System Time Seconds Update Register */
|
||||||
|
__IO uint32_t PTPTSLUR; /*!< System Time Nanoseconds Update Register */
|
||||||
|
__IO uint32_t PTPTSAR; /*!< Timestamp Addend Register */
|
||||||
|
__IO uint32_t PTPTTHR; /*!< Target Time Seconds Register */
|
||||||
|
__IO uint32_t PTPTTLR; /*!< Target Time Nanoseconds Register */
|
||||||
|
__I uint32_t RESERVED6[567];
|
||||||
|
|
||||||
union {
|
union {
|
||||||
__IO uint32_t BUS_MODE; /*!< Flow Control Register */
|
__IO uint32_t BUS_MODE; /*!< Flow Control Register */
|
||||||
@ -3019,7 +3086,7 @@ typedef struct { /*!< ETH Structure
|
|||||||
__IO uint32_t NIE : 1; /*!< Normal Interrupt Summary Enable */
|
__IO uint32_t NIE : 1; /*!< Normal Interrupt Summary Enable */
|
||||||
} INT_EN_b; /*!< BitSize */
|
} INT_EN_b; /*!< BitSize */
|
||||||
};
|
};
|
||||||
__I uint32_t RESERVED4[3];
|
__I uint32_t RESERVED7[3];
|
||||||
|
|
||||||
union {
|
union {
|
||||||
__IO uint32_t AHB_STATUS; /*!< AHB Status Register */
|
__IO uint32_t AHB_STATUS; /*!< AHB Status Register */
|
||||||
@ -3029,7 +3096,7 @@ typedef struct { /*!< ETH Structure
|
|||||||
in the non-idle state */
|
in the non-idle state */
|
||||||
} AHB_STATUS_b; /*!< BitSize */
|
} AHB_STATUS_b; /*!< BitSize */
|
||||||
};
|
};
|
||||||
__I uint32_t RESERVED5[6];
|
__I uint32_t RESERVED8[6];
|
||||||
__I uint32_t CURTDESAPTR; /*!< Current Host Transmit Descriptor Register */
|
__I uint32_t CURTDESAPTR; /*!< Current Host Transmit Descriptor Register */
|
||||||
__I uint32_t CURRDESAPTR; /*!< Current Host Receive Descriptor Register */
|
__I uint32_t CURRDESAPTR; /*!< Current Host Receive Descriptor Register */
|
||||||
__I uint32_t CURTBUFAPTR; /*!< Current Host Transmit Buffer Address Register */
|
__I uint32_t CURTBUFAPTR; /*!< Current Host Transmit Buffer Address Register */
|
||||||
@ -7227,7 +7294,7 @@ typedef struct { /*!< GLOBAL_CTRL Structure
|
|||||||
|
|
||||||
struct {
|
struct {
|
||||||
__IO uint32_t SECOND : 1; /*!< 1s interrupt enable */
|
__IO uint32_t SECOND : 1; /*!< 1s interrupt enable */
|
||||||
__IO uint32_t MICROSECOND: 1; /*!< 1ms interrupt enable */
|
__IO uint32_t MILLSECOND : 1; /*!< 1ms interrupt enable */
|
||||||
} RTC_INT_EN_b; /*!< BitSize */
|
} RTC_INT_EN_b; /*!< BitSize */
|
||||||
};
|
};
|
||||||
__I uint32_t RESERVED1;
|
__I uint32_t RESERVED1;
|
||||||
@ -7315,7 +7382,9 @@ typedef struct { /*!< DDRC Structure
|
|||||||
__IO uint32_t MODE : 6; /*!< DDRC Mode */
|
__IO uint32_t MODE : 6; /*!< DDRC Mode */
|
||||||
uint32_t : 2;
|
uint32_t : 2;
|
||||||
__IO uint32_t LANE : 1; /*!< LANE synchronization logic bypass */
|
__IO uint32_t LANE : 1; /*!< LANE synchronization logic bypass */
|
||||||
uint32_t : 7;
|
uint32_t : 3;
|
||||||
|
__IO uint32_t ADEC : 1; /*!< address decoder mapping */
|
||||||
|
uint32_t : 3;
|
||||||
__IO uint32_t B16 : 2; /*!< Active 16 bit DQ position when the unmber of DQ IO is 16 */
|
__IO uint32_t B16 : 2; /*!< Active 16 bit DQ position when the unmber of DQ IO is 16 */
|
||||||
uint32_t : 6;
|
uint32_t : 6;
|
||||||
__IO uint32_t CLKPOL : 2; /*!< DQS clkpol set by user on the PHY */
|
__IO uint32_t CLKPOL : 2; /*!< DQS clkpol set by user on the PHY */
|
||||||
@ -7933,7 +8002,7 @@ typedef struct { /*!< SOFT_RESET Structure
|
|||||||
|
|
||||||
|
|
||||||
/** @} */ /* End of group Device_Peripheral_Registers */
|
/** @} */ /* End of group Device_Peripheral_Registers */
|
||||||
/** @} */ /* End of group CMEM7 */
|
/** @} */ /* End of group cmem7 */
|
||||||
/** @} */ /* End of group (null) */
|
/** @} */ /* End of group (null) */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
@ -7941,5 +8010,5 @@ typedef struct { /*!< SOFT_RESET Structure
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#endif /* CMEM7_H */
|
#endif /* cmem7_H */
|
||||||
|
|
||||||
|
@ -45,6 +45,11 @@
|
|||||||
#define _USB
|
#define _USB
|
||||||
#define _WDG
|
#define _WDG
|
||||||
|
|
||||||
|
//#define _MARVELL
|
||||||
|
//#define _IP1826D
|
||||||
|
#define _M7NORFLASH
|
||||||
|
#define _ME_6095_F
|
||||||
|
|
||||||
#define USE_FULL_ASSERT 1
|
#define USE_FULL_ASSERT 1
|
||||||
|
|
||||||
#ifdef USE_FULL_ASSERT
|
#ifdef USE_FULL_ASSERT
|
||||||
@ -71,7 +76,9 @@ typedef enum _BOOL {FALSE = 0, TRUE = 1} BOOL;
|
|||||||
/**
|
/**
|
||||||
* System clock frequency, unit is Hz.
|
* System clock frequency, unit is Hz.
|
||||||
*/
|
*/
|
||||||
#define SYSTEM_CLOCK_FREQ 200000000
|
#define SYSTEM_CLOCK_FREQ 300000000
|
||||||
|
//250000000
|
||||||
|
//300000000
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief usecond delay
|
* @brief usecond delay
|
||||||
|
@ -86,7 +86,6 @@
|
|||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief EFUSE receive filter structure
|
* @brief EFUSE receive filter structure
|
||||||
*/
|
*/
|
||||||
@ -173,14 +172,14 @@ typedef struct {
|
|||||||
uint32_t CRC_ERR : 1; /*!< [OUT] CRC error while last segment */
|
uint32_t CRC_ERR : 1; /*!< [OUT] CRC error while last segment */
|
||||||
uint32_t : 5;
|
uint32_t : 5;
|
||||||
uint32_t TTSE : 1; /*!< timestamp available while last segment */
|
uint32_t TTSE : 1; /*!< timestamp available while last segment */
|
||||||
uint32_t LS : 1; /*!< last segment flag */
|
uint32_t LS : 1; /*!< [OUT] last segment flag */
|
||||||
uint32_t FS : 1; /*!< first segment flag */
|
uint32_t FS : 1; /*!< [OUT] first segment flag */
|
||||||
uint32_t : 1;
|
uint32_t : 1;
|
||||||
uint32_t OVERFLOW_ERR : 1; /*!< [OUT] FIFO overflow while last segment */
|
uint32_t OVERFLOW_ERR : 1; /*!< [OUT] FIFO overflow while last segment */
|
||||||
uint32_t LENGTH_ERR : 1; /*!< [OUT] length error while last segment */
|
uint32_t LENGTH_ERR : 1; /*!< [OUT] length error while last segment */
|
||||||
uint32_t : 2;
|
uint32_t : 2;
|
||||||
uint32_t ERR_SUM : 1; /*!< [OUT] Error summary while last segment */
|
uint32_t ERR_SUM : 1; /*!< [OUT] Error summary while last segment */
|
||||||
uint32_t FL : 14; /*!< frame length while last segment */
|
uint32_t FL : 14; /*!< [OUT] frame length while last segment */
|
||||||
uint32_t : 2;
|
uint32_t : 2;
|
||||||
} RX0_b;
|
} RX0_b;
|
||||||
} RX_0;
|
} RX_0;
|
||||||
@ -216,7 +215,13 @@ uint32_t ETH_PhyRead(uint32_t phyAddr, uint32_t phyReg);
|
|||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
void ETH_PhyWrite(uint32_t phyAddr, uint32_t phyReg, uint32_t data);
|
void ETH_PhyWrite(uint32_t phyAddr, uint32_t phyReg, uint32_t data);
|
||||||
|
/**
|
||||||
|
* @brief Fills each ETH_InitStruct member with its default value.
|
||||||
|
* @param ETH_InitStruct: pointer to a ETH_InitTypeDef structure
|
||||||
|
* which will be initialized.
|
||||||
|
* @retval : None
|
||||||
|
*/
|
||||||
|
void ETH_StructInit(ETH_InitTypeDef* init);
|
||||||
/**
|
/**
|
||||||
* @brief Ethernet initialization
|
* @brief Ethernet initialization
|
||||||
* @note This function should be called at first before any other interfaces.
|
* @note This function should be called at first before any other interfaces.
|
||||||
@ -231,21 +236,21 @@ BOOL ETH_Init(ETH_InitTypeDef *init);
|
|||||||
* @param[in] Enable The bit indicates if specific interrupts are enable or not
|
* @param[in] Enable The bit indicates if specific interrupts are enable or not
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
void ETH_EnableInt(uint32_t Int, BOOL enable);
|
void ETH_ITConfig(uint32_t Int, BOOL enable);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Check specific interrupts are set or not
|
* @brief Check specific interrupts are set or not
|
||||||
* @param[in] Int interrupt mask bits, which can be the combination of @ref ETH_INT
|
* @param[in] Int interrupt mask bits, which can be the combination of @ref ETH_INT
|
||||||
* @retval BOOL The bit indicates if specific interrupts are set or not
|
* @retval BOOL The bit indicates if specific interrupts are set or not
|
||||||
*/
|
*/
|
||||||
BOOL ETH_GetIntStatus(uint32_t Int);
|
BOOL ETH_GetITStatus(uint32_t Int);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Clear specific interrupts
|
* @brief Clear specific interrupts
|
||||||
* @param[in] Int interrupt mask bits, which can be the combination of @ref ETH_INT
|
* @param[in] Int interrupt mask bits, which can be the combination of @ref ETH_INT
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
void ETH_ClearInt(uint32_t Int);
|
void ETH_ClearITPendingBit(uint32_t Int);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get ethernte MAC address
|
* @brief Get ethernte MAC address
|
||||||
@ -299,7 +304,7 @@ ETH_TX_DESC *ETH_AcquireFreeTxDesc(void);
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Check if a transmission descriptor is free or not
|
* @brief Check if a transmission descriptor is free or not
|
||||||
* @param desc A pointer of a transmission descriptor
|
* @param[in] desc A pointer of a transmission descriptor
|
||||||
* @retval BOOL True if the transmission descriptor is free, or flase.
|
* @retval BOOL True if the transmission descriptor is free, or flase.
|
||||||
*/
|
*/
|
||||||
BOOL ETH_IsFreeTxDesc(ETH_TX_DESC *desc);
|
BOOL ETH_IsFreeTxDesc(ETH_TX_DESC *desc);
|
||||||
@ -309,11 +314,26 @@ BOOL ETH_IsFreeTxDesc(ETH_TX_DESC *desc);
|
|||||||
* After users prepared data in the buffer of a free descriptor,
|
* After users prepared data in the buffer of a free descriptor,
|
||||||
* They must call this function to change ownership of the
|
* They must call this function to change ownership of the
|
||||||
* descriptor to hardware.
|
* descriptor to hardware.
|
||||||
* @param desc A pointer of a transmission descriptor
|
* @param[in] desc A pointer of a transmission descriptor
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
void ETH_ReleaseTxDesc(ETH_TX_DESC *desc);
|
void ETH_ReleaseTxDesc(ETH_TX_DESC *desc);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set buffer address of the specific TX descriptor
|
||||||
|
* @param[in] desc A pointer of a transmission descriptor
|
||||||
|
* @param[in] bufAddr buffer address to be sent
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void ETH_SetTxDescBufAddr(ETH_TX_DESC *desc, uint32_t bufAddr);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get buffer address of the specific TX descriptor
|
||||||
|
* @param[in] desc A pointer of a transmission descriptor
|
||||||
|
* @retval uint32_t buffer address to be gotten
|
||||||
|
*/
|
||||||
|
uint32_t ETH_GetTxDescBufAddr(ETH_TX_DESC *desc);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set ethernet receive descriptor ring
|
* @brief Set ethernet receive descriptor ring
|
||||||
* @note Make sure that memory occupied by descriptors should be in physical
|
* @note Make sure that memory occupied by descriptors should be in physical
|
||||||
@ -359,7 +379,7 @@ ETH_RX_DESC *ETH_AcquireFreeRxDesc(void);
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Check if a receive descriptor is free or not
|
* @brief Check if a receive descriptor is free or not
|
||||||
* @param desc A pointer of a receive descriptor
|
* @param[in] desc A pointer of a receive descriptor
|
||||||
* @retval BOOL True if the receive descriptor is free, or flase.
|
* @retval BOOL True if the receive descriptor is free, or flase.
|
||||||
*/
|
*/
|
||||||
BOOL ETH_IsFreeRxDesc(ETH_RX_DESC *desc);
|
BOOL ETH_IsFreeRxDesc(ETH_RX_DESC *desc);
|
||||||
@ -369,11 +389,26 @@ BOOL ETH_IsFreeRxDesc(ETH_RX_DESC *desc);
|
|||||||
* After users handled data in the buffer of a free descriptor,
|
* After users handled data in the buffer of a free descriptor,
|
||||||
* They must call this function to change ownership of the
|
* They must call this function to change ownership of the
|
||||||
* descriptor to hardware.
|
* descriptor to hardware.
|
||||||
* @param desc A pointer of a transmission descriptor
|
* @param[in] desc A pointer of a transmission descriptor
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
void ETH_ReleaseRxDesc(ETH_RX_DESC *desc);
|
void ETH_ReleaseRxDesc(ETH_RX_DESC *desc);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set buffer address of the specific RX descriptor
|
||||||
|
* @param[in] desc A pointer of a receive descriptor
|
||||||
|
* @param[in] bufAddr buffer address to be received
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void ETH_SetRxDescBufAddr(ETH_RX_DESC *desc, uint32_t bufAddr);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get buffer address of the specific RX descriptor
|
||||||
|
* @param[in] desc A pointer of a receive descriptor
|
||||||
|
* @retval uint32_t buffer address to be gotten
|
||||||
|
*/
|
||||||
|
uint32_t ETH_GetRxDescBufAddr(ETH_RX_DESC *desc);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -202,6 +202,14 @@ void FLASH_Read(uint8_t ReadMode, uint32_t addr, uint16_t size, uint8_t* data);
|
|||||||
*/
|
*/
|
||||||
void FLASH_Write(uint32_t addr, uint16_t size, uint8_t* data);
|
void FLASH_Write(uint32_t addr, uint16_t size, uint8_t* data);
|
||||||
|
|
||||||
|
|
||||||
|
void flash_WaitInWritting(void) ;
|
||||||
|
|
||||||
|
void flash_WaitReadFifoNotEmpty(void);
|
||||||
|
|
||||||
|
uint16_t flash_ReadFifo(uint16_t size, uint8_t* data) ;
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -140,6 +140,17 @@ void GPIO_InitPwm(uint8_t Channel, uint32_t HighLevelNanoSecond, uint32_t LowLev
|
|||||||
*/
|
*/
|
||||||
void GPIO_EnablePwm(uint8_t Channel, BOOL Enable);
|
void GPIO_EnablePwm(uint8_t Channel, BOOL Enable);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
xjf 20150324
|
||||||
|
|
||||||
|
**/
|
||||||
|
void GPIO_SetBits(uint32_t mask);
|
||||||
|
void GPIO_clrBits(uint32_t mask);
|
||||||
|
uint32_t GPIO_getBits(uint32_t mask);
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -102,6 +102,16 @@
|
|||||||
#include "cmem7_wdg.h"
|
#include "cmem7_wdg.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef _MARVELL
|
||||||
|
#include <marvel_98dx242.h>
|
||||||
|
#include <s24g_i2c.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _IP1826D
|
||||||
|
#include <ip1826d_v00.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -87,9 +87,11 @@ typedef struct
|
|||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define NVIC_VectTab_CME_CODE ((uint32_t)0x00000000)
|
||||||
#define NVIC_VectTab_RAM ((uint32_t)0x20000000)
|
#define NVIC_VectTab_RAM ((uint32_t)0x20000000)
|
||||||
#define NVIC_VectTab_FLASH ((uint32_t)0x08000000)
|
#define NVIC_VectTab_FLASH ((uint32_t)0x08000000)
|
||||||
#define IS_NVIC_VECTTAB(VECTTAB) (((VECTTAB) == NVIC_VectTab_RAM) || \
|
#define IS_NVIC_VECTTAB(VECTTAB) (((VECTTAB) == NVIC_VectTab_CME_CODE) || \
|
||||||
|
((VECTTAB) == NVIC_VectTab_RAM) || \
|
||||||
((VECTTAB) == NVIC_VectTab_FLASH))
|
((VECTTAB) == NVIC_VectTab_FLASH))
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
@ -197,6 +199,20 @@ void NVIC_SystemLPConfig(uint8_t LowPowerMode, BOOL NewState);
|
|||||||
*/
|
*/
|
||||||
void GLB_MMAP(uint32_t from, uint32_t to, BOOL isIcacheOn);
|
void GLB_MMAP(uint32_t from, uint32_t to, BOOL isIcacheOn);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Convert the mapping destination address to source address
|
||||||
|
* @param[in] to address to be mapped to
|
||||||
|
* @retval uint32_t address to be mapped from
|
||||||
|
*/
|
||||||
|
uint32_t GLB_ConvertToMappingFromAddr(uint32_t to);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Convert the mapping source address to destination address
|
||||||
|
* @param[in] from address to be mapped from
|
||||||
|
* @retval uint32_t address to be mapped to
|
||||||
|
*/
|
||||||
|
uint32_t GLB_ConvertToMappingToAddr(uint32_t from);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set NMI irq number, it should be one of @ref IRQn_Type.
|
* @brief Set NMI irq number, it should be one of @ref IRQn_Type.
|
||||||
* @Note You can assign any valid IRQn_Type to NMI. After that, you will enter NMI
|
* @Note You can assign any valid IRQn_Type to NMI. After that, you will enter NMI
|
||||||
@ -228,6 +244,30 @@ void GLB_SetNmiIrqNum(uint32_t irq);
|
|||||||
*/
|
*/
|
||||||
void GLB_SelectSysClkSource(uint8_t source);
|
void GLB_SelectSysClkSource(uint8_t source);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Simulate instruction 'STRB' or 'STRH' with 'BFI'
|
||||||
|
* @Note In M7, you have to write a register in 32-bit alignment,
|
||||||
|
* not in 8-bit or 16-bit.
|
||||||
|
* @param[in] addr register address to be written
|
||||||
|
* @param[in] value value to be written
|
||||||
|
* @param[in] lsb LSB in register to be written
|
||||||
|
* @param[in] len bit length to be written
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
//#define aaaa(len) __asm("LDR len, 11")
|
||||||
|
|
||||||
|
#define CMEM7_BFI(addr, value, lsb, len) \
|
||||||
|
do { \
|
||||||
|
unsigned long tmp; \
|
||||||
|
unsigned long tmp1 = (unsigned long)addr; \
|
||||||
|
\
|
||||||
|
__asm("LDR tmp, [tmp1]\n" \
|
||||||
|
"BFI tmp, "#value", "#lsb", "#len" \n" \
|
||||||
|
"STR tmp, [tmp1]\n"); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#define RTC_Int_Second ((uint32_t)0x00000001)
|
#define RTC_Int_Second ((uint32_t)0x00000001)
|
||||||
#define RTC_Int_Microsecond ((uint32_t)0x00000002)
|
#define RTC_Int_Millsecond ((uint32_t)0x00000002)
|
||||||
#define RTC_Int_All ((uint32_t)0x00000003)
|
#define RTC_Int_All ((uint32_t)0x00000003)
|
||||||
#define IS_RTC_INT(INT) (((INT) != 0) && (((INT) & ~RTC_Int_All) == 0))
|
#define IS_RTC_INT(INT) (((INT) != 0) && (((INT) & ~RTC_Int_All) == 0))
|
||||||
/**
|
/**
|
||||||
@ -51,21 +51,21 @@
|
|||||||
* @param[in] Enable The bit indicates if specific interrupts are enable or not
|
* @param[in] Enable The bit indicates if specific interrupts are enable or not
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
void RTC_EnableInt(uint32_t Int, BOOL Enable);
|
void RTC_ITConfig(uint32_t Int, BOOL Enable);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Check specific interrupts are set or not
|
* @brief Check specific interrupts are set or not
|
||||||
* @param[in] Int interrupt mask bits, which can be the combination of @ref RTC_Int
|
* @param[in] Int interrupt mask bits, which can be the combination of @ref RTC_Int
|
||||||
* @retval BOOL The bit indicates if specific interrupts are set or not
|
* @retval BOOL The bit indicates if specific interrupts are set or not
|
||||||
*/
|
*/
|
||||||
BOOL RTC_GetIntStatus(uint32_t Int);
|
BOOL RTC_GetITStatus(uint32_t Int);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Clear specific interrupts
|
* @brief Clear specific interrupts
|
||||||
* @param[in] Int interrupt mask bits, which can be the combination of @ref RTC_Int
|
* @param[in] Int interrupt mask bits, which can be the combination of @ref RTC_Int
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
void RTC_ClearInt(uint32_t Int);
|
void RTC_ClearITPendingBit(uint32_t Int);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get seconds since power up
|
* @brief Get seconds since power up
|
||||||
@ -75,11 +75,11 @@ void RTC_ClearInt(uint32_t Int);
|
|||||||
uint32_t RTC_GetSecond(void);
|
uint32_t RTC_GetSecond(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get current micro-seconds
|
* @brief Get current millseconds
|
||||||
* @param None
|
* @param None
|
||||||
* @retval uint32_t Current micro-seconds
|
* @retval uint32_t Current millseconds
|
||||||
*/
|
*/
|
||||||
uint16_t RTC_GetMicroSecond(void);
|
uint16_t RTC_GetMillSecond(void);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -56,14 +56,21 @@
|
|||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Deinitializes the Watchdog peripheral registers to their default reset values.
|
||||||
|
* @param[in] None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void WDG_DeInit(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Watchdog initialization
|
* @brief Watchdog initialization
|
||||||
* @note This function should be called at first before any other interfaces.
|
* @note This function should be called at first before any other interfaces.
|
||||||
* @param[in] trigger Watchdog interrupt trigger mode, which is a value of @ref WDG_TRIGGER_MODE
|
* @param[in] trigger Watchdog interrupt trigger mode, which is a value of @ref WDG_TRIGGER_MODE
|
||||||
* @param[in] ResetMicroSecond MicroSeconds lasts before global reset
|
* @param[in] ResetMillSecond MillSeconds lasts before global reset
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
void WDG_Init(uint8_t trigger, uint16_t ResetMicroSecond);
|
void WDG_Init(uint8_t trigger, uint16_t ResetMillSecond);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Enable or disable watchdog interrupt.
|
* @brief Enable or disable watchdog interrupt.
|
||||||
@ -71,28 +78,28 @@ void WDG_Init(uint8_t trigger, uint16_t ResetMicroSecond);
|
|||||||
* @param[in] Enable The bit indicates if the specific interrupt are enable or not
|
* @param[in] Enable The bit indicates if the specific interrupt are enable or not
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
void WDG_EnableInt(uint8_t Int, BOOL Enable);
|
void WDG_ITConfig(uint8_t Int, BOOL Enable);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Check the specific interrupt are set or not
|
* @brief Check the specific interrupt are set or not
|
||||||
* @param None
|
* @param None
|
||||||
* @retval BOOL The bit indicates if the specific interrupt are set or not
|
* @retval BOOL The bit indicates if the specific interrupt are set or not
|
||||||
*/
|
*/
|
||||||
BOOL WDG_GetIntStatus(void);
|
BOOL WDG_GetITStatus(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Clear the specific interrupt
|
* @brief Clear the specific interrupt
|
||||||
* @param None
|
* @param None
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
void WDG_ClearInt(void);
|
void WDG_ClearITPendingBit(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Enable or disable watchdog.
|
* @brief Enable or disable watchdog.
|
||||||
* @param[in] Enable The bit indicates if watchdog is enable or not
|
* @param[in] Enable The bit indicates if watchdog is enable or not
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
void WDG_Enable(BOOL Enable);
|
void WDG_Cmd(BOOL Enable);
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
Loading…
x
Reference in New Issue
Block a user