Embedded Software Division

The embedded software division of RASS IT solutions provides 

complete solutions that include diagnostics programs, monitor/ 

debug programs,  BSP (Board Support Package), OS  porting,

device drivers, and signal processing algorithms.

      

Services, Products and Projects

     

Services

Our key focus areas include:  

Real-Time Applications

Device drivers for PCI bridges, USB interfaces and many others on all popular Operating      
Systems

Board Support Packages development and porting

Core algorithm development and implementation for DSP applications

Architecture Specific Programming

Board Specific Programming – Low level software for monitoring, debugging, diagnostics

GUI development for embedded systems and other devices

Cross Platform Development and OS Porting

Projects/Products

    

We have developed a range of device driver software and GUI using Linux, RTLinux, QNX, VxWorks and Windows. These are listed below 

Projects on Linux/RTLinux

Projects on Windows

Projects on custom built cards

Project on QNX

    

     

Projects on Linux/RTLinux

     

Generic Library for MIL-STD-1553B, Arinc-429 and UART

      

Description:

The  product  provides  a  user  interface  application,   for testing  or  demonstrating capabilities

of  the MPAC  PCI  card. This application is provided  with  the   MPAC card, to test MPAC card

capabilities  and  also to communicate  through MIL-STD-1553B,  ARINC-429  and RS422/RS232

protocols. The application provides different interfaces to do the various  modes of data transfer

provided by  these protocol. It provides a  generic  interface  for  all  the  versions of MPAC, so

that the UI can be used independent of MPAC  cards.

   

The main features are:  

Platform independent UI interface

Card/ Chip independent UI interfaces  

Generic interfaces for MIL-STD-1553B, ARINC-429 and RS422/RS232 protocols.

Multi Protocol Data Transfer capability.

Easy porting of GUI into other POSIX standards platforms

     

Development 

The product has been developed using the tools listed below :

The  user  interfaces  were  developed  using  scripting  language  called  Python  using TCL/TK

library. The  routines  for  accessing  the  MPAC  card  resources were developed in C language

using  GNU  tools. The  interface between  the Python scripts and C code were developed using 

a tool called SWIG.

    

PCI Linux Device driver for MPAC (Multi Protocol Avionics Card)

    

Description

This is a  custom - built  character  device   driver  used  for  controlling  the MPAC card. It  be

characteristics of a normal Linux character device driver, where the user can access the device

resources as stream  of  bytes (like a file). The   driver implements  the open, close, read, write

and ioctl system calls for controlling the MPAC device. The driver is accessed by the means of

file system nodes  such  as /dev/mpac. The  driver  is built  into  an  object  code called  kernel

has module, which can be dynamically linked and unlink to the running  kernel. It also consists

of  interrupt  handling  for  the  MPAC  shared   interrupts. The  driver  or  kernel module built is

compatible for any Linux  with kernel  version  2.4.2. The module source  can  compiled  in any  

Linux compiled  in any Linux  kernel  version higher than  2.4.0  or  2.4.x.The  driver  has  been

ported for  RTLinux  ver 3.1.  

     

Development

The  product  has  been developed in C language using GPL (General Public License) tools like 

GNU  tools  gcc ( c  compiler  and  linker )  and  the  kernel  level  debugging  is  done  through

kgdb  ( kernel - gdb  version )  and   with  the  kernel  source  for  compiling  the  driver  module.

     

Projects on Windows    

    

PCI Device driver for MPAC (Multi Protocol Avionics Card)

     

Description     

The   product  is  a  indigenous  custom  built  device driver  for  the MPAC PCI card series. The

driver  is  fully  supported  by  the  WDM (Windows Driver Model) Model. It  is  designed to meet

requirements  of  the MPAC card. It  provides  I/O  control  operations for open, close, read/write

the  and   interrupt  handling  for  the  card.  The  driver  is  compatible  for  Windows 2000/98SE

and  Windows  XP  also.    

     

Development:

The  product  has  been   developed  using  Visual  C++ in  Visual studio IDE and Windows driver

development   kit.

    

Projects on custom built cards

     

Device driver for PC Card (PCMCIA)

       

Description

The  product is  a  indigenous   custom  built  device  driver  for  hot plug  and  play  PCMCIA

cards,  where  the application  pop ups informing the user about the PC Card insertion and  a

notification,  while  the  card is being removed.  The  driver  is  fully  supported  by  the WDM

(Windows Driver Model)  Model features.  The  driver  is  compatible for Windows 2000/98SE

and Windows XP also.

Development

The product has been developed using Visual C++ in Visual studio IDE and  windows driver 

development kit

     

Device drivers for Multi-protocol communication card (MPCC)

           

Description

This  card is  one of   the  two   modules  in  the  embedded system called  On-Board Computer, 

a sub  system  in  an  avionics application. The  multi-protocol  communication  card is based on

Intel's   196   micro controller.  The  module  supports   industry   standard   bus  interfaces   like

MIL-STD-1553B,  ARINC-429,  RS232  and  RS-422. The  module has decode  logic and interrupt

logic  implemented  on EPLD.  This  module  is  interfaced  to  the main controller module, which

is   based  on   Intel  486 microprocessor,  through   arbitration  logic   implemented   on   EPLD. 

The  driver  routines for the I/O controllers  in  MPCC  module bus interfaces  developed are used

by   the  application  programmer  to  communicate the  data  to and from the other sub systems

connected to the on board computer.

          

Development  

The  device  drivers  has  been  developed  using  IAR Embedded Work Bench Tool for Intel’s 

87C196KC micro controller.

 

        

Monitor software for 486 based processor module

       

Description

Monitor   software  is  a  user   interactive  software  debugger  tool  for a customized, Intel’s 486

processor  based  board.  The  software  includes    hardware  diagnostics  and  endurance  test

routines. The  board user its serial data port to communicate with the host system. The user can

use  the  commands  to  display  the  contents  of  the  processor registers, modify, display  the

memory  contents, download user program to the board and execute the program. The user  can

perform  the  hardware diagnostics for the board by issuing the test commands.

       

Development

The  monitor  software  has been  developed  in  C  and assembly languages  using the Intel 386 

build tools.

Projects in QNX 

             

Porting of GUI and the character driver for MPAC card

                   

Description

The product test the capabilities of the MPAC PCI card in QNX platform. It provides  a  character

driver for accessing the hardware resources of the MPAC card and testing the capabilities of the

MPAC card.

                 

Development  :

This  development is using QNX GNU tools and the Python GUI has been ported for QNX 6.1 

platform using Python 2.1 QNX platform versions.

   
Applications
Embedded