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

📄 emi.c

📁 基于东南大学开发的SEP3203的ARM7中的所有驱动
💻 C
字号:
#include "hardware.h"
#include "hardware_reg.h"
#include "HA_typedef.h"

extern U32 para;

/* 这个程序调用频繁,我希望用嵌入式汇编来实现做成宏 */
U32 HA_EMI_WRIT(U32 add, U32 data)
{
	*((RP)add) = data;
	add += 4;
	return add;
}
/*
 *HA_WRIT(U32 add, U32 data) \
 *	__asm{mov r0, [add];
 *		mov r1, data;
 *		mov [r0], r1;
 *		add r0, r0, 4;
 *	}	
 */

void HA_INIT_EMI(void)
{
	U32 temp;
	
#if 0
	*(RP)EMIADDR_SMCONF = EMIADDR_SMCONF_val; /* 0x9b011333=0`b 1001 1011 0000 0001 0001 0011 0011 0011 */
	
	*(RP)EMIADDR_CSGBAB = EMIADDR_CSGBAB_val;
	*(RP)EMIADDR_CSGBCD = EMIADDR_CSGBCD_val;
	*(RP)EMIADDR_CSGBEF = EMIADDR_CSGBEF_val;
	
	*(RP)EMIADDR_SDCONF1 = EMIADDR_SDCONF1_val; /* 0x0110a077=0`b 0000 0001 0001 0000 1010 0000 0111 0111 */		
	*(RP)EMIADDR_SDCONF2 =  EMIADDR_SDCONF2_val; /* 0x80001860=0`b 1000 0000 0000 0000 0001 1000 0110 0000 */
#endif		
	

/* read from the registers, and compare them to the old ones */

	temp = *(RP)EMIADDR_CSGBAB;
	para = HA_EMI_WRIT(para, temp);
	
	temp = *(RP)EMIADDR_CSGBCD;
	para = HA_EMI_WRIT(para, temp);
	
	temp = *(RP)EMIADDR_CSGBEF;
	para = HA_EMI_WRIT(para, temp);
	
}	

⌨️ 快捷键说明

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