📄 arm9_hpi.h
字号:
#ifndef _ARM_HPI_h_#define _ARM_HPI_h_/*****************接口定义*************************//* DSP端 ARM9端------------------- HCS--HDS1 bnCS3 HBIL ADDR1 HCNTL0 ADDR2 HCNTL1 ADDR3 HD[0...7] DATA[0..7] HR/W# bnWR HDS2 VCC HINT EGPIO7/作为中断用GPIO7INTR HREADY nWait 其他:------------------------------------------------------------------- COM+ ADDR23--PIN26 COM- ADDR24--PIN27 VCC5V PIN1,2 GND PIN59,60-------------------*//*****************宏定义*************************/typedef unsigned int INT32U;typedef unsigned short INT16U;//note://unsigned int 为32bit数据//unsigned char 为8位数据/*****************地址定义,byte地址*************************///针对相应CPU设置HPI基地址 #define HPI_BASE_ADDR 0x30000000 // bnCS3 // bnCS3 HR/W# HCNTL1 HCNTL0 HBIL // A5 A4 A3 A2 A1 A0#define HPI_ADDR_HPIC_LW (HPI_BASE_ADDR+0x0000)#define HPI_ADDR_HPIC_LR (HPI_BASE_ADDR+0x0010)#define HPI_ADDR_HPIC_HW (HPI_BASE_ADDR+0x0020)#define HPI_ADDR_HPIC_HR (HPI_BASE_ADDR+0x0030)#define HPI_ADDR_HPIA_LW (HPI_BASE_ADDR+0x0004)#define HPI_ADDR_HPIA_LR (HPI_BASE_ADDR+0x0014)#define HPI_ADDR_HPIA_HW (HPI_BASE_ADDR+0x0024)#define HPI_ADDR_HPIA_HR (HPI_BASE_ADDR+0x0034) #define HPI_ADDR_HPID_LW (HPI_BASE_ADDR+0x000c)#define HPI_ADDR_HPID_LR (HPI_BASE_ADDR+0x001c)#define HPI_ADDR_HPID_HW (HPI_BASE_ADDR+0x002c)#define HPI_ADDR_HPID_HR (HPI_BASE_ADDR+0x003c)#define HPI_ADDR_HPID_ALW (HPI_BASE_ADDR+0x0008) //地址自动增加模式#define HPI_ADDR_HPID_ALR (HPI_BASE_ADDR+0x0018) //地址自动增加模式#define HPI_ADDR_HPID_AHW (HPI_BASE_ADDR+0x0028) #define HPI_ADDR_HPID_AHR (HPI_BASE_ADDR+0x0038) /*****************MASK定义*************************///HPIC#define HINT_H 18#define DSPINT_H 17#define BOB_H 16#define HINT 2#define DSPINT 1#define BOB 0#define Addr_Read(addr) (*(volatile INT32U *)(addr)&0x0000ffff)#define Addr_Write(addr,d) (*(volatile INT32U *)addr = (d&0x0000ffff))/*****************读写数据起始地址与长度,待定*************************///ARM发送到DSP的控制命令起始地址#define ARM9CMD_ADDR 0x7C00 //占用7C00-7F7F共896字,使用0--50字//DSP传送到ARM9的雷达数据起始地址#define DSPDATA_ADDR 0x7000 //占用7000-7c00共3072字,使用200-字#define DSPDATA_LEN 132 //按照字WORD计算#define DSPHPIC_BOB 0 //固定为采用BOB=0方式/*****************顶层调用函数*************************///初始化HPIC,设置之后不再改变,b=0/BOB=0;b=1/BOB=1;调用时用0做参数。void Init_HPIC(INT32U b); //向DSP写入数据,addr=ARM9CMD_ADDR,len=根据命令决定void Write_DSP_Data(INT32U addr,INT32U *p ,INT32U len);//读取HPI数据,addr=DSPDATA_ADDR,len=DSPDATA_LEN。void Read_DSP_Data(INT32U addr,INT32U *p ,INT32U len);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -