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

📄 hw5120cfg.h

📁 Boot code for ADM5120 with serial console for Edimax router.
💻 H
📖 第 1 页 / 共 5 页
字号:
#if (HWPF_5120_SDRAM_tRFC < 0) || (HWPF_5120_SDRAM_tRFC > 31)#error HWPF_5120_SDRAM_tRFC is out of range!!!#endif#if (HWPF_5120_SDRAM_tXSR < 0) || (HWPF_5120_SDRAM_tXSR > 31)#error HWPF_5120_SDRAM_tXSR is out of range!!!#endif#if (HWPF_5120_SDRAM_tRRD < 0) || (HWPF_5120_SDRAM_tRRD > 15)#error HWPF_5120_SDRAM_tRRD is out of range!!!#endif#if (HWPF_5120_SDRAM_tMRD < 0) || (HWPF_5120_SDRAM_tMRD > 15)#error HWPF_5120_SDRAM_tMRD is out of range!!!#endif// +++++++++++++++++++++   SDRAM Timing end   ++++++++++++++++++++++//===========================================================================//===========================================================================// ++++++++++++++++++++   Ext I/O bank0 start   ++++++++++++++++++++// Ext I/O bank 0 configuration #if (HWPF_5120_EXTIO0_EN == OPTION_ENABLE)#if (HWPF_5120_EXTIO0_INT_POLARITY == 0)#define HWPF_5120_EXTIO0_INT_CFG					IRQ_EXTIO0_ACT_LOW#elif (HWPF_5120_EXTIO0_INT_POLARITY == 1)#define HWPF_5120_EXTIO0_INT_CFG					0#else#error The value of HWPF_5120_EXTIO0_INT_POLARITY must be either 0 or 1!!!#endif#if (HWPF_5120_EXTIO0_WAIT_EN != OPTION_ENABLE) && (HWPF_5120_EXTIO0_WAIT_EN != OPTION_DISABLE)#error The value of HWPF_5120_EXTIO0_WAIT_EN must be either OPTION_ENABLE or OPTION_DISABLE!!!#endif#if (HWPF_5120_EXTIO0_BUS_WIDTH == 32)#define SMEM2_BUS_WIDTH								SM_MEM_WIDTH_32BIT#elif (HWPF_5120_EXTIO0_BUS_WIDTH == 16)#define SMEM2_BUS_WIDTH								SM_MEM_WIDTH_16BIT#elif (HWPF_5120_EXTIO0_BUS_WIDTH == 8)#define SMEM2_BUS_WIDTH								SM_MEM_WIDTH_8BIT#else#error The value of HWPF_5120_EXTIO0_BUS_WIDTH must be either 8, 16, or 32!!!!#endif // (HWPF_5120_EXTIO0_BUS_WIDTH == 32)#if (HWPF_5120_EXTIO0_DEV_WIDTH == 32)#define SMEM2_PB									SM_PB#elif (HWPF_5120_EXTIO0_DEV_WIDTH == 16)#define SMEM2_PB									SM_PB#elif (HWPF_5120_EXTIO0_DEV_WIDTH == 8)//#define SMEM2_PB									0#define SMEM2_PB									SM_PB#else#error The value of HWPF_5120_EXTIO0_DEV_WIDTH must be either 8, 16, or 32!!!!#endif // (HWPF_5120_EXTIO0_DEV_WIDTH == 32)#if (HWPF_5120_EXTIO0_BUS_WIDTH < HWPF_5120_EXTIO0_DEV_WIDTH)#warning The data bus width of Ext I/O bank 0 is smaller than the width of the device !!!#endif#if HWPF_5120_EXTIO0_CS_POLARITY == 1#define SMEM2_CS_POLARITY							SM_CS_HIGH#elif HWPF_5120_EXTIO0_CS_POLARITY == 0#define SMEM2_CS_POLARITY							0#else#error The value of HWPF_5120_EXTIO0_CS_POLARITY must be either 1 or 0!!!#endif  // (HWPF_5120_EXTIO0_CS_POLARITY == 1)#if HWPF_5120_EXTIO0_PAGE_MODE == OPTION_ENABLE#define SMEM2_PM_MODE								SM_PAGE_MODE#elif HWPF_5120_EXTIO0_PAGE_MODE == OPTION_DISABLE#define SMEM2_PM_MODE								0#else#error The value of HWPF_5120_EXTIO0_PAGE_MODE must be either OPTION_ENABLE or OPTION_DISABLE!!!#endif  // (HWPF_5120_EXTIO0_PAGE_MODE == OPTION_ENABLE)#if (HWPF_5120_EXTIO0_CS_TO_WE_WAIT < 0) || (HWPF_5120_EXTIO0_CS_TO_WE_WAIT > 15)#error HWPF_5120_EXTIO0_CS_TO_WE_WAIT is out of range!!!#endif#if (HWPF_5120_EXTIO0_CS_TO_OE_WAIT < 0) || (HWPF_5120_EXTIO0_CS_TO_OE_WAIT > 15)#error HWPF_5120_EXTIO0_CS_TO_OE_WAIT is out of range!!!#endif#if (HWPF_5120_EXTIO0_READ_WAIT < 0) || (HWPF_5120_EXTIO0_READ_WAIT > 31)#error HWPF_5120_EXTIO0_READ_WAIT is out of range!!!#endif#if (HWPF_5120_EXTIO0_WRITE_WAIT < 0) || (HWPF_5120_EXTIO0_WRITE_WAIT >31)#error HWPF_5120_EXTIO0_WRITE_WAIT is out of range!!!#endif#if (HWPF_5120_EXTIO0_TURN_WAIT < 0) || (HWPF_5120_EXTIO0_TURN_WAIT > 15)#error HWPF_5120_EXTIO0_TURN_WAIT is out of range!!!#endif#define SMEM2_CFG									( SMEM2_BUS_WIDTH 		\													| SMEM2_CS_POLARITY 	\													| SMEM2_PM_MODE 		\													| SMEM2_PB)#define SmemBank2_Config							SMEM2_CFG#define	SmemBank2_WaitWen							HWPF_5120_EXTIO0_CS_TO_WE_WAIT#define	SmemBank2_WaitOen							HWPF_5120_EXTIO0_CS_TO_OE_WAIT#define	SmemBank2_WaitRd							HWPF_5120_EXTIO0_READ_WAIT#define	SmemBank2_WaitPage							31#define	SmemBank2_WaitWr							HWPF_5120_EXTIO0_WRITE_WAIT#define	SmemBank2_WaitTurn							HWPF_5120_EXTIO0_TURN_WAIT#endif	// HWPF_5120_EXTIO0_EN == OPTION_ENABLE// +++++++++++++++++++++   Ext I/O bank0 end   +++++++++++++++++++++// ++++++++++++++++++++   Ext I/O bank1 start   ++++++++++++++++++++// Ext I/O bank 1 configuration #if (HWPF_5120_EXTIO1_EN == OPTION_ENABLE)#if (HWPF_5120_EXTIO1_INT_POLARITY == 0)#define HWPF_5120_EXTIO1_INT_CFG					IRQ_EXTIO1_ACT_LOW#elif (HWPF_5120_EXTIO1_INT_POLARITY == 1)#define HWPF_5120_EXTIO1_INT_CFG					0#else#error The value of HWPF_5120_EXTIO1_INT_POLARITY must be either 0 or 1!!!#endif#if (HWPF_5120_EXTIO1_WAIT_EN != OPTION_ENABLE) && (HWPF_5120_EXTIO1_WAIT_EN != OPTION_DISABLE)#error The value of HWPF_5120_EXTIO1_WAIT_EN must be either OPTION_ENABLE or OPTION_DISABLE!!!#endif#if (HWPF_5120_EXTIO1_BUS_WIDTH == 32)#define SMEM3_BUS_WIDTH								SM_MEM_WIDTH_32BIT#elif (HWPF_5120_EXTIO1_BUS_WIDTH == 16)#define SMEM3_BUS_WIDTH								SM_MEM_WIDTH_16BIT#elif (HWPF_5120_EXTIO1_BUS_WIDTH == 8)#define SMEM3_BUS_WIDTH								SM_MEM_WIDTH_8BIT#else#error The value of HWPF_5120_EXTIO1_BUS_WIDTH must be either 8, 16, or 32!!!!#endif // (HWPF_5120_SMEM1_BUS_WIDTH == 32)#if (HWPF_5120_EXTIO1_DEV_WIDTH == 32)#define SMEM3_PB									SM_PB#elif (HWPF_5120_EXTIO1_DEV_WIDTH == 16)#define SMEM3_PB									SM_PB#elif (HWPF_5120_EXTIO1_DEV_WIDTH == 8)//#define SMEM3_PB									0#define SMEM3_PB									SM_PB#else#error The value of HWPF_5120_EXTIO1_DEV_WIDTH must be either 8, 16, or 32!!!!#endif // (HWPF_5120_EXTIO1_DEV_WIDTH == 32)#if (HWPF_5120_EXTIO1_BUS_WIDTH < HWPF_5120_EXTIO1_DEV_WIDTH)#warning The data bus width of Ext I/O bank 1 is smaller than the width of the device !!!#endif#if HWPF_5120_EXTIO1_CS_POLARITY == 1#define SMEM3_CS_POLARITY							SM_CS_HIGH#elif HWPF_5120_EXTIO1_CS_POLARITY == 0#define SMEM3_CS_POLARITY							0#else#error The value of HWPF_5120_EXTIO1_CS_POLARITY must be either 1 or 0!!!#endif  // (HWPF_5120_EXTIO0_CS_POLARITY == 1)#if HWPF_5120_EXTIO1_PAGE_MODE == OPTION_ENABLE#define SMEM3_PM_MODE								SM_PAGE_MODE#elif HWPF_5120_EXTIO1_PAGE_MODE == OPTION_DISABLE#define SMEM3_PM_MODE								0#else#error The value of HWPF_5120_EXTIO1_PAGE_MODE must be either OPTION_ENABLE or OPTION_DISABLE!!!#endif  // (HWPF_5120_EXTIO0_PAGE_MODE == OPTION_ENABLE)#if (HWPF_5120_EXTIO1_CS_TO_WE_WAIT < 0) || (HWPF_5120_EXTIO1_CS_TO_WE_WAIT > 15)#error HWPF_5120_EXTIO1_CS_TO_WE_WAIT is out of range!!!#endif#if (HWPF_5120_EXTIO1_CS_TO_OE_WAIT < 0) || (HWPF_5120_EXTIO1_CS_TO_OE_WAIT > 15)#error HWPF_5120_EXTIO1_CS_TO_OE_WAIT is out of range!!!#endif#if (HWPF_5120_EXTIO1_READ_WAIT < 0) || (HWPF_5120_EXTIO1_READ_WAIT > 31)#error HWPF_5120_EXTIO1_READ_WAIT is out of range!!!#endif#if (HWPF_5120_EXTIO1_WRITE_WAIT < 0) || (HWPF_5120_EXTIO1_WRITE_WAIT >31)#error HWPF_5120_EXTIO1_WRITE_WAIT is out of range!!!#endif#if (HWPF_5120_EXTIO1_TURN_WAIT < 0) || (HWPF_5120_EXTIO1_TURN_WAIT > 15)#error HWPF_5120_EXTIO1_TURN_WAIT is out of range!!!#endif#define SMEM3_CFG									( SMEM3_BUS_WIDTH 		\													| SMEM3_CS_POLARITY 	\													| SMEM3_PM_MODE 		\													| SMEM3_PB)#define SmemBank3_Config							SMEM3_CFG#define	SmemBank3_WaitWen							HWPF_5120_EXTIO1_CS_TO_WE_WAIT#define	SmemBank3_WaitOen							HWPF_5120_EXTIO1_CS_TO_OE_WAIT#define	SmemBank3_WaitRd							HWPF_5120_EXTIO1_READ_WAIT#define	SmemBank3_WaitPage							31#define	SmemBank3_WaitWr							HWPF_5120_EXTIO1_WRITE_WAIT#define	SmemBank3_WaitTurn							HWPF_5120_EXTIO1_TURN_WAIT#endif	// !(HWPF_5120_EXTIO1_EN == OPTION_ENABLE)// +++++++++++++++++++++   Ext I/O bank0 end   +++++++++++++++++++++//===========================================================================//===========================================================================// ++++++++++++++++++++   GPIO start   ++++++++++++++++++++// GPIO configuration #if (HWPF_5120_GPIO0_MODE == GPIO0_INPUT_MODE)	#undef HWPF_5120_GPIO0_DEFOUT	#define HWPF_5120_GPIO0_DEFOUT					GPIO0_OUTPUT_LOW#elif (HWPF_5120_GPIO0_MODE == GPIO0_OUTPUT_MODE)	#if ((HWPF_5120_GPIO0_DEFOUT != GPIO0_OUTPUT_LOW) && (HWPF_5120_GPIO0_DEFOUT != GPIO0_OUTPUT_HI))		#error HWPF_5120_GPIO0_DEFOUT must be either GPIO0_OUTPUT_LOW or GPIO0_OUTPUT_HI !!	#endif#else	#error HWPF_5120_GPIO0_MODE must be either GPIO0_INPUT_MODE or GPIO0_OUTPUT_MODE!!#endif	// (HWPF_5120_GPIO0_MODE != GPIO0_INPUT_MODE)#if (HWPF_5120_GPIO1_MODE == GPIO1_INPUT_MODE)	#undef HWPF_5120_GPIO1_DEFOUT	#define HWPF_5120_GPIO1_DEFOUT					GPIO1_OUTPUT_LOW#elif (HWPF_5120_GPIO1_MODE == GPIO1_OUTPUT_MODE)	#if ((HWPF_5120_GPIO1_DEFOUT != GPIO1_OUTPUT_LOW) && (HWPF_5120_GPIO1_DEFOUT != GPIO1_OUTPUT_HI))		#error HWPF_5120_GPIO1_DEFOUT must be either GPIO1_OUTPUT_LOW or GPIO1_OUTPUT_HI !!	#endif#else	#error HWPF_5120_GPIO1_MODE must be either GPIO1_INPUT_MODE or GPIO1_OUTPUT_MODE!!#endif	// (HWPF_5120_GPIO1_MODE != GPIO1_INPUT_MODE)#if (HWPF_5120_GPIO2_MODE == GPIO2_INPUT_MODE)	#undef HWPF_5120_GPIO2_DEFOUT	#define HWPF_5120_GPIO2_DEFOUT					GPIO2_OUTPUT_LOW#elif (HWPF_5120_GPIO2_MODE == GPIO2_OUTPUT_MODE)	#if ((HWPF_5120_GPIO2_DEFOUT != GPIO2_OUTPUT_LOW) && (HWPF_5120_GPIO2_DEFOUT != GPIO2_OUTPUT_HI))		#error HWPF_5120_GPIO2_DEFOUT must be either GPIO2_OUTPUT_LOW or GPIO2_OUTPUT_HI !!	#endif#else	#error HWPF_5120_GPIO2_MODE must be either GPIO2_INPUT_MODE or GPIO2_OUTPUT_MODE!!#endif	// (HWPF_5120_GPIO2_MODE != GPIO2_INPUT_MODE)#if (HWPF_5120_GPIO3_MODE == GPIO3_INPUT_MODE)	#undef HWPF_5120_GPIO3_DEFOUT	#define HWPF_5120_GPIO3_DEFOUT					GPIO3_OUTPUT_LOW#elif (HWPF_5120_GPIO3_MODE == GPIO3_OUTPUT_MODE)	#if ((HWPF_5120_GPIO3_DEFOUT != GPIO3_OUTPUT_LOW) && (HWPF_5120_GPIO3_DEFOUT != GPIO3_OUTPUT_HI))		#error HWPF_5120_GPIO3_DEFOUT must be either GPIO3_OUTPUT_LOW or GPIO3_OUTPUT_HI !!	#endif#else	#error HWPF_5120_GPIO3_MODE must be either GPIO3_INPUT_MODE or GPIO3_OUTPUT_MODE!!#endif	// (HWPF_5120_GPIO3_MODE != GPIO3_INPUT_MODE)#if (HWPF_5120_GPIO4_MODE == GPIO4_INPUT_MODE)	#undef HWPF_5120_GPIO4_DEFOUT	#define HWPF_5120_GPIO4_DEFOUT					GPIO4_OUTPUT_LOW#elif (HWPF_5120_GPIO4_MODE == GPIO4_OUTPUT_MODE)	#if ((HWPF_5120_GPIO4_DEFOUT != GPIO4_OUTPUT_LOW) && (HWPF_5120_GPIO4_DEFOUT != GPIO4_OUTPUT_HI))		#error HWPF_5120_GPIO4_DEFOUT must be either GPIO4_OUTPUT_LOW or GPIO4_OUTPUT_HI !!	#endif#else	#error HWPF_5120_GPIO4_MODE must be either GPIO4_INPUT_MODE or GPIO4_OUTPUT_MODE!!#endif	// (HWPF_5120_GPIO4_MODE != GPIO4_INPUT_MODE)#if (HWPF_5120_GPIO5_MODE == GPIO5_INPUT_MODE)	#undef HWPF_5120_GPIO5_DEFOUT	#define HWPF_5120_GPIO5_DEFOUT					GPIO5_OUTPUT_LOW#elif (HWPF_5120_GPIO5_MODE == GPIO5_OUTPUT_MODE)	#if ((HWPF_5120_GPIO5_DEFOUT != GPIO5_OUTPUT_LOW) && (HWPF_5120_GPIO5_DEFOUT != GPIO5_OUTPUT_HI))		#error HWPF_5120_GPIO5_DEFOUT must be either GPIO5_OUTPUT_LOW or GPIO5_OUTPUT_HI !!	#endif#else	#error HWPF_5120_GPIO5_MODE must be either GPIO5_INPUT_MODE or GPIO5_OUTPUT_MODE!!#endif	// (HWPF_5120_GPIO5_MODE != GPIO5_INPUT_MODE)#if (HWPF_5120_GPIO6_MODE == GPIO6_INPUT_MODE)	#undef HWPF_5120_GPIO6_DEFOUT	#define HWPF_5120_GPIO6_DEFOUT					GPIO6_OUTPUT_LOW#elif (HWPF_5120_GPIO6_MODE == GPIO6_OUTPUT_MODE)	#if ((HWPF_5120_GPIO6_DEFOUT != GPIO6_OUTPUT_LOW) && (HWPF_5120_GPIO6_DEFOUT != GPIO6_OUTPUT_HI))		#error HWPF_5120_GPIO6_DEFOUT must be either GPIO6_OUTPUT_LOW or GPIO6_OUTPUT_HI !!	#endif#else	#error HWPF_5120_GPIO6_MODE must be either GPIO6_INPUT_MODE or GPIO6_OUTPUT_MODE!!#endif	// (HWPF_5120_GPIO6_MODE != GPIO6_INPUT_MODE)#if (HWPF_5120_GPIO7_MODE == GPIO7_INPUT_MODE)	#undef HWPF_5120_GPIO7_DEFOUT	#define HWPF_5120_GPIO7_DEFOUT					GPIO7_OUTPUT_LOW#elif (HWPF_5120_GPIO7_MODE == GPIO7_OUTPUT_MODE)	#if ((HWPF_5120_GPIO7_DEFOUT != GPIO7_OUTPUT_LOW) && (HWPF_5120_GPIO7_DEFOUT != GPIO7_OUTPUT_HI))		#error HWPF_5120_GPIO7_DEFOUT must be either GPIO7_OUTPUT_LOW or GPIO7_OUTPUT_HI !!	#endif#else	#error HWPF_5120_GPIO7_MODE must be either GPIO7_INPUT_MODE or GPIO7_OUTPUT_MODE!!#endif	// (HWPF_5120_GPIO7_MODE != GPIO7_INPUT_MODE)#define HWPF_5120_GPIO_CFG0_MODE			( HWPF_5120_GPIO0_MODE		\											| HWPF_5120_GPIO1_MODE		\											| HWPF_5120_GPIO2_MODE		\											| HWPF_5120_GPIO3_MODE		\											| HWPF_5120_GPIO4_MODE		\											| HWPF_5120_GPIO5_MODE		\											| HWPF_5120_GPIO6_MODE		\											| HWPF_5120_GPIO7_MODE )											#define HWPF_5120_GPIO_CFG0_OUTEN			((~(HWPF_5120_GPIO_CFG0_MODE << 16)) & GPIO_CONF0_OUTEN_MASK)#define HWPF_5120_GPIO_CFG0_OUT				( HWPF_5120_GPIO0_DEFOUT	\											| HWPF_5120_GPIO1_DEFOUT	\											| HWPF_5120_GPIO2_DEFOUT	\											| HWPF_5120_GPIO3_DEFOUT	\											| HWPF_5120_GPIO4_DEFOUT	\											| HWPF_5120_GPIO5_DEFOUT	\											| HWPF_5120_GPIO6_DEFOUT	\											| HWPF_5120_GPIO7_DEFOUT )											#define HWPF_5120_GPIO_CFG0					( HWPF_5120_GPIO_CFG0_OUT		\											| HWPF_5120_GPIO_CFG0_OUTEN		\											| HWPF_5120_GPIO_CFG0_MODE )// +++++++++++++++++++++   GPIO end   +++++++++++++++++++++//===========================================================================//===========================================================================// ++++++++++++++++++++   Port0 LED start   ++++++++++++++++++++// Port0 LED configuration #if (HWPF_5120_P0_LED0_MODE < 0) || (HWPF_5120_P0_LED0_MODE > GPIOL_100MLINK_ACT_LED)#error The value of HWPF_5120_P0_LED0_MODE is invalid!!!#endif #if (HWPF_5120_P0_LED1_MODE < 0) || (HWPF_5120_P0_LED1_MODE > GPIOL_100MLINK_ACT_LED)#error The value of HWPF_5120_P0_LED1_MO

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -