📄 miniisa.c
字号:
#include "config.h"
void (*IRQ_func[4])(void);
uint32 Install_IRQFunc(uint8 no, uint32 func)
{
if(no < 4)
{
IRQ_func[no] =(void (*)())func;
return OPR_OK;
}
return OPR_ERR;
}
void IRQ_Def(void)
{
return;
}
void MISA_ISR(void)
{
uint8 IRQ_Stat;
uint8 i;
IRQ_Stat = MISA_IRQStat;
for(i = 0; i < 4; i++)
{
if((IRQ_Stat & (0x01<<i))!= 0) //如果IRQ_Stat的相应位为1,则执行相应的用户服务函数
{
(*IRQ_func[i])();
}
}
VICVectAddr = 0;
}
/*********************************************************************************************************
** Function name: void MISAInit(void)
** Descriptions: 初始化MiniISA总线
** Input: none
** Output: none
** Notice: 要根据不同的平台进行移植.
*********************************************************************************************************/
void MISAInit(void)
{
uint8 i;
uint8 tmp;
for(i = 0; i < 4; i++)
{
IRQ_func[i] =IRQ_Def;
}
tmp = MISA_IRQStat; //清零IRQStat中断状态寄存器
MISA_IntEn = 0x0F; //使能所有IRQ通道
MISA_SYS_CFG = 0x00; //RESET脚输出高电平
OSTimeDly(OS_TICKS_PER_SEC/2);
/*复位总线 */
MISA_SYS_CFG = 0xff; //RESET脚输出低电平
OSTimeDly(OS_TICKS_PER_SEC/2);
MISA_SYS_CFG = 0x01; //RESET脚输出高电平
MISA_SYS_CFG |= 0x02; //使能总线桥接器IRQ输出
}
/*********************************************************************************************************
** Function name: void EMCInit(void)
** Descriptions: 初始化外部总线
** Input: none
** Output: none
** Notice: 要根据不同的平台进行移植.
*********************************************************************************************************/
void EMCInit(void)
{
//uint32 tmp;
PCONP |= 0x00000800; // 打开EMC控制器
PINSEL9 |= 0x01<<28; /* CS0 */
PINSEL6 = 0x55555555; /* D0--D15 */
PINSEL8 = 0x55555555; /* A0--A15 */
PINSEL9 = 0x55555555; /* A19--A23,nOE,nWE */
EMCStaticConfig0 = 0x00000080; /* 16位数据总线,使用延时 */
EMCStaticWaitWen0 = 0x0;//f; /* 写使能延时为 */
EMCStaticWaitOen0 = 0x0;// 0xf; /* 从器件输出使能延时为 */
EMCStaticWaitRd0 = 0x1f;// 0x2; /* 延时 后再读 */
EMCStaticWaitPage0 = 0x0; /* 页读写转换时间为 */
EMCStaticWaitWr0 = 0x1f;// 0x4; /* 写失效时间为 */
EMCStaticWaitTurn0 = 0x0;
EMCControl = 0x00000001;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -