============================================================================== EmPack API Version 3.5.8 Copyright(c) 1999-2008 Communication Automation Corporation All Rights Reserved ============================================================================== WARNING FOR USERS OF RELEASE 3.3.3 AND EARLIER ============================================================================== It is very important that you follow the installation procedure given. Several changes have been made in both the embedded code and the device driver which makes this release incompatable with previous releases. The given procedure has been tested to ensure that your system is updated in an orderly manner. ============================================================================== WHAT'S NEW in 3.5.8 ============================================================================== Updates in Release 3.5.8 affecting Solaris systems include: - Additional compiler options and driver installation directory macro choises are added to the device driver Makefile (soldev/Makefile) to support 64-bit x86 platforms called amd64. - The use of the header file is now forced in the emdiag.h header file for compatibility with newer compilers and/or versions of Solaris that require it without automatically defining USE_STDARG. - The maximum SCSI transfer size is now limited to 32 Kbytes instead of 64 Kbytes. This change is required to support the Adaptec PCIexpress SCSI adapater (29320LPE) in Windows systems. Although Solaris 10 systems seem to provide a proper system limit (a little below 64 Kbytes), it was felt that the more restricted limt for Empack transfer would be more realistic and not impact peformace significantly. For further information please see the release notes included on the distribution media or on the internet at http://www.cacdsp.com/software/release_notes/empack_hist.html. ============================================================================== INSTALLATION: ============================================================================== If you are installing for the first time, follow the instructions below, skipping any items marked "Update only." (Do steps 3-8). If you are upgrading from an earlier 3.x.x release, follow the instructions below, skipping any items maked "New installs." (Do steps 1-3 and 5-8). If you are upgrading from a pre-3.x.x release (i.e. 2.x.x or 1.x.x) follow the instrucitons in Readme.Upgrades. 1. (Update only) Shutdown any EmPack applications. 2. (Update only) Remove old files: # rm -r $CAC/empack # rm $CAC/include/wintypes.h # rm $CAC/include/em*.h # rm $CAC/lib/libem*.a # rm $CAC/bin/em* # rm /etc/rc2.d/S99empack (as root) 3. Un-tar the distribution. The recommended location is "/usr/cac/". The tar file will create a new directory tree as ./empack/* If you choose a directory other than "/usr/cac", be sure to rebuild the distribution in step 5 below. # mkdir /usr/cac (if needed) # cd /usr/cac # tar xvf /cdrom/solaris/empack_src_3.5.4.tar If you are working form the downloaded archive replace the third command with: # gunzip -c empack_src_3.5.4.tar.gz | tar xvf - You may choose, instead, to install the binary distribution for your platform. For Sparc systems use empack_sparc_3.5.4.tar. For Intel systems use empack_intel_3.5.4.tar. If upgrading, go to step 5. 4. (New installs) Define the environment variable "CAC" to the root of the installation. # setenv CAC /usr/cac Because this variable is used in most Makefiles (as well as other places), it is recommended that this command be placed in your .login or other startup file. You may also wish to include $CAC/bin and possibly $CAC/empack/diag in your path. 5. Build the EmPack distribution: If you extracted the source-only archive you need to compile the software. # cd $CAC/empack # make clean; make install This will rebuild the libraries, the bin tools, the demos, and the diagnostic utilities. 6. (Optional) Edit $CAC/empack/soldev/empack.conf to reflect your system configuration. Commenting entries for device IDs which do not have an EmPack will speed booting. Be sure to comment out all four LUNs. If you do not, the driver will not work properly. (Upgrade Only) You may copy /kernel/drv/empack.conf to the above path to maintain any current customization. 7. (As root) Install the new driver: In general, for 32-bit systems the procedure is: # cd $CAC/empack/soldev # make install For 64-bit systems the procedure is: # cd $CAC/empack/soldev # make install64 Please read the README file in $CAC/empack/soldev for additional information about device driver installation, especaially if you are installing for the 64-bit Soalris kernel. 8. Update the embedded code in your EmPacks: # emflash all ============================================================================== RUNTIME DIRECTORY STRUCTURE ============================================================================== $CAC ---+ CAC product software | +- empack EmPack software | | | +- Makefile Top level makefile | | | +- Readme.* Important information about the software | | | +- binsrc/ Source code and makefile for bin tools | | | +- demo/ Various demonstraion programs tools | | (Sources, binaries, and makefile) | | | +- diag/ Various diagnostic tools (Sources, | | binaries, and makefile) | | | +- flash/ flash memory data files with embedded | | | code and FPGA configurations. | | | | | +- pci/ flash memory data files with FPGA | | configurations for the EmPci module | | | +- include/ local header files used by the | | API software | | | +- libsrc/ Source code for the EmPack library | | | +- mod_support/ Source code and makefiles for embedded | | processor applications used by | | diagnostics (provided as sample code) | | | +- soldev/ Solaris device driver (Source, config | files, makefile) | +-- include/ CAC application header files | | | +- emapi.h EmPack API header file. This is | | the only header file needed by | | user software. | | | +- emdiag.h Header file for EmPack diagnostic | | programs. | | | +- emwintypes.h Various Windows NT style declarations | | used for writing portable EmPack code | | | +- hexparser.h Header file for the hexfile parser | +-- lib/ CAC library directory | | | +- c549aldr Boot loader for the dm12c549 PCI module | | | +- emnames.map Configuration file mapping physical device | | names to library names | | | +- empack.cfg File containing current configuration info. | | | +- empack_types.cfg File containing EmPack device info. | | | +- libempack.a The Solaris EmPack API library | | | +- libemutil.a The Solaris EmPack utility library | | | +- libhexparser.a A hexfile parser/creator library | +-- bin/ CAC support programs, including those | for EmPack. | +-- shared/ CAC software libraries used by various | devices, including EmPack. | +- hexparser/ Source and makefile for the hexfile parser/ creator library ============================================================================== WRITING SOFTWARE FOR THE EMPACK ============================================================================== The programs in $CAC/empack/diag/ and $CAC/empack/demo may be used as examples. The programs in $CAC/empack/binsrc may be examined as well, but some of these programs use non-published interfaces to perform certain unusual tasks. All user programs must include $CAC/include/emapi.h as the first header file. All header files in $CAC/empack/include are reserved for use within the library. Any interfaces not listed in emapi.h are subject to change without notice at any time. When linking a program, link with $CAC/lib/libempack.a. Most programs should also use -lpthread. More details may be found in the pdf format documentation on the CD. ============================================================================== NOTES: ============================================================================== 1. The binaries in this distribution were built on a Sun UltraSparc 1 running Solaris 2.6 using GNU gcc 2.8.1 or on a Pentium II running Solaris 7 Intel Platform Edition using GNU gcc 2.95.2. The programs should work properly under other versions of Solaris or other architectures, but alternate systems have not been fully tested. If you encounter any problems contact CAC using the information below. ============================================================================== PLEASE REGISTER ============================================================================== If you would like to be notified of future releases and upgrades for EmPack and other CAC products, please fill out the form at: http://www.cacdsp.com/register.html This registered list of email addresees will be used only for announcements of upgrades for CAC software. Your contact information will not be sold or used for any other than the stated purpose. ============================================================================== OBTAINING TECH SUPPORT ============================================================================== Technical support is available by phone and by e-mail. Normal business hours are 8 AM to 6 PM (Eastern Time) Monday through Friday. Phone: (877) 284-4804 (Toll Free) Fax: (610) 436-8258 Email: support@cacdsp.com