VAXELN Version 2.2 Realtime Software Toolkit for Dedicated VAX and Micro VAX Applications
Total Page:16
File Type:pdf, Size:1020Kb
VAXELN Version 2.2 Realtime Software Toolkit for Dedicated VAX and Micro VAX Applications ( Features · Full VAXELN Toolkit that runs on a VMS or MicroVMS host to produce tight execution code on a dedicated system. • Includes an extended ISO Pascal compiler (EPascal) that is optimized for realtime code. Runtime libraries are also included for EPascal, C, and FORTRAN-n. • Supports an Ada compiler and Ada runtime libraries, a C compiler, a FORTRAN compiler, and Rdb/ELN Relational Database Software. (All of these are options for the VAXELN Toolkit.) • Provides a simple, small kernel to control sharing of the system's resources on the dedicated system. • Supports local debugging on the target system's console terminal and remote debugging over an Ethernet from a user terminal on a VAXIVMS system. • Includes a powerful system builder that combines program images, the kernel image, and runtime routines into a finished VAXELN system image. • Supports multitasking and multiprogramming from the VAXELN kernel, the EPascal compiler, the C runtime library, and Ada~ • Offers device drivers for a range of Q-bus and UNIBUS devices including disks for file storage. • Provides transparent network communications among VAXELN and VMS nodes via Ethernet-based DEe net (DAP) . Description The VAXELN Toolkit Helps You Generate Efficient Runtime VAXELN Version 2.2 adds support Applications for the VAX FORTRAN-77 runtime library to Digital's realtime software The VAXELN Toolkit gives you the development toolkit. The VAXELN development resources you need Toolkit runs on a VAX or MicroVAX to write efficient realtime code. It system to generate tight execution includes the extended EPascal com code for a dedicated realtime proces piler, libraries with the VAXELN ker sor. On the dedicated system, the nel and system services, a system VAXELN kernel controls the use of build utility, and a symbolic debug shared system resources. ger. An extended VAX C runtime library and VAX FORTRAN-77 rou As a VMS layered product, the VAX tines ship with the VAXELN kit. You ELN Toolkit gives you access to the also have the option of ordering rich software development resources Toolkit options such as the VAXELN of the VMS environment. The Toolkit File Service, Network Service, high itself provides optimized tools to help performance device drivers, extended you create an execute-only applica VAX Ada runtime routines, template tion that runs under the VAXELN ker device drivers, the Rdb/ELN rela nel on the dedicated system. VAXELN tional database, and compilers for applications work in situations - such VAX C and FORTRAN. as factory automation, dedicated CAD/CAM workstations, and large With VAXELN, you work in the scale data collection/reduction familiar VAXIVMS development envi systems - in which individual proces ronment to create your realtime appli sors have dedicated or predetermined cation. (Figure 1 shows the general functions. These applications can be elements in the application develop either stand-alone units or part of an ment cycle.) Use VMS language Ethernet Local Area Network (LAN) sensitive editors to help you create with VAXIVMS nodes or any other the source code. Write your applica node using DEC net service and tion in the Toolkit's EPascal, with calls protocols. to VAX C, VAX FORTRAN-77, and, optionally, VAX Ada~ Link the com piled code to the VAXELN Toolkit runtime library using the standard VAXIVMS linker. For easier debug ging either locally or remotely across an Ethernet LAN, use the VAXELN debugger: The VAXELN debugger is based on the VAX debugger and lets you debug both modules and entire applications. When you're ready, combine the necessary images with the VAXELN system builder to create an efficient, low-overhead run time application. modules already in the program MicroVAX II, VAX 111730, 111750, 11/751, library are automatically checked for 11/780, 111782, 111785 consistency. In addition, full data-type VAX 8200, 8300, 8500, 8600, 8650, 8800 MicroVAX II, checking is maintained on the prede 11/ 730, and clared kernel data types DEVICE, 11/750 MicroVMS or VMS EVENT, MESSAGE, NAME, PORT, PROCESS, and SEMAPHORE. VAXELN Toolkit VAXELN Kernel Controls Tight Target CPU Execution Code Development CPU The VAXELN kernel supports both multitasking and multiprogramming. Its multitasking capability lets you Figure 1. VAXELN Application Development Elements declare parts of a program to be scheduled for concurrent execution EPascal Provides an Extended ISO Powerful language extensions simplify with the main program. Its multipro Pascal Compiler and speed application development. gramming feature enables you to For example, you can use a generalized schedule entire programs, including EPascal is a highly optimized native mechanism, flexible types, to declare multitasking programs, for concurrent mode Pascal compiler that builds on data with parametric extents. You execution on the same cpu. the ISO standard to provide realtime can predeclare fixed-length strings, extensions. These extensions let you varying length strings, and a series of The kernel uses VAX memory man work in the flexible Pascal language uninterpreted data types. And you agement to map user processes in the instead of assembly language - to write can declare procedure and function PO and PI regions of a 4-Gbyte virtual even device drivers and other perfor parameters with conformant extents. address space. The user stack is inde mance-critical parts of your code. The pendently mapped into the PI (con EPascal program also lets you include Another EPascal compiler feature trol) region for each process in the routines written in VAX C, FORTRAN, effectively extends Pascal-type check system. A VAXELN process running and MACRO-ll. ing to separately compiled modules on a single processor can be as large to let you create and compile source as the amount of physical memory on The EPascal runtime library features code in separate modules. As each that dedicated processor. support for special I/O operations, module is compiled, declarations or standard Pascal routines such as SIN, cross-references involving it and the In general, VAXELN systems are inde and certain procedures used in sys pendent jobs that exchange informa tem programming. This support is tion by message transmissions. Jobs provided in both object-library and can be created dynamically to execute shareable-image forms. a specific program included with the system builder. C, and MACRO-l1. It also collects the necessary images from the VAXELN kernel itself and from the VAXELN Toolkit. Figure 2 illustrates the possi ble components in a VAXELN appli cation and includes the minimum memory requirements for each. VAXELN Debugger for Remote Or Local Interactive Debugging You can use the VAXELN Debugger for interactive debugging either locally at the target system's console or remotely over an Ethernet connec tion. Either way, you can evaluate expressions in a Pascal-like syntax, execute VAXIVMS-like debugger com mands, and debug kernel-mode code. You can also define new debugger commands and variables as necessary. If you have the optional DECnet-VAX license and Ethernet hardware, you can debug the application from a ter minal on another VAXIVMS node. This remote debugger supports sym bolic debugging - that is, manipulat Figure 2 .· VAXELN Application Components ing variables and other items by their declared names. It can also display the Jobs running on the same processor Broad System Builder Combines status of all VAXELN processes and are scheduled on a preemptive prior Images jobs in the LAN. ity basis. Jobs can be assigned up to 32 The VAXELN system builder does the priority levels. Within a job, 16 inde VAX C and FORTRAN-77 Runtime majority of the application build work pendent priority levels are available Libraries Arrive With the Kit for you. It combines program images, for preemptive process scheduling. the VAXELN kernel image, and run The VAXELN product ships with an You can stop then resume process time routines into one image of the fin extended VAX C library and a library rescheduling within a job. ished VAXELN system. The resulting of VAX FORTRAN-77 routines. An image keeps overhead to a minimum extended VAX Ada®runtime library by including only those images neces is also available as an option. These , ~ sary for that particular application. libraries let you include existing rou tines in your VAXELN application and The system builder accepts program give you the choice of development images from a variety of sources, in languages. cluding programs written in EPascal, subprograms written in other VAX languages such as Ada ~ FORTRAN-77, Extended VAX C Runtime Library. • RQDX1, RQDX2, or RQDX3 disk con VAXELN Ada Routines Add Ada to 1 VAXELN supports the VAX C language troller with the following drives as Your Language Choices with an extended C runtime library. appropriate to meet hardware config The optional VAXELN Ada® routines 1 The library contains over 130 routines uration requirements: RX50 (2 by 400 enable you to include Ada modules in that implement the standard VAX C Kbytes) diskette drive; RD51 (11 Mby your application. If you have VAX runtime environment. Realtime exten tes), RD52 (31 Mbytes), or RD53 (71 Ada - recognized as among the best sions to the standard library let you Mbytes) Winchester disk drive. VAX Ada compilers-you can also write work in this high-level language to ELN supports up to four of either your realtime application in Ada. The write performance-critical code such type of drive. VAX Ada compiler lets you defer the as device drivers. The VAXELN debug • KDA50 Q-bus disk adapter for up to choice of target system until you link ger fully supports the VAX C language 4 Digital Storage Architecture (DSA) the application, so you can easily and the runtime library. disks: RASO, RAS1, or RA60. build applications that run under • RQC25 52-Mbyte fixed/removable either VAXELN or VMS.