I have try the kernal-3.4.6 with ipipe-core-3.4.6-arm-4.patch
when I set three same Priority tasks I found untill the tasks stop ,the
interrut founction will not run.
It same like before version kernal-2.6.35.9 with
ipipe-core-2.6.35.9-arm-4.patch
static int test_thread(void *data)
{
//phase=ctrl_mnm1221_m();
while(1)
{
if(flag)
{
printk("runting %lld\n",tt3);
flag=0;
}
SLEEP_MILLI_SEC(50);
}
return 0;
}
int irq_handle_function(int irq, void *device_id)
{
//if(phase==PH_RUNNING)
//ctrl_mnm1221_m();
rt_intr_disable(&intr_desc);
tt1=rt_timer_read();
tt3=tt1-tt2;
if(tt3>300000)
flag=1;
tt2=tt1;
rt_intr_enable(&intr_desc);
return RT_INTR_HANDLED;;
}
void taskOne(void*arg)
{
int i;
for (i=0; i < 0xffff; i++)
{
printk("Iam taskOneand global = %d................\n", tt3);
}
}
void taskTwo(void*arg)
{
int i;
for (i=0; i < 0xffff; i++)
{
printk("Iam taskTwo global = %d................\n", tt3);
}
}
void taskThree(void*arg)
{
int i;
for (i=0; i < 0xffff; i++)
{
printk("Iam taskThree global = %d................\n", tt3);
}
}
static int __init rtex_init(void){
irq= gpio_to_irq(MY_GPIO2_14);
/*err=request_irq(irq, irq_handle_function, 0, "rtex", (void
*)&irq);
if(err)
{
printk("regist irq failure...\n");
return -EIO;
}*/
err =
rt_intr_create(&intr_desc,"MyIrq",irq,irq_handle_function,NULL,I_SHARED|I_EDGE);
/* ... */
rt_intr_enable(&intr_desc);
rt_task_create(&t1, "task1", 0, 1, 0);
rt_task_create(&t2, "task2", 0, 1, 0);/* start the two tasks */
rt_task_create(&t3, "task2", 0, 1, 0);/* start the two tasks */
rt_task_start(&t1, &taskOne, 0);
rt_task_start(&t2, &taskTwo, 0);
rt_task_start(&t2, &taskThree, 0);
}
Every 500m gpio send an interrupt.
The result like blow:
tt1=rt_timer_read();
global = tt3=tt1-tt2;
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755.
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Iam taskTwo global = 1610612755................
Irunting 502230
root@freescale /opt$ runting 499995
runting 500025
runting 500115
runting 500055
runting 500025
runting 500025
runting 500010
runting 500085
runting 500010
runting 500025
runting 500055
runting 500010
runting 500055
runting 499905
runting 500460
runting 500085
runting 500070
runting 500070
runting 500010
runting 500010
runting 500085
runting 500025
runting 499980
runting 500070
runting 500040
runting 500025
runting 498735
runting 500040
runting 500025
runting 500025
runting 500220
runting 499995
runting 500010
runting 500055
runting 500010
runting 500055
runting 500025
runting 500085
runting 500025
runting 500055
runting 500025
runting 500010
runting 500100
runting 500085
runting 500010
Then I do not know what should i do next?
在 2013-05-31 13:54:49,"嵌入式工程师" <[email protected]> 写道:
>ok ,thanks,i have a try
>在 2013-05-31 13:32:14,"Gilles Chanteperdrix"
><[email protected]> 写道:
>>On 05/31/2013 03:36 AM, 嵌入式工程师 wrote:
>>
>>> The I-pipe path version is adeos-ipipe-2.6.35.9-arm-1.18-01.patch ,
>>> the kernal version is 2.6.35.9 ,i am so sorry for he details do not speak
>>> clearly
>>
>>
>>Hi,
>>
>>there is no need to send your answer three times either. GPIO irqs are
>>broken with this version of the I-pipe kernel. Please try updating to
>>the I-pipe core patch for Linux 3.4 or 3.5.
>>
>>Regards.
>>
>>--
>> Gilles.
>
>
>_______________________________________________
>Xenomai mailing list
>[email protected]
>http://www.xenomai.org/mailman/listinfo/xenomai
_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai