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