Download presentation
Presentation is loading. Please wait.
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/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.