Anisha Kaul wrote:
>>> Thanks for the prompt reply !
>>>
>>> The tasklet I am talking about is supposed to re-set the registers of the
>>> serial port each time an interrupt occurs ! We can do this the following
>>> way in using Linux system calls :
>>>
>>> void resetRegisters (unsigned long currentlyUnused);
>>>
>>> DECLARE_TASKLET  (rs232Tasklet, resetRegisters, 0);
>>>
>>> void resetRegisters (unsigned long currentlyUnused)
>>> {
>>>         outb (0x83, PORT + 3);
>>>         outb (0x01, PORT + 0);
>>>         outb (0x00, PORT + 1);
>>>         outb (0x03, PORT + 3);
>>>         outb (0x01, PORT + 1);
>>>         outb (0x63, PORT + 2);
>>>         outb (0x08, PORT + 4);
>>> }
>> This looks like a weird use of tasklets under mainline. Moreover, they
>> are practically deprecated there.
>>
>>> How am I supposed to do this using Xenomai ?
>> Have you considered simply using the rt_16550A driver for your purpose?
>> You didn't told us your use case from an application POV, so it's hard
>> to say if the driver meets your requirements. But it does not require
>> you fiddling with hardware directly.
>>
>> Jan
> 
> 
> " This looks like a weird use of tasklets under mainline. Moreover, they are 
> practically deprecated there."
> 
> Why do you say this ?

The function you defer from interrupt context into a tasklet is
comparably cheap, specifically on modern systems. So the management
overhead is expect to be in the same dimension as the workload (you do
not gain noticeably shorter IRQ-off times this way).

> 
> " Have you considered simply using the rt_16550A driver for your purpose? "
> 
> I was not aware that a serial port driver for real time does exist ! 
> Secondly, here we are writing a robotic application where we want to stop the 
> robot if we receive data 'x' or move the robot if we receive data 'y'. 
> Can you tell me how can we achieve this functionality with rt_16550A driver.

Check existing examples and the RTDM serial profile documentation.

> Is rt_16550A driver fully stable ?

Yes, it's used, among other things, in robotics for many years.

Jan

-- 
Siemens AG, Corporate Technology, CT SE 2
Corporate Competence Center Embedded Linux

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to