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

📄 hpi16.c

📁 S3c2440硬件测试程序
💻 C
字号:
//====================================================================
// File Name : HPI16.c
// Function  : S3C2440 communicate with DSP6713
// Program   : Kong, In Wook (KIW)
// Date      : May 30, 2002
// Version   : 0.0
// History
//   0.0 : Programming start (May 30,2002) -> KIW
//          Arrangement source code(8/01/2002)-> SOP 
//			Edited for SMDK2440(07/07/2003) -> Junon
//====================================================================

#include <string.h>
#include "def.h"
#include "option.h"
#include "2440addr.h"
#include "2440lib.h"
#include "2440slib.h" 

#include "mmu.h"
#include "HPI16.h"


void HPIC_Write(short data);
long HPIC_Read(void);
void HPIA_Write(long data);
long HPIA_Read(void);
void HPID_AUTO_Write(long data);
long HPID_AUTO_Read(void);
void HPID_FIX_Write(long data);
long HPID_FIX_Read(void);
void HPI16_Test(void);


void HPIC_Write(short data)
{
	HPI16_HPIC_WL=data;
	HPI16_HPIC_WH=data; 
} 

long HPIC_Read(void)
{
	long data=0;
	long datah=0;
	data=HPI16_HPIC_RL;
	datah=HPI16_HPIC_RH;
	data=data+(datah<<16); 
	return(data);
} 

void HPIA_Write(long data)
{
	HPI16_HPIA_WL=data&0xffff;
	HPI16_HPIA_WH=data>>16; 
} 

long HPIA_Read(void)
{
	long data=0;
	long datah=0;
	data=HPI16_HPIA_RL;
	datah=HPI16_HPIA_RH;
	data=data+(datah<<16); 
	return(data);
} 

void HPID_AUTO_Write(long data)
{
	HPI16_HPID_AUTO_WL=data&0xffff;
	HPI16_HPID_AUTO_WH=data>>16; 
} 

long HPID_AUTO_Read(void)
{
	long data=0;
	long datah=0;
	data=HPI16_HPID_AUTO_RL;
	datah=HPI16_HPID_AUTO_RH;
	data=data+(datah<<16); 
	return(data);
} 

void HPID_FIX_Write(long data)
{
	HPI16_HPID_FIX_WL=data & 0xffff;
	HPI16_HPID_FIX_WH=data>>16; 
} 

long HPID_FIX_Read(void)
{
	long data=0;
	long datah=0;
	data=HPI16_HPID_FIX_RL;
	datah=HPI16_HPID_FIX_RH;
	data=data+(datah<<16); 
	return(data);
} 

void HPI16_Test(void)
{
    long i=0xfffff;
   // long j=0;
    
     int HPIC_Initialize=0x5;//清除hint
    // long HPIC_Data_Read=0;
   
     long Data_Read_Addr=0x80000000;
     long Data_Write_Addr=0x80000000;
     //long Data_Auto_Addr=0x80000000;
     
     long HPID_Data_Read=0;
     long HPID_Data_Write=0xaa55aa55;
     
     rBWSCON=rBWSCON|(1<<18)|(0x01<<16);//enable bank4 nWAIT,16 bit DATA BUS    16.12,08.1 
   //rBWSCON=rBWSCON|(1<<22)|(0x01<<20);//enable bank5 nWAIT,16 bit DATA BUS  
   
    //rBANKCON4=(0x10<<13)|(0x10<<11)|(0x101<<8)|(0x11<<6);
     rBANKCON4=(0x10<<13)|(0x100<<8)|(0x11<<6);
     //rBANKCON5=(0x10<<13)|(0x100<<8)|(0x11<<6);   
    Uart_Printf("Communicating with DSP6713,Wating......\n"); 
    ChangeRomCacheStatus(RW_NCNB);
    
    
    //rINTMSK=BIT_ALLMSK;// 10.17.1007.LZY
    
    
   //rGPBDAT=rGPBDAT&0xfffffffe;
     rGPGDAT=rGPBDAT&0xfffffffe;
    
    HPIC_Write(HPIC_Initialize);//HWOB=1;first low
    //Uart_Printf("Write:%x to HPIC\n",HPIC_Initialize);
    //Uart_Printf("Write Data:%8x TO Address:%8X;\n", HPID_Data_Write,Data_Write_Addr);
    Uart_Printf("Read Data From Address:%8X;\n    ",Data_Read_Addr); 
    HPIA_Write(Data_Read_Addr);
   //HPIA_Write(Data_Auto_Addr);
    while(i--)
    {     	
        //HPID_AUTO_Write(0x55aa55aa);        
        /*HPID_Data_Read=HPID_AUTO_Read();
        Uart_Printf(":%8x;\n",HPID_Data_Read);*/
       
      
        HPIA_Write(Data_Write_Addr);
        HPID_FIX_Write(HPID_Data_Write);
        
        HPIA_Write(Data_Read_Addr);
        HPID_Data_Read=HPID_FIX_Read();
        Uart_Printf(":%8x;\n    ",HPID_Data_Read);
        Data_Write_Addr+=0x4;
        Data_Read_Addr+=0x4;
        
        i=i+2;
        i=i-2;
        
     }
}

⌨️ 快捷键说明

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