📄 memtest.c
字号:
for(i=1;i<16;i++) CheckBytes[i]=addr1[i];
//OS_EXIT_CRITICAL();
if(CheckBytes[TASK_13_PRIO]!=TASK_13_PRIO
|| CheckBytes[TASK_12_PRIO]!=TASK_12_PRIO
|| CheckBytes[TASK_11_PRIO]!=TASK_11_PRIO
|| CheckBytes[TASK_10_PRIO]!=TASK_10_PRIO
|| CheckBytes[TASK_9_PRIO]!=TASK_9_PRIO){
CheckBytes[0]=TASK_9_PRIO;
LoopForTest();
}
OSQPost(MsgQueue[TASK_8_PRIO],addr1);
for(i=0;i<16;i++) msg[i]=0xEE;
OSMemPut(MemPtr,msg);
*/
}
}
//===================================================================
void Task10 (void *data)
{
rom INT8U *msg;
INT8U err;
rom INT8U *addr1;
INT8U i;
data = data;
for (;;) {
/* addr1=OSMemGet(MemPtr,&err);
if(err!=OS_NO_ERR){
CheckBytes[0]=TASK_10_PRIO+64;
CheckAddr=addr1;
LoopForTest();
}
msg = (rom INT8U *)OSQPend(MsgQueue[TASK_10_PRIO],0, &err);
err=OSMemPut(MemPtr,addr1);
if(err!=OS_NO_ERR){
CheckBytes[0]=TASK_10_PRIO+32;
CheckAddr=msg;
LoopForTest();
}
*/
msg = (rom INT8U *)OSQPend(MsgQueue[TASK_10_PRIO],0, &err);
// if((unsigned short long)msg<0x11a006 || (unsigned short long)msg>=0x11C006
if((unsigned short long)msg<0x11a006 || (unsigned short long)msg>=0x11C006){
CheckBytes[0]=TASK_10_PRIO+64;
CheckBytes[1]=err;
CheckAddr=msg;
LoopForTest();
}
else if(msg[TASK_11_PRIO]!=TASK_11_PRIO
|| msg[TASK_12_PRIO]!=TASK_12_PRIO
|| msg[TASK_13_PRIO]!=TASK_13_PRIO){
CheckBytes[0]=TASK_10_PRIO;
CheckBytes[1]=err;
for(i=1;i<14;i++) CheckBytes[i+1]=msg[i];
CheckAddr=msg;
//CheckBytes[1]=(INT8U)((msg>>16)&0xff);
//CheckBytes[2]=(INT8U)((msg>>8)&0xff);
//CheckBytes[3]=(INT8U)(msg&0xff);
LoopForTest();
}
else{
addr1=OSMemGet(MemPtr,&err);
for(i=1;i<16;i++) addr1[i]=0xEE;
if(err!=OS_NO_ERR){
CheckBytes[0]=TASK_10_PRIO+80;
CheckAddr=addr1;
LoopForTest();
}
msg[TASK_10_PRIO]=TASK_10_PRIO;
for(i=1;i<16;i++) addr1[i]=msg[i];
OSQPost(MsgQueue[TASK_9_PRIO],addr1);
err=OSMemPut(MemPtr,msg);
if(err!=OS_NO_ERR){
CheckBytes[0]=TASK_10_PRIO+96;
CheckAddr=msg;
LoopForTest();
}
// msg[TASK_10_PRIO]=TASK_10_PRIO;
// OSQPost(MsgQueue[TASK_9_PRIO],msg);
}
/* //OS_ENTER_CRITICAL();
for(i=1;i<16;i++) CheckBytes[i]=msg[i];
//OS_EXIT_CRITICAL();
if(CheckBytes[TASK_13_PRIO]!=TASK_13_PRIO
|| CheckBytes[TASK_12_PRIO]!=TASK_12_PRIO
|| CheckBytes[TASK_11_PRIO]!=TASK_11_PRIO){
CheckBytes[0]=TASK_10_PRIO+16;
LoopForTest();
}
addr1=OSMemGet(MemPtr,&err);
for(i=0;i<16;i++){
addr1[i]=msg[i];
}
addr1[TASK_10_PRIO]=TASK_10_PRIO;
//OS_ENTER_CRITICAL();
for(i=1;i<16;i++) CheckBytes[i]=addr1[i];
//OS_EXIT_CRITICAL();
if(CheckBytes[TASK_13_PRIO]!=TASK_13_PRIO
|| CheckBytes[TASK_12_PRIO]!=TASK_12_PRIO
|| CheckBytes[TASK_11_PRIO]!=TASK_11_PRIO
|| CheckBytes[TASK_10_PRIO]!=TASK_10_PRIO){
CheckBytes[0]=TASK_10_PRIO;
LoopForTest();
}
OSQPost(MsgQueue[TASK_9_PRIO],addr1);
for(i=0;i<16;i++) msg[i]=0xEE;
OSMemPut(MemPtr,msg);
*/
}
}
//===================================================================
void Task11 (void *data)
{
rom INT8U *msg;
INT8U err;
rom INT8U *addr1;
INT8U i;
data = data;
for (;;) {
/* addr1=OSMemGet(MemPtr,&err);
if(err!=OS_NO_ERR){
CheckBytes[0]=TASK_11_PRIO+64;
CheckAddr=addr1;
LoopForTest();
}
msg = (rom INT8U *)OSQPend(MsgQueue[TASK_11_PRIO],0, &err);
err=OSMemPut(MemPtr,addr1);
if(err!=OS_NO_ERR){
CheckBytes[0]=TASK_11_PRIO+32;
CheckAddr=msg;
LoopForTest();
}
*/
msg = (rom INT8U *)OSQPend(MsgQueue[TASK_11_PRIO],0, &err);
if((unsigned short long)msg<0x11a006 || (unsigned short long)msg>=0x11C006){
CheckBytes[0]=TASK_11_PRIO+64;
CheckBytes[1]=err;
CheckAddr=msg;
LoopForTest();
}
else if(msg[TASK_12_PRIO]!=TASK_12_PRIO
|| msg[TASK_13_PRIO]!=TASK_13_PRIO){
CheckBytes[0]=TASK_11_PRIO;
CheckBytes[1]=err;
for(i=1;i<14;i++) CheckBytes[i+1]=msg[i];
CheckAddr=msg;
LoopForTest();
}
else{
addr1=OSMemGet(MemPtr,&err);
for(i=1;i<16;i++) addr1[i]=0xEE;
if(err!=OS_NO_ERR){
CheckBytes[0]=TASK_11_PRIO+80;
CheckAddr=addr1;
LoopForTest();
}
msg[TASK_11_PRIO]=TASK_11_PRIO;
for(i=1;i<16;i++) addr1[i]=msg[i];
OSQPost(MsgQueue[TASK_10_PRIO],addr1);
err=OSMemPut(MemPtr,msg);
if(err!=OS_NO_ERR){
CheckBytes[0]=TASK_11_PRIO+96;
CheckAddr=msg;
LoopForTest();
}
// msg[TASK_11_PRIO]=TASK_11_PRIO;
// OSQPost(MsgQueue[TASK_10_PRIO],msg);
}
/*
//OS_ENTER_CRITICAL();
for(i=1;i<16;i++) CheckBytes[i]=msg[i];
//OS_EXIT_CRITICAL();
if(CheckBytes[TASK_13_PRIO]!=TASK_13_PRIO
|| CheckBytes[TASK_12_PRIO]!=TASK_12_PRIO){
CheckBytes[0]=TASK_11_PRIO+16;
LoopForTest();
}
addr1=OSMemGet(MemPtr,&err);
addr1[TASK_11_PRIO]=TASK_11_PRIO;
for(i=0;i<16;i++){
addr1[i]=msg[i];
}
//OS_ENTER_CRITICAL();
for(i=1;i<16;i++) CheckBytes[i]=addr1[i];
//OS_EXIT_CRITICAL();
if(CheckBytes[TASK_13_PRIO]!=TASK_13_PRIO
|| CheckBytes[TASK_12_PRIO]!=TASK_12_PRIO
|| CheckBytes[TASK_11_PRIO]!=TASK_11_PRIO){
CheckBytes[0]=TASK_11_PRIO;
LoopForTest();
}
OSQPost(MsgQueue[TASK_10_PRIO],addr1);
for(i=0;i<16;i++) msg[i]=0xEE;
OSMemPut(MemPtr,msg);
*/
}
}
//===================================================================
void Task12 (void *data)
{
rom INT8U *msg;
INT8U err;
rom INT8U *addr1;
INT8U i;
unsigned short long slint;
data = data;
for (;;) {
/* addr1=OSMemGet(MemPtr,&err);
if(err!=OS_NO_ERR){
CheckBytes[0]=TASK_12_PRIO+64;
CheckAddr=addr1;
LoopForTest();
}
msg = (rom INT8U *)OSQPend(MsgQueue[TASK_12_PRIO],0, &err);
err=OSMemPut(MemPtr,addr1);
if(err!=OS_NO_ERR){
CheckBytes[0]=TASK_12_PRIO+32;
CheckAddr=msg;
LoopForTest();
}
*/
msg = (rom INT8U *)OSQPend(MsgQueue[TASK_12_PRIO],0, &err);
if(err!=OS_NO_ERR){
CheckBytes[0]=TASK_12_PRIO+32;
CheckBytes[1]=err;
for(i=1;i<14;i++) CheckBytes[i+1]=msg[i];
CheckAddr=msg;
LoopForTest();
}
// slint=(unsigned short long)msg;
// if(slint<0x11a006 || slint>=0x11c006){
// CheckBytes[0]=TASK_13_PRIO+64;
// CheckBytes[1]=0xe1;
// CheckAddr=msg;
// LoopForTest();
// }
// err=(INT8U)(slint & 0xff);
// if(err!=6){
// CheckBytes[0]=TASK_13_PRIO+128;
// CheckBytes[1]=0xe2;
// CheckAddr=msg;
// LoopForTest();
// }
/*
//OS_ENTER_CRITICAL();
for(i=1;i<16;i++) CheckBytes[i]=msg[i];
//OS_EXIT_CRITICAL();
if(CheckBytes[TASK_13_PRIO]!=TASK_13_PRIO){
CheckBytes[0]=TASK_12_PRIO+16;
LoopForTest();
}
addr1=OSMemGet(MemPtr,&err);
for(i=0;i<16;i++){
addr1[i]=msg[i];
}
addr1[TASK_12_PRIO]=TASK_12_PRIO;
//OS_ENTER_CRITICAL();
for(i=1;i<16;i++) CheckBytes[i]=addr1[i];
//OS_EXIT_CRITICAL();
if(CheckBytes[TASK_13_PRIO]!=TASK_13_PRIO
|| CheckBytes[TASK_12_PRIO]!=TASK_12_PRIO){
CheckBytes[0]=TASK_12_PRIO;
LoopForTest();
}
OSQPost(MsgQueue[TASK_11_PRIO],addr1);
for(i=0;i<16;i++) msg[i]=0xEE;
OSMemPut(MemPtr,msg);
*/
// if(msg!=(rom INT8U *)0x11a000){
if((unsigned short long)msg<0x11a006 || (unsigned short long)msg>=0x11C006){
CheckBytes[0]=TASK_12_PRIO+64;
CheckBytes[1]=err;
CheckAddr=msg;
LoopForTest();
}
else if(msg[TASK_13_PRIO]!=TASK_13_PRIO){
CheckBytes[0]=TASK_12_PRIO;
CheckBytes[1]=err;
CheckAddr=msg;
for(i=1;i<14;i++) CheckBytes[i+1]=msg[i];
LoopForTest();
}
else{
addr1=OSMemGet(MemPtr,&err);
for(i=1;i<16;i++) addr1[i]=0xEE;
if(err!=OS_NO_ERR){
CheckBytes[0]=TASK_12_PRIO+80;
CheckAddr=addr1;
LoopForTest();
}
msg[TASK_12_PRIO]=TASK_12_PRIO;
for(i=1;i<16;i++) addr1[i]=msg[i];
OSQPost(MsgQueue[TASK_11_PRIO],addr1);
err=OSMemPut(MemPtr,msg);
if(err!=OS_NO_ERR){
CheckBytes[0]=TASK_12_PRIO+96;
CheckAddr=msg;
LoopForTest();
}
// msg[TASK_12_PRIO]=TASK_12_PRIO;
// OSQPost(MsgQueue[TASK_11_PRIO],msg);
}
}
}
//===================================================================
void Task13 (void *data)
{
rom INT8U *msg;
INT8U err;
INT8U i;
rom INT8U *addr1;
unsigned short long slint;
INT16U blocks;
blocks=0;
data = data;
for (;;) {
OSTimeDly(50); /* Wait one second */
/* addr1=OSMemGet(MemPtr,&err);
addr1[TASK_13_PRIO]=TASK_13_PRIO;
//OS_ENTER_CRITICAL();
CheckBytes[TASK_13_PRIO]=addr1[TASK_13_PRIO];
//OS_EXIT_CRITICAL();
if(CheckBytes[TASK_13_PRIO]!=TASK_13_PRIO){
CheckBytes[0]=TASK_13_PRIO;
LoopForTest();
}
OSQPost(MsgQueue[TASK_12_PRIO],addr1);//(rom INT8U *)one);
*/
/* for(i=0;i<blocks;i++){
UnusedMem[i]=OSMemGet(MemPtr,&err);
if(err!=OS_NO_ERR){
CheckBytes[0]=TASK_13_PRIO+32;
// CheckAddr=msg;
LoopForTest();
}
}
// msg=(rom INT8U *)0x11a000;
*/
// addr1=OSMemGet(MemPtr,&err);
// if(err!=OS_NO_ERR){
// CheckBytes[0]=TASK_13_PRIO+80;
// CheckAddr=addr1;
// LoopForTest();
// }
msg=OSMemGet(MemPtr,&err);
// msg=(rom INT8U *)0x11a006; //OSMemGet(MemPtr,&err);
/* if(err!=OS_NO_ERR){
CheckBytes[0]=TASK_13_PRIO+32;
CheckBytes[1]=err;
CheckAddr=msg;
LoopForTest();
}
*/ slint=(unsigned short long)msg;
if(slint<0x11a006 || slint>=0x11c006){
CheckBytes[0]=TASK_13_PRIO+64;
CheckBytes[1]=0xe1;
CheckAddr=msg;
LoopForTest();
}
err=(INT8U)(slint & 0xff);
if(err!=6){
CheckBytes[0]=TASK_13_PRIO+128;
CheckBytes[1]=0xe2;
CheckAddr=msg;
LoopForTest();
}
// msg=(rom INT8U *)(0x11a006+(blocks>>1));
// blocks++;
// if(blocks>377)
// {
// blocks++;
// blocks--;
// blocks=0;
// }
// err=OSMemPut(MemPtr,addr1);
// if(err!=OS_NO_ERR){
// CheckBytes[0]=TASK_13_PRIO+96;
// CheckAddr=addr1;
// LoopForTest();
// }
/*
for(i=0;i<blocks;i++){
err=OSMemPut(MemPtr,UnusedMem[i]);
if(err!=OS_NO_ERR){
CheckBytes[0]=TASK_13_PRIO+128;
CheckAddr=UnusedMem[i];
LoopForTest();
}
}
blocks++;
if(blocks>=32) blocks=0;
*/
for(i=0;i<32;i++) msg[i]=0xee;
msg[TASK_13_PRIO]=TASK_13_PRIO;
OSQPost(MsgQueue[TASK_12_PRIO],msg);
}
}
//===================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -