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

📄 ppi.i

📁 基于adsp-bf533的异性纤维检测算法的实现
💻 I
📖 第 1 页 / 共 2 页
字号:




 

 
#line 1 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\yvals.h"
#pragma once

#pragma system_header /* yvals.h */










 



 



















 


#line 74 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\yvals.h"
    
#line 87 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\yvals.h"

#line 111 "D:\\Program Files\\Analog Devices\\VisualDSP 3.5 16-Bit\\Blackfin\\include\\yvals.h"
   typedef long int _Ptrdifft;
   typedef long unsigned int _Sizet;








 


 






   
 

 
 


    

 


 









 
 













 
 
   


 
 












 



 




 


                                




 
 
#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 4 ".\\ppi.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 5 ".\\ppi.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 6 ".\\ppi.c"
extern Plx_dsp_com  dsp2plx;

extern unsigned short *pSDRam;

extern unsigned short *pDspStatus ;

DMA_DESC_PTR_LARGE Dma_desc_ptr_small[3];

void StartPPI();


void Init_PPI(void)
{

	
	*((volatile unsigned short *)0xFFC01010) = 0;
	*((volatile unsigned short *)0xFFC01008) = 4096 -1;
	*((volatile unsigned short *)0xFFC0100C) = 0x0000;
	
	                      

	
	
	
	*((volatile unsigned short *)0xFFC01000) = 0x780c;	
	
	
	
	
	
	
	
	
	
	
	*((volatile unsigned short *)0xFFC00C2C)  = 0x00;
	*((volatile unsigned short *)0xFFC00C08) = 0x7900|0x00000002 | 0x00000004 | 0x00000080 | 0x00000020;
	__builtin_ssync();
	
	*((volatile void * *)0xFFC00C00)   = &Dma_desc_ptr_small[0];
	*((volatile unsigned short *)0xFFC00C08)|=0x1;
	

	

}

void StartPPI()
{









 	
 	

 	
 	*((volatile unsigned short *)0xFFC01000) |=0x00000001;
 	__builtin_ssync();
}

void StopPPI()
{
	*((volatile unsigned short *)0xFFC01000) &=~0x00000001;
	__builtin_ssync();
	
	
	
}

⌨️ 快捷键说明

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