📄 b1553.c
字号:
/* includes */
#include "vxWorks.h"
#include "stdio.h"
#include "stdlib.h"
#include "semLib.h"
#include "taskLib.h"
#include "iolib.h"
#include "hostLib.h"
#include "inetLib.h"
#include "socket.h"
#include "netShow.h"
#include "in.h"
#include "netinet/ip.h"
#include "intLib.h"
#include "arch/i86/ivI86.h"
#include "config.h"
#define INCLUDE_SYSCLK_INT
#define STACK_SIZE 40000
#define drambase 0xd0000
#define dramsem 0xd4000
#define dram(t) (drambase+(0x200*t))
#define INTR 0Xd3ffe
#define sem(t) (dramsem+2*t)
unsigned short aa[300];
unsigned short bb[300];
int tidramtest;
void dramtest();
STATUS progStart(void)
{
tidramtest = taskSpawn ("tdramtest", 200, 0, STACK_SIZE,
(FUNCPTR)dramtest,0,0,0,0,0,0,0,0,0,0);
return(OK);
}
void dramtest()
{
unsigned char m;
int k,l;
unsigned short volatile *semp;
int j;
j=0;
l=0;
taskDelay(sysClkRateGet()*4);
FOREVER{
unsigned short volatile *dual = (unsigned short volatile *) dram(j);
unsigned short volatile *intright= (unsigned short volatile *) INTR;
m=j/4;
semp=(unsigned short volatile *) sem(m);
for(k=0;k<256;k++)
aa[k]=k+j+1000*(j/4+1);
for(k=0;k<256;k++)
{*(dual+k)=aa[k];}
for(k=0;k<256;k++)
{bb[k]=*(dual+k);}
printf("%d: %x : \t",j,dual);
if(j==15||j==31)
{
*intright=12345;
printf("Right int set, %x %d\n\n",intright,*intright);
taskDelay(sysClkRateGet()*4);
};
*semp=0;
printf("%x: %x : \n",semp,*semp);
for(k=0;k<256;k++)
{ /* printf("%d %x ",bb[k],(unsigned short *)(dual+k));*/
printf("%d ",*(dual+k));}
printf("\n\n");
/*for(k=0;k<32;k++)
{ printf("%d %x ",bb[k],(unsigned short *)(dual+k));
printf("%d ",bb[k]);}
printf("\n\n");*/
j=j+1;
if(j==32)
{
printf("time %d \n",l);
j=0;
l=l+1;
taskDelay(sysClkRateGet()*4);
}
taskDelay(sysClkRateGet()*4);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -