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

📄 cpci.c

📁 cpci程序 根据cpai协议编写的测试程序
💻 C
字号:
/***************************************************************************/
/*                                                                         */
/*     WAVEENCODE . C                                                      */
/*     Applied to wavelet transform DSP(C6202B)                            */
/*     Programme by: shen lijun                                            */
/*     2003.6.12                                                           */
/*                                                                         */
/***************************************************************************/
#include <c6x.h> 
#include "edma.h"
#include "intr.h"
#include <stdio.h>
#include <math.h>
#include "sh.h"
#include "Variable.h"
#include "function.h"
#include "timer.h"
void InitEMIF(void)
{   

   /*  CPU clock rate */
   *(int *)EMIF_GCTL =0x70b8; /*ODD*/
   /* CE1 8-bits ROM*/
   *(int *)EMIF_CE1 = 0x4aa22603;/*0xffff3f23;*/
   /* CE0 CE2 SBSRAM */
   *(int *)EMIF_CE0 = 0x11110421;
   *(int *)EMIF_CE2 = 0x11110421;//35231422;         
   /* CE3 DPRAM   */
   *(int *)EMIF_CE3 = 0x40;//0x11520622;
}   

void Initinter(void)
{   	        
	intr_reset();
	intr_hook(dmaserver0,CPU_INT4); 
	intr_hook(dmaserver1,CPU_INT5);
	intr_hook(dmaserver2,CPU_INT6);	              
    INTR_ENABLE(CPU_INT4);        
    INTR_ENABLE(CPU_INT5);
    INTR_ENABLE(CPU_INT6);
    INTR_ENABLE(CPU_INT_NMI);
	INTR_GLOBAL_ENABLE();    
}   
void Dma_Transfer(int dst,int cnt,int src,int pri)
{

 
}
interrupt void dmaserver0(void)
{  	
	*(int*)QDMA_SRC =   0x0000b000;
	*(int*)QDMA_DST =   0xb0000200;
	*(int*)QDMA_CNT =   0x500; 
	*(int*)QDMA_IDX =   0x00000000;
	*(int*)QDMA_S_OPT = 0x29280001;
    return;
} 
interrupt void dmaserver1(void)
{
	
   	
	return;
}
interrupt void dmaserver2(void)
{
//   if(ctr1==4) 
    ctr1=0;
	return;
}



void main()
{
	int i;
	int  *p1;
  
	InitEMIF();	    
    Initinter();
    TOUT_ENABLE(0);
    TOUT_ASSERT(0);
    TOUT_NEGATE(0);

   

    while(1)
    {     
/*   TOUT_ENABLE(1);                                                       
     TOUT_ASSERT(1);    
     p1=(int *)0x90000000;    
     for(i=0;i<100;i++)
      Cfg_Data[i]=p1[i];
     TOUT_NEGATE(1);
 */  
     //read  
     p1=(int *)0xa0300000;    
     for(i=0;i<256;i++)
      TestData[i]=p1[i];
     p1=(int *)0xa0100000;    //BTERM
      TestData[i]=p1[i];
      //write
     p1=(int *)0xa0300000; 
	 p1[53]=0x11111111;

     p1=(int *)0xa0100000;    //BTERM
     TestData[256]=p1[256];    

/*   *(int*)QDMA_SRC =   0xa0300000;
	*(int*)QDMA_DST =   (int)Data2;
	*(int*)QDMA_CNT =   0x100; 
	*(int*)QDMA_IDX =   0x00000000;
	*(int*)QDMA_S_OPT = 0x29280001;
	p1=(int *)0xa0100000;    //BTERM
    TestData[256]=p1[256];
*/    
    }
}

⌨️ 快捷键说明

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