Presentation is loading. Please wait.

Presentation is loading. Please wait.

RTLINUX/RTFIFO and Tcl/Tk Nishant Upadhyaya Maung Wynn Aung Han Professor Insup Lee CIS642: Seminar in Real-time Systems University of Pennsylvania.

Similar presentations


Presentation on theme: "RTLINUX/RTFIFO and Tcl/Tk Nishant Upadhyaya Maung Wynn Aung Han Professor Insup Lee CIS642: Seminar in Real-time Systems University of Pennsylvania."— Presentation transcript:

1 RTLINUX/RTFIFO and Tcl/Tk Nishant Upadhyaya Maung Wynn Aung Han Professor Insup Lee CIS642: Seminar in Real-time Systems University of Pennsylvania

2 Objectives  To develop a Real-Time Extensions for Tcl-Tk that interfaces with RT Tasks through RT-FIFO  To exploit the power of Tcl-Tk and X-Window for fast RT application development

3 What is RT-FIFO?  RT-FIFO are located in kernel address space  RT-FIFO are character device interfaces acting as pipes between RT and non-RT tasks  Used for Inter-Process Communication (IPC) RT-Kernel RT-FIFO Linux ProcessRT Processes X-WindowLinux Kernel DisplayDiskDevices Software level Hardware level Data

4 RT-FIFO (contd.)  RT-FIFO is unidirectional by default  Number of FIFO is fixed and can only be changed in the RT Kernel source code RT Kernel SpaceStd Linux Space RT Task non-RT Task RT-FIFO

5 RT-FIFO (contd.)  Data transfer rate is about 100MB/sec in a modern x86  RT-FIFO functions are non-blocking and atomic on RT side (avoids priority inversion)  Standard Linux processes see it as standard character device  They are in /dev file system and named as /dev/rtfx where x is FIFO ID integer number.

6 RT-FIFO Handling API  rtf_create: create a new RT-FIFO  rtf_create_handler: to attach a data handler  rtf_destroy: to destroy the RT-FIFO  rtf_get: to read data  rtf_put: to write data  rtf_resize: to change size of RT-FIFO

7 Difficulties  To include RT-FIFO handling functions into a user space task is inflexible  User space tasks usually use Tcl/Tk for rapid UI development for X-Window  Mixing RT-FIFO implementations and Tcl/Tk functions can be counter productive due to changes in software versions, RT task implementation details, etc.

8 Approach for Tcl/Tk-RT Extension  It consists of a small extension to Tcl-Tk  The Extension can be linked to Tcl-Tk libraries dynamically using load command  Extension acts as a virtual IPC layer for Tcl- Tk applications  Takes care of how data is passed between Tcl-Tk application and Real-Time task

9 Extension Design  User space application only have to deal with Tcl/Tk RT-Kernel RT-FIFO RT Task X-Window Display Tcl/Tk-RT Ext. Tcl/Tk App Device

10 Tcl/Tk-RT Extension API  Provides a simple API for testing rtf_open: Open a new RT-FIFO rtf_close: Close a RT-FIFO rtf_read: Read data from RT-FIFO rtf_write: Write data to RT-FIFO

11 Advantages  Advantages of the approach are- User space tasks are easier to develop using Tcl/Tk Command Module can be loaded/unloaded dynamically It allows flexibility in modification, testing, upgrading RT applications

12 Implementation and Testing  Developed a small test program using Tcl/Tk that uses our extension to interface with RT Tasks  Test program includes a Tcl/Tk console it controls and monitors the RT Tasks  Two RT Tasks are created and send data, Alpha and Beta respectively, through the RT-FIFO pipes  The console can start, stop, monitor the RT modules and data received

13 Program Structure RT-Kernel RT-FIFO Command Module RT Task  X-Window Tcl/Tk-RT Ext. Tcl/Tk App RT Task  Device

14 User Console

15 Data From RT Tasks

16 Program Demonstration  Running the demonstration program under X windows

17 Conclusions  RT application development can be greatly enhanced by introducing RT-extension to Tcl/Tk  It can be further improved by introducing more sophisticated real-time services  Scripts can be automatically generated by using Graphical UI tools

18 References  www.rtlinux.com www.rtlinux.com  www.rtlinux.org www.rtlinux.org  www.fsmlabs.com www.fsmlabs.com  RTLinux Whitepaper (Victor Yodaiken)  RTLinux Manifesto (Yodaiken)  RTLinux FAQ (Barabanov, Yodaiken, Hilton)  RT Linux man pages: http://www.rtlinux.com/man_page_index.html http://www.rtlinux.com/man_page_index.html  Tcl/Tk Documentation: http://dev.scriptics.com/doc/http://dev.scriptics.com/doc/


Download ppt "RTLINUX/RTFIFO and Tcl/Tk Nishant Upadhyaya Maung Wynn Aung Han Professor Insup Lee CIS642: Seminar in Real-time Systems University of Pennsylvania."

Similar presentations


Ads by Google