Home
NDDS®
Contents
1. V variables i xi NDDS_PEER_HOSTS 2 8 NDDSHOME 2 2 2 4 3 5 PATH 2 4 VxWorks 1 5 compiling 3 8 installation of NDDS 2 7 W Windows compiling 3 7 installation of NDDS 2 5 Index 2
2. Insl lgenIO lsocket lgen lposix4 lpthread Im lc ld Insl lsocket lposix4 lpthread Im lc Insl lgenIO lsocket lgen lposix4 lpthread Im lc Insl lsocket lposix4 lpthread Im lc Insl lsocket lposix4 lpthread Im lc ldl Insl lgenIO lsocket lgen lposix4 lpthread Im lc ldl Insl lgenIO lsocket lgen lposix4 lpthread Im lc Istdc ldl Insl lgenIO lsocket lgen lposix4 lpthread Im lc 3 3 Guijiduu09 e Chapter 3 Compiling NDDS Applications Table 3 1 UNIX Architecture Specific Build Settings Architectur Compiler version version Linker System Libraries Libraries Linux i86Linux24 7 gcc gcc 2 969 7 96 Cgc Idl Insl Im lpthread lpthread Istdc 186Linux2 2 egcs 2 91 66 egcs ldl Insl Im lpthread Istdc 2 libc6 1 1 2 9 0 LynxOS i86Lynx4 0 gcc version 2 95 3 gcc ldb lbsd Im lstdc Insi Irpe lc llynx a See Table 1 1 for descriptions of architecture switch strings Table 3 2 UNIX Architecture NDDS Build Settings for Shared Libraries Compiler defines nothing to be defined Include directories NDDSHOME include unix Libraries to link with NDDSHOME lib lt architecture gt libnddsz so NDDSHOME lib lt architecture gt libnddsutilsz so NDDSHOME lib lt architecture gt libnddscdrz so NDDSHOME lib lt architecture gt libutilsxxz so NDDSHOME lib lt architecture gt libutilsipz
3. G 0 fno builtin mlongcall ppc603Vx5 5diab Diab 5 0 1 tPPC603FS vxworks55 DTOOL diab mcpu 604 G 0 fno builtin mlongcall ppc604Vx5 5diab Diab 5 0 1 tPPC7400FV vxworks55 Xkeywords 0x0 mcpu 860 G 0 fno builtin mlongcall ppc860Vx5 5diab Diab 5 0 1 tPPC860FS vxworks55 DTOOL diab DTOOL_FAMILY diab Cross compiling for any VxWorks platform is similar to building for a UNIX target see Section 3 1 except that you need to include NDDSHOME include vx To build a VxWorks application create a makefile that reflects the compiler and linker for your target with appropriate flags defined There will be several target specific com pile flags you must set to build correctly For more information see the VxWorks Pro grammer s Guide Index B building UNIX applications 3 1 VxWorks applications 3 8 Windows applications 3 5 C compilers supported 1 1 compiling 3 1 UNIX 3 1 VxWorks 3 8 Windows 3 7 D disk usage 1 4 E environment variables NDDS PEER HOSTS 2 8 NDDSHOME i xi 2 2 2 4 3 5 PATH 2 4 installing NDDS UNIX 2 3 VxWorks 2 7 Windows 2 5 L LynxOS 1 5 M makefiles 3 10 memory usage 1 4 N NDDS_PEER HOSTS 2 8 NddsClientCreate 1 8 NDDSHOME i xi 2 2 2 4 3 5 NddsPublicationCreate 1 8 NddsServerCreate 1 8 NddsSubscriptionCreate 1 8 P PATH 2 4 pathnames i xi Index 1 S supported compilers 1 1 U UNIX compiling 3 1 installation of NDDS 2 3 unsigned types in x files 1 8
4. from your development host First confirm the following setup checklist 1 NDDS 3 0 is installed on the Tornado host Confirm that the NDDS libraries for your VxWorks target platform are in the lib directory under the root directory of NDDS I Tornado 2 x development environment is installed 1 RTI s VxWorks target naming scheme processor followed by OS and compiler For example Power PC 603 running VxWorks 5 4 using the gcc compiler is called ppc603Vx5 4gcc See Table 1 1 3 8 3 3 Compiling VxWorks Applications J You have a start up script to set up the target for NDDS For an example script see examples vxWorks login cmd under the NDDS root directory Required Flag for VxWorks 5 4 You must compile with the flag DRTI_LVXWORKS Compiling an NDDS application for VxWorks depends on the development platform For more information such as specific compiler flags see the VxWorks Programmer s Guide Tables 3 6 through Table 3 8 show the architecture dependent flags used to build the NDDS libraries We recommend that you use similar settings Table 3 6 Architecture Dependent Compiler Settings for VxWorks 5 4 Tornado 2 0 x Table 3 7 RTI Architecture Abbreviation Compiler Compiler Options arm7tdmiVx5 4gcc gcc 2 7 9 mcpu arm7tdmi mapcs 32 mno thumb interwork mno sched prolog fno builtin fno rtti armsa110Vx5 4gcc gcc 2 7 9 mcpu strongarm110 mapcs 32 mno sched prolog fno builtin fno rtti 1486 Vx5 4gcc gec
5. over Unsupported Data Types in nddsgen The following data types are not supported by nddsgen If you bypass nddsgen you can still use them ll unsigned long long _I long long I long double LJ wstring nddsgen also does not support data types that have an array of structures and the structure has a class as a member field nddsManager Holds onto Sockets Opened by the Spawning Application When the nddsManager is started automatically by the application on UNIX systems such as when there is no manager running on the appropriate domain when the appli cation is started it will inherit ownership of the creating application s NDDS sockets These resources will be returned to the system when both the user application and the nddsManager terminate Polled Subscription Deadline Behavior Deadline of a polled subscription is checked only when the subscription is polled Aside from the desired behavior of being notified of deadlines only when you poll the polled subscription currently exhibits the following behavior _I Multiple deadlines are not called you only get the last deadline I If a new issue is received after a deadline has expired this deadline is not remembered When you poll you simply get the issues that have been queued SOJON 9502j94 l Chapter 1 Release Notes for NDDS 3 0m 1 5 1 5 1 1 6 1 6 1 1 6 2 Removed as of NDDS 3 0i NDDS UPDATE OF OLD DATA Event NDDS silently discards old or
6. 1 System Requirements Table 1 1 Supported Target Architectures RTI Architecture Operating System CPU Compiler Abbreviation VaWorks 547 n oa VxWorks 5 4 x PowerPC 604 gcc 2 96 ppc604Vx5 4gcc Tornado 2 1 x Solaris or Windows Solaris or Windows Pentium III pentium3Vx9 5g8Cc 5 0 1 ook ee Windows NT Pentium Visual 186Win32VC60 Windows 2000 C 6 0 Windows XP SOJON 9502j94 l Chapter 1 Release Notes for NDDS 3 0m 1 2 Disk and Memory Usage Disk usage for a typical installation that supports one host architecture and one target architecture is approximately 38 MB Installation for more than one target or one host architecture will require more disk space Typically each additional target requires 1MB and each host requires 7 MB of disk space We recommend that you have at least 64 MB RAM installed on your host development system Your specific memory requirements however will depend on the complexity of your application and hardware architecture Networking Support NDDS requires UDP IP services Specifically NDDS needs network socket support for datagrams These services are part of the standard TCP IP stack included with most operating systems Compatibility with Other RTI Products NDDS 3 0m is built on RTILIB 4 2 and therefore is compatible with RTI s StethoScope 7 0 ScopeTools 4 0 and Constellation 1 0 or higher NDDS 3 0m is compatible with NDDS 3 0i NDDS 3 0m is not com
7. 2 7 2 m486 fno defer pop fno builtin pentium Vx95 4gcc gcc 2 7 2 mpentium nostdlib fno defer pop fno builtin m68020Vx5 4gcc gcc 2 7 2 m68020 40 fno builtin ppc603Vx5 4gcc gcc 2 7 2 mcpu 603 fno for scope fno builtin mlongcall ppc860Vx5 4gcc gcc 2 7 2 mcpu 860 msoft float fno for scope fno builtin mlongcall ppc860Vx5 4gcc nljmp gcc 2 7 2 mcpu 860 msoft float fno for scope fno builtin ppcEC603Vx5 4gcc gcc 2 7 2 mstrict align nostdinc fvolatile fno for scope fno builtin mlongcall msoft float sparcv9Vx5 4gcc gcc 2 96 fno builtin mcpu ultrasparc m64 a optional Architecture Dependent Compiler Settings for VxWorks 5 4 Tornado 2 1 x RTI Architecture Abbreviation Compiler Compiler Options ppc604Vx5 4gcc gcc 2 96 mcpu 604 mstrict align fstrength reduce fno builtin mlongcall 3 9 Guijiduu09 e Chapter 3 Compiling NDDS Applications Table 3 8 Architecture Dependent Compiler Settings for VxWorks 5 5 Tornado 2 2 3 10 cane Abbreviation Compiler Compiler Options pentiumVx5 5gcc gcc 2 9 march pentium nostdlib fno defer pop fno builtin kill DTOOL_FAMILY gnu DTOOL gnu pentim2Vx5 5gcc gcc 2 9 march pentiumpro nostdlib fno defer pop oe e fno builtin DTOOL FAMILY gnu DTOOL gnu pentium3Vx5 5gcc gcc 2 9 march p3 nostdlib fno defer pop fno builtin pentium4Vx5 5gcc gcc 2 9 march p3 nostdlib fno defer pop fno builtin katad DTOOL FAMILY gnu DTOOL gnu mcpu 603
8. 3 I Installing on Windows Systems Section 2 4 Overview NDDS is designed to have all its files under a single tree For VxWorks users this chap ter assumes VxWorks is already installed and functional All the directory locations in this chapter are meant as suggestions only adjust them to suit your site You do not need administrator privileges to install NDDS The basic steps described in this chapter include 1 Downloading a distribution 2 Unpacking NDDS from the distribution 3 Installing the NDDS libraries and utilities 2 UONDIIDISU Z Chapter 2 Installation and Setup 2 2 2 2 4 Setting the NDDSHOME environment variable done automatically on Win dows 5 Testing the installation Note If you are using multiple RTI products such as Constellation StethoScope Mem Scope and ProfileScope along with NDDS then you should install each product in a sep arate folder under a common RTI directory for example home local rti ndds 3 0x home local rti scope 7 0x Downloading NDDS Before you can install NDDS you must download the NDDS distribution using the URLs provided in the letter confirming your purchase or evaluation copy The letter includes your username password and the URLs for downloading a distribution that has been built specifically for your architectures If you do not have this letter contact license rti com The list below describes the basic steps for downloading You
9. NDDS Network Data Delivery Service The Real Time Publish Subscribe Connectivity Solution Getting Started Guide NDDS Version 3 0m RTD Saal lima fasavatioas RTI Aeal Tima fasavatioas Copyright 1996 2003 Real Time Innovations Inc Alf rights reserved Printed in U S A First printing August 2003 Trademarks Real Time Innovations Constellation ControlShell NDDS RII StethoScope WaveScope WaveSurf and WaveWorks are either trademarks or registered trademarks of Real Time Innovations Inc ARM 7TDMI and SA 110 are trademarks or registered trademarks of ARM Limited Intel and Pentium are registered trademarks of Intel Corporation PowerPC is a registered trademark of International Business Machines Corporation Linux is a registered trademark of Linus Torvalds LynxOS is a registered trademark of LynuxWorks Inc Microsoft Windows Windows NT and Visual C are registered trademarks of Microsoft Corporation in the United States and or other countries MIPS is a registered trademark of MIPS Technologies Inc Motorola is a registered trademark of Motorola Inc UNIX is a registered trademark of The Open Group in the U S and other countries SPARC SPARCV9 and UltraSPARC are registered trademarks of SPARC International Inc Sun and Solaris are either trademarks or registered trademarks of Sun Microsystems Inc in the U S and other countries Diab pSOS Tornado VxWorks and Wind River are eit
10. NIX system 1 Create a directory for NDDS We will assume that the installation directory is local If you want to install it elsewhere replace the references to local with the directory of your choice cd local mkdir rti cd rti 2 Move the downloaded file into your newly created directory In these instructions we will assume the name of the file you downloaded is Ndds30mSolaris28 130803 tar gz This is only an example filename yours will be different The file naming convention is described in Section 2 2 3 Uncompress the file For example gunzip Ndds30mSolaris28 130803 tar gz 4 Extract the distribution by untaring the uncompressed file For example tar xvf Ndds30mSolaris28 130803 tar 2 3 UONDIIDISU Z Chapter 2 Installation and Setup 2 3 1 5 Add the bin directory for your host architecture to your PATH environment variable Assuming you installed NDDS into the directory local rti ndds 3 0x type setenv PATH local rti ndds 3 0x bin lt architecture gt PATH where lt architecture gt is your specific host architecture such as sparcSol2 8cc5 0 See Table 1 1 for a list of architectures Set the NDDSHOME environment variable When you untar the distribution all the files for NDDS are located under one directory called ndds 3 0x where x is a letter identifying the current release of NDDS 3 0 This directory is referred to as NDDSHOME For each user s login file type setenv NDD
11. SHOME local rti ndds 3 0x where the directory is the actual location of the NDDS files loaded on your sys tem If the setenv command is not available use the export command instead export NDDSHOME local rti ndds 3 0x Testing Your Installation To test the installation on a UNIX system 1 2 Run rehash at the command prompt so the shell will find the new executables Open two command windows 3 In one command window type nddsPing s In that window you should see nddsPing deadline nddsPing deadline nddsPing deadline In the other command window type nddsPing p 2 4 Installing on Windows Systems 2 4 If NDDS is installed correctly you will see the following in the command win dow running the nddsPing p command nddsPing Sending issue 0 nddsPing Sending issue 1 nddsPing Sending issue 2 You should also see the following in the command window running the nddsPing s command nddsPing deadline nddsPing received issue 0 nddsPing received issue 1 nddsPing received issue 2 If you do not see issues being sent and received check the installation procedure and try again Installing on Windows Systems This section provides instructions on how to install a distribution for Windows NT Windows XP and Windows 2000 operating systems If you downloaded files for additional target libraries you will also need to see Section 2 4 1 To install a distribution for a Windows syst
12. amaa 1 4 1 2 Compatibility with Other RIL ProdtctS usisikie a 1 4 1 3 What is New or Changed in NDDS 3 0m since NDDS 3 01 0 eee 1 5 1 3 1 Newin IND DS SOM riiakas venis raami tana 1 5 1 3 2 Removed or Deprecated in NDDS 3 0 eee eee cece eeeeeees 1 5 1 3 3 Chane es ANDIS 2 OM sciics a E 1 5 1 4 Known Iss tes tn NDDS o Om uresni E amaan 1 6 1 4 1 Feature Limitations on Specific Operating Systems 1 6 1 4 2 Minimum Separation Problem with Multiple Multicast DUDS 8141 2310 le MATINEE TA a san airman EST TEE 1 6 1 4 3 Unsupported Data Types in nddsgen msrmenennns 1 7 1 4 4 nddsManager Holds onto Sockets Opened by the Spawning PED P MCA OM asiaate ala asd aa i 1 7 1 4 5 Polled Subscription Deadline Behavior immnrnnes 1 7 1 5 Rkemovedas of NDDS B01 esea a a i nae 1 8 1 5 1 NDDS UPDATE OF OLDDA TA E Ve Ni emren cece 1 8 1 6 Removed asof NDDS 3 08 tsimmi R AAE 1 8 1 6 1 Use of u_ types in x Files Not Recommended 1 8 1 6 2 Deprecated Creation Functions viii cissiecdiuotiuichsboenciaesakeienateeeds 1 8 Installation and Setup sinisest temastki amka laamat 2 1 2 1 TV LCV a kal aa ei kata aa a M ei tunde ahh 2 1 2 2 DOwihlOad ine NODS ceire maalapi alal tal 2 2 25 Installing on UNIX Sy Steins issisceats ca icoatennssits eostatarebdaionteleuenisosoisaayoacsatsaaseotenneds 2 3 2 3 1 Testing Your Installation a conei e e 2 4 2 4 Installing n Wi
13. code examples useful to first time NDDS users 5 On the Domain Number Window specify the default domain number In most circumstances use the default 0 This option enables you to start the NDDS Nans ager from an icon installed on your Start menu or Program Manager group Click the Next gt gt button 6 On the Ready to Install Window click the Start Install button Note NDDS supplies some DLLs you may already have In this case you will receive a warning click IGNORE to go on 7 Verify that the C RTI waveworks ndds 3 0x bin i86Win32VC60 directory is in the path by typing set at a command prompt 1 For more information about the NDDS Manager see Section 12 3 in the NDDS User s Manual 2 6 2 4 Installing on Windows Systems 2 4 1 2 4 2 Installing Additional Target Libraries on Windows Systems Before installing any additional target libraries make sure you have installed the basic NDDS distribution for your Windows system see Section 2 4 To install additional target libraries 1 Run the downloaded file such as ndds30x lt architecture gt EXE 2 On the Welcome Window click the Next gt gt button Testing Your Installation To test the installation on a Windows system 1 Open two command prompt windows so the shell will find the new environ ment variables 2 In one command window type nddsPing s In that window you should see nddsPing deadline nddsPing deadline nddsPing
14. deadline 3 In the other command window type nddsPing p If NDDS is installed correctly you will see the following in the command win dow running the nddsPing p command nddsPing Sending issue 0 nddsPing Sending issue 1 nddsPing Sending issue 2 You should also see the following in the command window running the nddsPing s command nddsPing deadline nddsPing received issue 0 nddsPing received issue 1 2 UONDIIDISU Z Chapter 2 Installation and Setup 2 5 2 8 nddsPing received issue 2 If you do not see issues being sent and received check the installation procedure and try again Setup Besides setting the NDDSHOME environment variable set automatically during installation you must also set the NDDS_PEER_HOSTS environment variable prior to running any NDDS application NDDS_PEER_HOSTS specifies the scope of NDDS communication in a distributed application scenario It can also restrict communication to only a subset of NDDS nodes in the system To understand the purpose of NDDS_PEER_HOSTS you first need a basic under standing of what a manager is since this list is used only by managers not your applica tion A manager is responsible for making sure each application in the system has current information about all the other applications and their objects It is a program separate from your application that keeps all the applications in your system updated about each other A manager may ei
15. duplicate issues without handing them to the user This affects multi NIC machines particularly in NDDS 3 0g applications would get these events if the sending application and the receiving application were in more than one common subnet While code that uses the event NDDS UPDATE OF OLD DATA will still compile this event is no longer reported Removed as of NDDS 3 0g Use of u_ types in x Files Not Recommended In NDDS 2 3 if you specified a type unsigned xyz in a x file nddsgen would generate the type u_xyz in the h file However nddsgen no longer behaves this way Basically what goes in the x file comes out in the h file We no longer recommend using types of the format u_ in x files Deprecated C Creation Functions The following C creation functions are deprecated and will be removed in the next release They are still supported in this release L NddsPublicationCreate I NddsSubscriptionCreate L NddsClientCreate L NddsServerCreate Users should switch to these functions I NddsPublicationCreateAtomic I NddsSubscriptionCreateAtomic 1 6 Removed as of NDDS 3 0g LJ NddsClientCreateAtomic I NddsServerCreateAtomic Chapter 1 Release Notes for NDDS 3 0m Chapter 2 Installation and Setup 2 1 This chapter provides instructions on how to download and install NDDS I Overview Section 2 1 L Downloading NDDS Section 2 2 I Installing on UNIX Systems Section 2
16. e application does The result is that if both applications specify the same subnet there should be no packets sent via other subnets Known Issues in NDDS 3 0m Feature Limitations on Specific Operating Systems 1 pSOS Multicast and iteration over publishers and subscribers are not sup ported Note that pSOS is only supported in NDDS 3 0g not in NDDS 3 0m 1 WaveScope support is not available for LynxOS targets Minimum Separation Problem with Multiple Multicast Subscriptions There is a known issue with having multiple multicast subscriptions to the same topic with different values of minimum separation For instance if you do the following 1 2 3 Create one publication sending every second Create one multicast subscription with a minSeparation of 2 seconds Create another multicast subscription with the same multicast address with a minSeparation of 3 seconds This results in the second subscription receiving data every 4 seconds 1 4 Known Issues in NDDS 3 0m 1 4 3 1 4 4 1 4 5 The problem is that the publication keeps track of only the minimum minSeparation value for all subscriptions to the same topic with the same multicast address In this case this value is 2 seconds so the publication will only send out data every 2 seconds over the multicast address The subscription with a minSeparation of 3 seconds will thus reject every other packet because they arrive before the minSeparation period is
17. em 1 Run the downloaded file such as ndds30x EXE 2 On the Welcome Window click the Next gt gt button Note To exit the installation at any time click the Exit Installation gt gt button 3 On the Select Destination Directory Window select the installation directory where you want to install NDDS We recommend that you create a directory where you can keep all of RTI s prod ucts For example specify C RTI waveworks ndds 3 0x as the installation directory where x is a letter identifying the current release of NDDS 3 0 2 9 UONDIIDISU Z Chapter 2 Installation and Setup The installation program will set this as your NDDSHOME system environ ment If you have already defined NDDSHOME variable in your own user envi ronment it will overwrite the one in the system environment variable Click the Next gt gt button 4 On the NDDS Components Window select all the components you want to install see Table 2 1 Click the Next gt gt button Table 2 1 NDDS Components Window NDDs Contains the core libraries for NDDS and is required to do any develop required to do any develop required ment Documentation Contains online HTML documentation for the API which can be viewed HTML PDF with any HTML browser such as Netscape or Internet Explorer and PDF documentation this Getting Started Guide the TEO and the User s Man ual which can be viewed with Adobe Reader or Acrobat Contains source
18. er and you want it to talk to venus and mars type the following at a command prompt set NDDS PEER HOSTS myComputer venus mars If you are simply experimenting on a single node such as during the exercises in the NDDS Tutorial this only needs to be set to localhost Setting the NDDSHOME Environment Variable The NDDSHOME environment variable is set automatically to the root directory of the NDDS installation so you will probably not need to change it If you should need to change it as may happen if you reinstall NDDS in another path use the following To confirm the current setting of NDDSHOME type at a command prompt echo NDDSHOME 3 5 Guijiduu09 e Chapter 3 Compiling NDDS Applications 3 6 To temporarily change NDDSHOME in the current command prompt window only type set NDDSHOME lt correct directory gt Warning Do not put a space on either side of Windows treats this syntax dif ferently To permanently change NDDSHOME use the Control Panel On Windows NT 1 Click Start Settings Control Panel The Control Panel Window pops up 2 Double click the System icon The System Properties Window pops up a b C d Click the Environment tab Under User Variables scroll to the NDDSHOME variable and click the line In the Value entry field enter the correct path Click Set then click OK On Windows 2000 1 Click Start Settings Control Panel The Control Panel Wind
19. for details See also Removed as of NDDS 3 0i Section 1 5 and Removed as of NDDS 3 0g Section 1 6 Changes in NDDS 3 0m Multi NIC Support L NDDS can support up to 32 NIC interfaces now instead of 8 in 3 0i You can use up to 4 of them by setting NDDS APP HOSTS or NDDSDomainPropertties If there are more than 4 valid NIC interfaces NDDS will use the first 4 not includ ing LOOPBACK that show up in the NIC interface list 1 You can use the nicProperties field in NDDSDomainProperties to disable some specific NIC interfaces I If an NDDSManager is spawned by an NDDS application the manager will share the same NIC interfaces with the application SOJON 9502j94 l Chapter 1 Release Notes for NDDS 3 0m 1 4 1 4 1 1 4 2 I NDDS is now able to use NDDS PEER HOSTS file that do not have carriage returns and line feed characters CR LF at the end LJ You can now use NDDS APP HOSTS to restrict the network traffic within one specific subnet The way you use NDDS_APP_HOSTS does not change You can put a subnet mask such as 158 78 34 0 ffffff00 in NDDS APP HOSTS to restrict the net work traffic The difference from 3 0i is that previously the manager used all the available NIC interfaces so although the application did not send via other sub nets the manager was still using all subnets In 3 0m if you start the manager from an application the manager will restrict its traffic within a specific subnet just as th
20. he Control Panel 2 Double click the System icon to bring up the system properties dialog box then select the Advanced tab a Click the Environment Variables button b Click New under the User variable section c Type NDDS PEER HOSTS in the Variable field d Type the host names separated by colons such as mars pluto jupiter in the Variable Value field e Click OK and OK 2 5 3 Setting NDDS PEER HOSTS on VxWorks Systems Use the putenv command For example putenv NDDS PEER HOSTS mars pluto jupiter myTarget 2 10 Chapter 3 Compiling NDDS Applications Note You do not need to read this chapter until you are ready to compile an NDDS application This chapter provides instructions on compiling NDDS applications on the following platforms I Compiling UNIX Applications Section 3 1 I Compiling Windows Applications Section 3 2 I Compiling VxWorks Applications Section 3 3 3 1 Compiling UNIX Applications Before building an NDDS application for a UNIX platform confirm the following setup checklist LJ NDDS 3 0x is installed where x stands for the version letter of the current release see Chapter 1 For installation instructions refer to Section 2 3 I A text editor such as emacs or vi is installed 3 1 Guijiduu09 e Chapter 3 Compiling NDDS Applications 3 1 1 3 2 I gmake is installed Note make will not work If you do not have gmake you can download it from our web si
21. her trademarks or registered trademarks of Wind River Systems Inc All other trademarks used in this document are the property of their respective owners Copy and Use Restrictions No part of this publication may be reproduced stored in a retrieval system or transmitted in any form including electronic mechanical photocopy and facsimile without the prior written permission of Real Time Innovations Inc The software described in this document is furnished under and subject to the RTI software license agreement The software may be used or copied only under the terms of the license agreement Technical Support Real Time Innovations Inc 155A Moffett Park Drive Sunnyvale CA 94089 Phone 408 734 4200 Fax 408 734 5009 E mail support rti com Web Site http www tti com Contents MOG Scat easy a ots eae alla a eee vii welcome To NDOS maalil ix Available NDDS Documentati nN xi ysisus2 sses suas coesnsnnestentonendsy oksionn vana ix Reading CoS masala mall X Convent ons aa e N xi Typographical Conventions k amaan e AE xi Patihna ssir A Aa E Gamneraes xi Environment VariableSvesenirnc tiin en a a xi Names of Supported PIAHOPMS orgiat a xi Coding Convenio enina a taa xii l Release Notes for NDDS 3 0m 1 1 1 1 DY SLC REGUITEMENES Artium jaaa 1 1 1 1 1 Supported Operating Systems and Compilers s 1 1 1 1 2 Disk and Memory USAGE ninale haaa laadal a ala 1 4 1 1 3 Networking SUPP OME e al
22. in with Ndds such as NddsPublicationCreate I All type definitions structures and enumerated types begin with NDDS such as NDDSPublicationProperties 1 All C classes that are strictly interfaces have the prefix NDDS and the suffix Class such as NDDSDomainClass An interface is a class that contains only pure virtual methods This is a convenient mechanism to describe the user visi ble methods and hide implementation details I All C classes that are derivable and provide implementation have the prefix NDDS and the suffix Derivable such as NDDSDomainDerivable These classes can be used by themselves or you can derive from them to extend their functionality NDDS documentation contains many examples For clarity parameters that are not rele vant will be ignored i e NddsSubscriptionCreate In some cases ellipses will be used to show just a few parameters for example NddsSubscriptionCreate NDDS_IMMEDIATE_SUBSCRIPTION Note Ellipses do not represent the C C variable argument syntax Chapter Release Notes for NDDS 3 0m 1 1 This chapter provides release specific information and identifies changes and fixes in the latest version of NDDS release 3 0m If you are new to NDDS you can skip Section 1 3 which is mostly of interest to those who are upgrading _I System Requirements Section 1 1 I Compatibility with Other RTI Products Section 1 2 I What is New or Changed in NDDS 3 0m since NDDS 3 0i Sectio
23. lowing in HTML format I The NDDS API documentation NDDS html automatically installed in the main directory of your NDDS installation Reading Guide If you are new to NDDS _I Read the sections in Chapter 1 on System Requirements Section 1 1 and Com patibility with Other RTI Products Section 1 2 L Use the instructions in Chapter 2 to download and install NDDS I Start experimenting with NDDS by following along with the exercises in the NDDS Tutorial The NDDS Tutorial includes exercises to give you hands on expe rience creating building and running applications You can work through these exercises or just read along and look at the example code supplied with the dis tribution I Refer to the NDDS User s Manual for details on how to use NDDS to design build and run your applications in particular you should read Chapters 1 2 and 3 l Refer to Chapter 3 in this guide when you are ready to compile an application If you are upgrading from a previous release of NDDS L Read Chapter 1 which includes the following release specific information Sys tem Requirements Compatibility with Other RTI Products and What is New or Changed in NDDS 3 0m since NDDS 3 0i I Use the instructions in Chapter 2 to download and install NDDS I Refer to Chapter 3 in this guide for release specific compiling instructions Table 1 Conventions Typographical Conventions This guide uses fonts to clarify text b
24. n 1 3 I Known Issues in NDDS 3 0m Section 1 4 System Requirements Supported Operating Systems and Compilers NDDS requires a multi threaded operating system NDDS 3 0m supports the target operating systems and compilers listed in Table 1 1 See Chapter 3 for more information on compilers and linkers Note Additional platforms not listed in Table 1 1 may be supported through special development and maintenance agreements including LynxOS 3 1 MIPS pSOS SOJION 9502j94 l Chapter 1 Release Notes for NDDS 3 0m Solaris 2 9 VxWorks 5 3 1 and VxWorks AE Contact your RTI sales representative for details Supported Host Platforms 0 Windows NT with service pack 5 or higher _I Windows 2000 with service pack 2 or higher 1 Windows XP I Solaris 2 6 and higher 0 Red Hat Linux 7 2 and 7 3 Note Support for Solaris 2 6 and Red Hat Linux 7 2 2 2 kernel ae deprecated and will be removed in a future release ee note that not all WaveWorks tools are available for all operating systems WaveScope is not supported on LynxOS Contact your RTI sales representative for details Table 1 1 Supported Target Architectures RTI Architecture Operating System CPU Compiler Abbreviation Red Hat Linux 7 3 Intel Pentium gcc 2 96 i86Linux2 4gcc2 96 2 4 kernel Red Hat Linux 7 2 Pentium egcs 2 91 i86Linux2 2egcs2 91 2 2 kernel deprecated Solaris 2 6 SPARC deprecate Solaris 2 8 UltraSPARC 1 2 1
25. n Table 3 5 d In the Additional library path field add NDDSHOME lib i86Win32VC60 3 Specify the path to NDDS s header file a Select the C C tab b From the Category pulldown menu select the Preprocessor option c In the Additional include directories field add S NDDSHOME include win32 3 7 Guijiduu09 e Chapter 3 Compiling NDDS Applications Table 3 4 Windows Architecture NDDS Build Settings for Static Libraries Compiler defines nothing to be defined Include Directories NDDSHOME include win32 Static libraries to link against NDDSHOME lib lt architecture gt libnddsz lib NDDSHOME lib lt architecture gt libnddsutilsz lib NDDSHOME lib lt architecture gt libnddscdrz lib NDDSHOME lib lt architecture gt libutilsxxz lib NDDSHOME lib lt architecture gt libutilsipz lib System libraries to link against ws2_32 lib supplied by Microsoft Visual C 6 0 Table 3 5 Windows Architecture NDDS Build Settings for Dynamic Libraries Compiler defines nothing to be defined Include directories NDDSHOME include win32 Shared libraries with debug NDDSHOME lib i86Win32VC60 libnddsd lib symbols to link with Shared libraries without debug NDDSHOME lib i86Win32VC60 libndds lib symbols System libraries to link against ws2_32 lib supplied by Microsoft Visual C 6 0 3 3 Compiling VxWorks Applications You can build a VxWorks application by cross compiling
26. ndows SVSESMS sseni ds i aoa sens 2 5 2 4 1 Installing Additional Target Libraries on Windows Systems 2 7 2 4 2 Testine YOUR Lis Callan it ix instars maaala 2 7 25 Be Oe faa a a KS Aal E E Eat ae 2 8 2 5 1 Setting NDDS_PEER_HOSTS on UNIX Systems 2 9 25 2 Setting NDDS PEER HOSTS on Windows Systems 06 2 9 2 53 Setting NDDS PEER HOSTS on VxWorks Systems 2 10 Compiling NDDS Applications tmestmtnn 3 1 3 1 Comping UNIX A pp Calon scssi aktimaali makaak 3 1 old COPINE seara E MA ARAMEA E 3 2 3 2 Compiling Windows Applications esusiascyetusstsrselaseabbealaassoensanecssasdeadheusssieedevesehs 3 5 22 Setting the NDDSHOME Environment Variable 3 5 a2 2 GOD raa ll nak aaa ene 3 7 3 3 Compiling VxWorks Applications eisein aas 3 8 MAOK oee s ere Index 1 Tables Table 1 Table 1 1 Table 2 1 Table 3 1 Table 3 2 Table 3 3 Table 3 4 Table 3 5 Table 3 6 Table 3 7 Table 3 8 Typographical Conven ions ve ikid anal ala xi SUPPOLLEL TALS St ARENE EALES die ansa A aial 1 2 INDDS Components Widow sarsctrege srna o N 2 6 UNIX Architecture Specific Build Settings e eeeeseeeeeeeeseeresrsresreresesresrrresresrsresereenees 3 3 UNIX Architecture NDDS Build Settings for Shared Libraries 3 4 UNIX Architecture NDDS Build Settings for Static Libraries 3 4 Windows Architecture NDDS Build Set
27. ow pops up 2 Double click the System icon The System Properties Window pops up a b C Click the Advanced tab Click the Environment Variables button Under User Variables scroll to the NDDSHOME variable and click the line or click the New button In the Variable entry field enter NDDSHOME In the Variable Value entry field enter the correct path Click Set then click OK 3 2 Compiling Windows Applications 3 2 2 Compiling To compile an NDDS application of any complexity you probably need to create your own project file in Microsoft Visual C 6 0 NDDS requires the following project set tings If you are using Visual C 6 0 1 Select the multi threaded DLL project setting a Select the C C tab b From the Category pull down menu select Code Generation c From the Use run time library category select Multithreaded DLL 2 Link against the NDDS libraries a Select the Link tab on the Project Settings Window b From the Category pull down menu select the Input option c You have a choice of whether to link against NDDS s static or dynamic librar ies In either case be sure to use a space as a delimiter between libraries not a comma To link against the static libraries at the beginning of the Object Library mod ules add the libraries listed in Table 3 4 Or to link against the dynamic libraries at the beginning of the Object Library modules add the libraries listed i
28. patible with NDDS 2 3 and older versions due to changes in the messages formats Running incompatible versions will result in the following problems _I Nodes will not be able to communicate with each other I You will not be able to recompile programs NDDS 3 0m is not compatible with ControlShell because they use different versions of RTILIB If you want to use NDDS with ControlShell use NDDS 3 0g Contact your RTI FAE or sales representative for more information To upgrade existing applications to use NDDS 3 0m compile your application against NDDS 3 0m and then use the compiler s error messages to guide you in making the appropriate API changes 1 3 What is New or Changed in NDDS 3 0m since NDDS 3 01 1 3 1 3 1 1 3 1 1 1 3 2 1 3 3 1 3 3 1 What is New or Changed in NDDS 3 0m since NDDS 3 01 This section describes new features and changes in NDDS 3 0m compared to NDDS 3 0i New in NDDS 3 0m New Architectures Compilers The complete list of supported architectures appears in Table 1 1 The architectures that are new in this release are I VxWorks 5 5 and Tornado 2 2 1 LynxOS 4 0 J VxWorks 5 4 and Tornado 2 0 on the Intel 486 processor Removed or Deprecated in NDDS 3 0m Wind River System s VxWorks AE operating system MIPS LynxOS 3 1 and Linux with kernel 2 2 are no longer supported in the standard product but may be available by spe cial agreement Contact your RTI sales representative
29. perating system You also need to specify NDDS specific compiler defines include directories and librar ies Also there is a specific order to the libraries during linking Table 3 2 and Table 3 3 show the build settings common to all UNIX platforms for both static and shared librar ies where lt architecture gt is the architecture string for your system as listed in Table 1 1 You must choose between the two types of libraries Do not mix the different types of libraries during linking 1 A peer is a computer It can be denoted as a hostname or an explicit IP address 3 1 Compiling UNIX Applications Table 3 1 The benefit to linking against the shared libraries is that your final executables sizes will be significantly smaller You will also use less memory when you are running sev eral NDDS applications on the same node However shared libraries require more setup and maintenance during upgrades and installations UNIX Architecture Specific Build Settings Compiler version System Libraries Libraries Architecture Faolan s2 o sparse Geel 2 6 Solaris 2 7 Solaris 2 8 sparcSol2 6cc4 2 sparcSol2 6cc5 0 sparcSol2 6 cc2 7 2 sparcSol2 7cc5 0 sparcSol2 7 cc2 7 2 sparcSol2 7 cc2 95 sparcSol2 8cc5 0 sparcSol2 8cc5 2 sparcSol2 8 cc2 95 CC 4 2 1 CC 5 0 CC 5 0 gcc 2 95 2 gcc gcc gcc gcc ddI nsl Igenl0 lgenIO lsocket lgen lposix4 lpthread Im lc ldl
30. r letter may contain more up to date information tailored for your specific needs If you need help with the down load process contact support rti com To download NDDS 1 Download any additional documents and tools a Go to RTI s home page www rti com b Select Downloads located at the top of our home page c Select NDDS amp Tools located at the left of the page d Enter your username and password e Select Prebuilt located under the NDDS amp Tools link This page provides links for downloading additional documents and tools Select the files that you want to download Any tools that you download from this page should be installed after installing NDDS 2 Download NDDS using the URLs provided in your confirmation letter Save the files to a temporary directory on your computer such as tmp 2 3 Installing on UNIX Systems Distribution Filename Conventions In the following filename descriptions x is a letter identifying the release of NDDS 3 0 lt Arch gt identifies your host or target architecture family and lt ddmmyy gt is the date the file was built for you I UNIX Systems NDDS distribution files use the naming convention Ndds30x lt Arch gt lt ddmmyy gt tar gz _I Windows Systems There are two types of NDDS distribution files e The basic NDDS executable ndds30x exe e Additional target libraries ndds30x lt Arch gt exe 2 3 Installing on UNIX Systems To install a distribution for a U
31. s Use the setenv command For example setenv NDDS PEER HOSTS mars pluto jupiter Warning This only sets the environment in the shell and does not affect other shells To make this the value default for all shells put the above line in either the login envi ronment or the cshrc file or the equivalent file for your system Setting NDDS_PEER_HOSTS on Windows Systems To set the NDDS_PEER_HOSTS environment variable in a command prompt window use the set command For example set NDDS PEER HOSTS mars pluto jupiter Warning Do not put a space character on either side of the character This sets the environment variable only in the current command prompt window If you want to set the environment variable for all programs use one of the following proce dures Note Changing an environment variable only takes effects when new programs are started Existing running programs will not see this change On Windows NT Systems 1 Click Start Settings Control Panel to bring up the Control Panel 2 Select the System icon to bring up the system properties dialog box a Select the Environment tab b Type NDDS_PEER_HOSTS in the Variable field c Type the host names or IP addresses separated by colons such as mars pluto jupiter in the Value field 2 9 UONDIIDISU Z Chapter 2 Installation and Setup 3 Click Set and Apply On Windows 2000 Systems 1 Click the Start button Settings Control Panel to bring up t
32. so Append to LD_LIBRARY_PATH NDDSHOME lib lt architecture gt Table 3 3 UNIX Architecture NDDS Build Settings for Static Libraries Compiler defines nothing to be defined Include directories NDDSHOME include unix Libraries to link with NDDSHOME lib lt architecture gt libnddsz a NDDSHOME lib lt architecture gt libnddsutilsz a NDDSHOME lib lt architecture gt libnddscdrz a NDDSHOME lib lt architecture gt libutilsxxz a NDDSHOME lib lt architecture gt libutilsipz a 3 4 3 2 Compiling Windows Applications 3 2 3 2 1 Compiling Windows Applications Before building an NDDS application for a Windows platform confirm the following setup checklist I NDDS 3 0 is installed For installation instructions refer to Chapter 2 I Microsoft Visual C 6 0 Service Pack 3 is installed I The NDDSHOME environment variable is set to the root directory of the NDDS installation To confirm type at a command prompt echo NDDSHOME If NDDSHOME is set incorrectly use the instructions in Section 3 2 1 to change its setting The PATH environment variable includes the bin i86WinVC60 directory under the NDDSHOME directory The PATH can be confirmed and changed using the same instructions given above for the NDDSHOME environment variable The NDDS PEER HOSTS environment variable is set to the list of peers that will be communicating to each other If your machine is called myComput
33. te From http www rti com downloads down load html select Free Downloads from the left hand navigation bar and select an appropriate download from the next screen I The NDDSHOME environment variable is set to the root directory of the NDDS installation To confirm type env grep NDDSHOME If not yet set or incorrect type setenv NDDSHOME lt correct directory gt J The NDDS PEER HOSTS environment variable is set to the list of peers that will be communicating with each other For example if your machine is called myComputer and you want it to talk to two other peers named venus and mars type setenv NDDS PEER HOSTS myComputer venus mars If you are simply experimenting on a single node such as during the exercises in the NDDS Tutorial this only needs to be set to localhost Compiling To compile an NDDS application of any complexity you can either modify the auto gen erated makefile created by running nddsgen or write your own makefile In either case you must use one of the supported compilers and linkers shown in Table 3 1 Table 3 1 shows the operating system specific compilers linkers and libraries needed to build NDDS applications For some operating systems we provide several options For exam ple on Solaris 2 8 we support three different compilers You can choose to use either the native 5 0 native 5 2 or gcc 2 95 compilers The word mative is used to describe the com piler that you can purchase with the o
34. ther be the NDDS manager program that ships with NDDS nddsManager or another vendor s manager as long as it conforms to the RTPS requirements for managers By default the nddsManager is started automati cally when your application runs The hosts in NDDS_PEER_HOSTS are merely potential fellow managers they are just hosts that your application s manager should attempt to contact on startup There is no requirement that there actually be managers on these hosts By providing a list of fellow managers you can increase the manager s efficiency during startup Setting the correct list of peer hosts is mandatory in a system with distributed application management For more information on how to run an NDDS application see Chapter 12 in the NDDS User s Manual For more information on managers see Chapter 11 in the NDDS User s Manual NDDS_PEER_HOSTS is a colon separated list of nodes Each node can be represented by its host name or by its IP address in the standard dot notation Both unicast and mul ticast addresses are allowed and any alive fellow managers are assumed to be listening on a well known port 2 5 Setup 2 5 1 2 5 2 For example to specify that a manager should look for fellow managers on nodes mars pluto and jupiter the peer list could be mars pluto jupiter Or you can use explicit IP addresses as well for example 206 197 57 101 206 197 57 195 207 110 10 12 Setting NDDS_PEER_HOSTS on UNIX System
35. tings for Static Libraries 3 8 Windows Architecture NDDS Build Settings for Dynamic Libraries 3 8 Architecture Dependent Compiler Settings for VxWorks 5 4 Tornado 2 0 x 3 9 Architecture Dependent Compiler Settings for VxWorks 5 4 Tornado 2 1 x 3 9 Architecture Dependent Compiler Settings for VxWorks 5 5 Tornado 2 2 3 10 vii viii Welcome to NDDS Welcome to Network Data Delivery Service NDDS the real time network middleware from Real Time Innovations Inc NDDS provides an easy way to build applications that communicate over a network With NDDS applications can transfer information between different architectures and operating systems without any changes to the application code NDDS is designed for real time applications that need control over timing and memory usage have low latency requirements or need high robustness to network changes or failures Available NDDS Documentation NDDS documentation includes the following documents in PDF format which is con venient for printing I This Getting Started Guide GettingStarted pdf I The NDDS User s Manual Manual pdf I The NDDS Tutorial NDDSTutorial pdf This Getting Started Guide can be downloaded separately from the NDDS distribution When you install NDDS all three PDF documents are automatically placed in the pdf directory of your NDDS installation NDDS documentation also includes the fol
36. y distinguishing between what you type what you should see as display output variables and literal strings The typographical conven tions are listed in Table 1 Typographical Conventions Pathnames NDDS documentation often refers to directories and files For UNIX like operating systems NDDS utilities and this guide use forward slashes as path separators such as Nocal rti ndds Otherwise we use the backward slash when describing files on the Microsoft Windows operating system Environment Variables This guide refers to pathnames that have been customized during installation Through out this guide NDDSHOME refers to the installation directory of NDDS Names of Supported Platforms NDDS runs on several different target platforms To support the vast array of platforms NDDS separates the executable library and object files for each platform into individ ual directories Xi xii Each platform name has four parts hardware architecture such as SPARC or Motor ola 68020 operating system such as Solaris or VxWorks operating system ver sion and compiler For example sparcSol2 8gcc2 95 is the directory that contains files specific to Solaris version 2 8 for the SPARC processor compiled with gcc version 2 95 For a full list of supported platforms see Table 3 1 Coding Conventions The following coding convention will help users distinguish in code specific concepts I All NDDS functions beg
Download Pdf Manuals
Related Search
NDDS ndds navair ndds navy link ndds software ndds 7th sem notes ndds usmc ndds website navy ndds hmrc meaning ndss form ndds notes ndds cloud ndds full form ndds 18 months ndds navy software
Related Contents
BlackBerry Z10 16GB 4G Manual técnico Curtis PL4210A User's Manual DVR-540H-S ER-A220 Operation-Manual Supplement GB DE FR ES HP 2000/5700 User's Manual CD3000S-2PH Thyristor Unit Mapeflex Firestop 1200°C Mapeflex Firestop 1200°C Heritage/Manchester Copyright © All rights reserved.
Failed to retrieve file