📄 plx9054_bf533_test.i
字号:
#line 217 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\yvals.h"
#line 232 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\yvals.h"
#line 265 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\yvals.h"
typedef unsigned int _Wintt;
typedef unsigned int _Wchart;
#line 304 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\yvals.h"
typedef char * va_list;
typedef va_list _Va_list;
#line 324 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\yvals.h"
#line 334 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\yvals.h"
typedef long long _Longlong;
typedef unsigned long long _ULonglong;
#line 342 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\yvals.h"
extern "C" {
void _Atexit(void (*)(void));
}
typedef struct _Mbstatet {
_Wchart _Wchar;
char _State;
} _Mbstatet;
typedef struct _Fpost {
long _Off;
_Mbstatet _Wstate;
} _Fpost;
#line 372 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\yvals.h"
#line 394 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\yvals.h"
#line 406 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\yvals.h"
#line 21 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\stdlib.h"
typedef _Sizet size_t;
typedef _Wchart wchar_t;
#line 1 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\stdlib_bf.h"
#pragma once
#pragma system_header /* stdlib_bf.h */
void * _heap_calloc(int, size_t, size_t);
void _heap_free(int, void *);
void * _heap_malloc(int, size_t);
void * _heap_realloc(int, void *, size_t);
int _heap_init(int);
int _heap_install(void *, size_t, int);
int _heap_lookup(int);
#line 50 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\stdlib_bf.h"
#line 61 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\stdlib.h"
#line 80 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\stdlib.h"
typedef struct
{
int quot;
int rem;
} div_t;
typedef struct
{
long quot;
long rem;
} ldiv_t;
extern "C" {
void _Exit(void) ;
void exit(int) ;
char * getenv(const char *);
int system(const char *);
}
void __builtin_abort(void) ;
void abort(void) ;
int __builtin_abs(int);
void * calloc(size_t, size_t);
div_t div(int, int);
void free(void *);
long labs(long);
ldiv_t ldiv(long, long);
void * malloc(size_t);
int mblen(const char *, size_t);
size_t mbstowcs(wchar_t *, const char *, size_t);
int mbtowc(wchar_t *, const char *, size_t);
int rand(void);
void srand(unsigned int);
void * realloc(void *, size_t);
long strtol(const char *, char **, int);
size_t wcstombs(char *, const wchar_t *, size_t);
int wctomb(char *, wchar_t);
#line 153 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\stdlib.h"
unsigned long _Stoul(const char *, char **, int);
float _Stof(const char *, char **, long);
double _Stod(const char *, char **, long);
long double _Stold(const char *, char **, long);
_Longlong _Stoll(const char *, char **, int);
_ULonglong _Stoull(const char *, char **, int);
extern size_t _Getmbcurmax(void);
#line 234 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\stdlib.h"
typedef int _Cmpfun(const void *, const void *);
int atexit(void (*)(void));
void * bsearch(const void *, const void *, size_t, size_t, _Cmpfun *);
void qsort(void *, size_t, size_t, _Cmpfun *);
double atof(const char *);
int atoi(const char *);
long atol(const char *);
double strtod(const char *, char **);
unsigned long strtoul(const char *, char **, int);
#line 253 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\stdlib.h"
#line 276 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\stdlib.h"
#line 19 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\ccblkfn.h"
short __builtin_ones(int _x);
short __builtin_lvitmax1x16res1(int _x, int _y);
short __builtin_rvitmax1x16res1(int _x, int _y);
int __builtin_lvitmax2x16res1(int _x, int _y, int _z);
int __builtin_rvitmax2x16res1(int _x, int _y, int _z);
int __builtin_vitmaxres1x16(short _x);
int __builtin_vitmaxres2x16(int _x);
short __builtin_expadj1x32(int _x, short _y);
short __builtin_expadj2x16(int _x, short _y);
short __builtin_expadj1x16(short _x, short _y);
int __builtin_divs(int _x, int _y);
int __builtin_divq(int _x, int _y);
void __builtin_idle();
void __builtin_halt();
void __builtin_abort();
void __builtin_ssync();
void __builtin_csync();
unsigned __builtin_cli();
void __builtin_sti(unsigned);
void __builtin_raise(int);
void __builtin_excpt(int);
int __builtin_sysreg_read(int);
void __builtin_sysreg_write(int,int);
long long __builtin_sysreg_read64(int);
void __builtin_sysreg_write64(int,long long);
void *__builtin_alloca(int);
long __builtin_circindex(long, long, unsigned long);
void *__builtin_circptr(const void *, long, const void *, unsigned long);
long long __builtin_bitmux_shr_res1(long long, int, int);
int __builtin_bitmux_shr_res2(long long);
int __builtin_bitmux_shr_res3(long long);
long long __builtin_bitmux_shl_res1(long long, int, int);
int __builtin_bitmux_shl_res2(long long);
int __builtin_bitmux_shl_res3(long long);
#line 78 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\ccblkfn.h"
#line 91 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\ccblkfn.h"
#line 140 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\ccblkfn.h"
#line 6 ".\\plx9054_bf533_test.c"
#line 1 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\sys\\exception.h"
#pragma once
#pragma system_header /* exception.h */
#line 76 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\sys\\exception.h"
#line 94 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\sys\\exception.h"
typedef enum {
ik_err=-1,
ik_emulation,
ik_reset,
ik_nmi,
ik_exception,
ik_global_int_enable,
ik_hardware_err,
ik_timer,
ik_ivg7,
ik_ivg8,
ik_ivg9,
ik_ivg10,
ik_ivg11,
ik_ivg12,
ik_ivg13,
ik_ivg14,
ik_ivg15,
num_interrupt_kind
} interrupt_kind;
typedef struct {
int r0x, r1x, r2x;
struct {
int lb1, lb0, lt1, lt0, lc1, lc0;
int a1, a1x, a0, a0x, cc;
int l3,l2,l1,l0,b3,b2,b1,b0;
int m3;
int m2,m1,m0,i3,i2,i1,i0;
} _inaccessible;
int p5, p4, p3, p2, p1, p0;
int r7, r6, r5, r4, r3, r2, r1, r0;
int fp;
int astat;
} interrupt_regs;
typedef struct {
interrupt_kind kind;
int value;
void *pc;
void *addr;
unsigned status;
interrupt_regs *regsaddr;
} interrupt_info;
typedef void (*ex_handler_fn)(int, int, int);
#line 210 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\sys\\exception.h"
void get_interrupt_info(interrupt_kind, interrupt_info *);
void _ex_report_event(interrupt_info *);
ex_handler_fn register_handler(interrupt_kind, ex_handler_fn);
int raise_interrupt(interrupt_kind kind, int which,
int cmd, int arg1, int arg2);
#line 7 ".\\plx9054_bf533_test.c"
#line 1 "plx9054_bf533_test.h"
#line 17 "plx9054_bf533_test.h"
typedef struct __Plx_dsp_com{
unsigned short L1ToSdramBank;
unsigned long pL1ToSdramAddr;
unsigned long L1ToSdramOffset;
unsigned short NumberOfPpibuf;
unsigned short NumberCalculationbuf;
unsigned short firtPpiInterrupt;
unsigned long pSdramToFPGA;
unsigned long SdramToFPGAOffset;
unsigned short SdramToFPGABank;
}Plx_dsp_com;
typedef struct _DMA_DESC_PTR_LARGE{
unsigned short NDPL;
unsigned short NDPH;
unsigned short SAL;
unsigned short SAH;
unsigned short DMACFG;
unsigned short XCNT;
unsigned short XMOD;
unsigned short YCNT;
unsigned short YMOD;
}DMA_DESC_PTR_LARGE;
typedef struct _DMA_DESC_PTR_SMALL{
unsigned short NDPL;
unsigned short SAL;
unsigned short SAH;
unsigned short XCNT;
unsigned short XMOD;
unsigned short YCNT;
unsigned short YMOD;
}DMA_DESC_PTR_SMALL;
#line 8 ".\\plx9054_bf533_test.c"
#line 1 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\signal.h"
#line 1 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\sys/signal_bf.h"
#pragma once
#pragma system_header /* signal_bf.h */
extern "C" {
void (*interrupt(int, void (*_func)(int))) (int);
}
#line 25 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\signal.h"
typedef int sig_atomic_t;
typedef void _Sigfun(int);
#line 67 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\signal.h"
extern "C" {
_Sigfun * signal(int, _Sigfun *);
}
int raise(int);
#line 10 ".\\plx9054_bf533_test.c"
void initEbiu(void);
void initPFLAGS(void);
void Init_Interrupts(void);
void Init_DMA(void);
void Init_SDRAM(void);
void Init_PPI(void);
unsigned short *pAMS0 = (unsigned short*)0x20000000;
unsigned short *pAMS1 = (unsigned short*)0x20100000;
unsigned short *pAMS2 = (unsigned short*)0x20200000;
unsigned short *pAMS3 = (unsigned short*)0x20300000;
unsigned short *pRead = (unsigned short*)0x20100000;
unsigned short *pWrite = (unsigned short*)0x20100000;
unsigned short *pInt9054 = (unsigned short*)0x20000004;
unsigned short *pSDRam = (unsigned short*)0x00000000;
unsigned short *pDspStatus = (unsigned short*)0x20300004;
unsigned short *pPenfaReg = (unsigned short*)0x20200004;
extern Plx_dsp_com dsp2plx;
extern DMA_DESC_PTR_LARGE Dma_desc_ptr_small[3];
__section("myl1_buffer") unsigned short Parameter[10];
__section("myl1_buffer1") unsigned short Ppibuf0[4096];
__section("myl1_buffer2") unsigned short Ppibuf1[4096];
__section("myl1_buffer3") unsigned short Ppibuf2[4096];
void delay(void)
{
unsigned char i ,j;
for( i = 0 ; i < 100 ; i++)
{
;
}
}
void InitVar()
{
unsigned long j ;
unsigned char i;
i=0;
for( j = 0 ; j <2048;j++)
{
pWrite[j] = 0;
pSDRam[j] = 0;
i++;
}
for(;j<1024*1024*16;j++)
{
pSDRam[j] = 0;
i++;
}
*pDspStatus = 0;
dsp2plx.L1ToSdramBank = 0;
dsp2plx.pSdramToFPGA = (unsigned long)pSDRam;
dsp2plx.SdramToFPGAOffset = 0;
dsp2plx.SdramToFPGABank = 0;
dsp2plx.pL1ToSdramAddr =0;
dsp2plx.L1ToSdramOffset = 0;
dsp2plx.NumberOfPpibuf = 0;
dsp2plx.NumberCalculationbuf = 0;
dsp2plx.firtPpiInterrupt = 0;
Dma_desc_ptr_small[0].NDPL = (int)&Dma_desc_ptr_small[1]&0xffff;
Dma_desc_ptr_small[0].NDPH = ((int)&Dma_desc_ptr_small[1]&0xffff0000)>>16;
Dma_desc_ptr_small[0].SAL = (int)(&Ppibuf0)&0xffff;
Dma_desc_ptr_small[0].SAH = ((int)&Ppibuf0&0xffff0000)>>16;
Dma_desc_ptr_small[0].DMACFG = (0x7<<12)|(0x9<<8)|0x00000002 | 0x00000004 | 0x00000080 | 0x00000020|0x1;
Dma_desc_ptr_small[0].XCNT = 4096;
Dma_desc_ptr_small[0].XMOD = 2;
Dma_desc_ptr_small[0].YCNT = 0;
Dma_desc_ptr_small[0].YMOD = 0;
Dma_desc_ptr_small[1].NDPL = 0xffff&(int)&Dma_desc_ptr_small[2];
Dma_desc_ptr_small[1].NDPH = ((int)&Dma_desc_ptr_small[2]&0xffff0000)>>16;
Dma_desc_ptr_small[1].SAL = (int)&Ppibuf1&0xffff;
Dma_desc_ptr_small[1].SAH = ((int)&Ppibuf1&0xffff0000)>>16;
Dma_desc_ptr_small[1].DMACFG = (0x7<<12)|(0x9<<8)|0x00000002 | 0x00000004 | 0x00000080 | 0x00000020|0x1;
Dma_desc_ptr_small[1].XCNT = 4096;
Dma_desc_ptr_small[1].XMOD = 2;
Dma_desc_ptr_small[1].YCNT = 0;
Dma_desc_ptr_small[1].YMOD = 0;
Dma_desc_ptr_small[2].NDPL = 0xffff&(int)&Dma_desc_ptr_small[0];
Dma_desc_ptr_small[2].NDPH = ((int)&Dma_desc_ptr_small[0]&0xffff0000)>>16;
Dma_desc_ptr_small[2].SAL = (int)&Ppibuf2&0xffff;
Dma_desc_ptr_small[2].SAH = ((int)&Ppibuf2&0xffff0000)>>16;
Dma_desc_ptr_small[2].DMACFG = (0x7<<12)|(0x9<<8)|0x00000002 | 0x00000004 | 0x00000080 | 0x00000020|0x1;
Dma_desc_ptr_small[2].XCNT = 4096;
Dma_desc_ptr_small[2].XMOD = 2;
Dma_desc_ptr_small[2].YCNT = 0;
Dma_desc_ptr_small[2].YMOD = 0;
}
void TestRead()
{
}
void main(void)
{
int i = 2,j,k;
unsigned short reg;
unsigned short tempNumberOfPpibuf;
unsigned long StartAddrL1;
*((volatile unsigned short *)0xFFC00000) = 0x0001|((40)<<9);
reg = __builtin_cli();
__builtin_idle();
__builtin_sti(reg);
initEbiu();
initPFLAGS();
Init_SDRAM();
InitVar();
Init_Interrupts();
Init_DMA();
Init_PPI();
while(1)
{
if(dsp2plx.firtPpiInterrupt&0x0001 )
{
tempNumberOfPpibuf = dsp2plx.NumberOfPpibuf;
for( i = 0 ; i < 416666;i++)
{
}
switch (dsp2plx.NumberCalculationbuf)
{
case 0: StartAddrL1 = &Ppibuf0;
break;
case 1: StartAddrL1 = &Ppibuf1;
break;
case 2: StartAddrL1 = &Ppibuf2;
break;
default:
}
dsp2plx.pL1ToSdramAddr = (unsigned long)( pSDRam+dsp2plx.L1ToSdramBank*4*1024*1024)+dsp2plx.L1ToSdramOffset;
L1DMASdram(StartAddrL1,dsp2plx.pL1ToSdramAddr);
while(tempNumberOfPpibuf == dsp2plx.NumberOfPpibuf);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -