OS_EVENT *QSemB;
OS_EVENT *QSemC;
OS_EVENT *AppSemSend[MAX_TCP_LINKS];
OS_EVENT *AppSemCon[MAX_TCP_LINKS];
OS_EVENT *AppSemDisc[MAX_TCP_LINKS];
void *QMsgTbB[100];
void *QMsgTbC[100];
void *QMsgTbD[100];
void *QMsgTbE[100];
char rxmsg;
ARPKT arpkt;
IPKT ipkt;
ICMPKT icmpkt;
UDPKT udpkt;
int rfv1,da_d;
OS_STK Main_Stack[TASK_STACK_SIZE]= {0, };
void Main_Task(void *Id);
#define Main_PRIO 20
OS_STK TaskB_Stack[TASK_STACK_SIZE]= {0, };
void TaskB_Task(void *Id);
#define TaskB_PRIO 12
OS_STK TaskC_Stack[TASK_STACK_SIZE]= {0, };
void TaskC_Task(void *Id);
#define TaskC_PRIO 14
void Main_Task(void *Id)
{
GENFRAME *gft;
WORD dtype;
ARMTargetStart();
OSTaskCreate(TaskB_Task, (void *)0, (OS_STK *)&TaskB_Stack[TASK_STACK_SIZE-1], TaskB_PRIO);
OSTaskCreate(TaskC_Task, (void *)0, (OS_STK *)&TaskC_Stack[TASK_STACK_SIZE-1], TaskC_PRIO);
while(1)
{
OS_ENTER_CRITICAL();
OS_EXIT_CRITICAL();
OSTimeDly(100);
}
}
void TaskB_Task(void *pdata) //arp
{
INT8U eer;
ARPKT *arp;
NODE node;
char *jrxmsg=0;
int txlen,ret=0;
while (1)
{
Uart_Printf("do_poll1! ");
OSTimeDly(50);
}
}
void TaskC_Task(void *pdata) //icmp
{
INT8U eer;
IPKT *ip1;
ICMPKT *icmp;
int txlen,len;
NODE node;
char *jrxmsg=0;
Delay(100);
while (1)
{
Uart_Printf("do_poll2!");
OSTimeDly(50);
}
}
void Main(void)
{
ChangePllValue(88,10,0);
rBWSCON=0x11111012; //BANK2 IS 8 BIT MODE
Port_Init();
Uart_Init(0,115200);
Led_Display1(0xf);
Uart_Select(0); //Select UART0//
// Beep(0x1);
Uart_Printf("\n---------------------------------------------------------------");
Beep(0x00);
Uart_Printf("\nOEM name : LiYuTai Elec.Co.,Ltd. ");
Uart_Printf("\nWebsite : www.hzlitai.com.cn ");
Uart_Printf("\nEmail : lyt_tech@yahoo.com.cn ");
Uart_Printf("\nFunction : ARMSYS44b0's Datagram Test Program ");
Uart_Printf("\nUART config: 115.2kbps,8Bit,NP,UART0 ");
Uart_Printf("\n---------------------------------------------------------------");
Uart_Printf("\nS3C44B0X Test Program Ver 2.0 rSYSCFG=0x%x MCLK=%dHz\n",rSYSCFG,MCLK);
Led_Display1(0x0);
Lcd_Init();
ARMTargetInit();//initialize Target
// Init uCOS-II
OSInit();
//Create the Main Task
OSTaskCreate(Main_Task, (void *)0, (OS_STK *)&Main_Stack[TASK_STACK_SIZE-1], Main_PRIO);
QSemB=OSQCreate(&QMsgTbB[0],100);
QSemC=OSQCreate(&QMsgTbC[0],100);
OSStart();
}
以上为主程序的一部分,编译没有问题,上JTAG测试的时候老师出错,单步运行有时出错在一开始,有时出错在OSStart();那里,请高人指点迷津!不甚感激!!!
uC/OSII编程中的问题,程序出错,停在OSStart()那了
答案:1 悬赏:30 手机版
解决时间 2021-01-25 16:36
- 提问者网友:爱了却不能说
- 2021-01-24 20:00
最佳答案
- 五星知识达人网友:未来江山和你
- 2021-01-24 21:35
在什么系统上调试的
是不是汇编部分没有做好
你是在ARM系统上调试的
在arm上调试ucos的时候,OSStart()一运行,就开始启动定时器,二这个定时器是系统运行必须的
jtag无法调试定时器
就是说在jtag下,你只能让UCOS全速运行,无法单步运行
设置断点运行也可以
是不是汇编部分没有做好
你是在ARM系统上调试的
在arm上调试ucos的时候,OSStart()一运行,就开始启动定时器,二这个定时器是系统运行必须的
jtag无法调试定时器
就是说在jtag下,你只能让UCOS全速运行,无法单步运行
设置断点运行也可以
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯