February 19, 1999
Overview
Version 3.2.0 of the EmPack software, Embedded Firmware and FPGA configurations includes the following changes.
- Support for DM12C549 mini-PCI modules on EmPCI mezzanines.
- New TDM / SCSA interface mode allows incoming E1 and T1 data and local TDM data to be combined onto SCSA.
- Data transfer functions now check the address and length against valid memory ranges for the target resource.
- Multiple resource / address polling aided by Embedded code.
- EmLoadExec now works for DSP32C executables compiled on Big-Endian systems.
- New directory hierarchy for Windows installations.
For details on new API function calls please see the EmPack Software API Reference Manual.
DM12C549 mini-PCI DSP Modules Supported
Access to the individual DSP resources is obtained using the EmOpenResource function with the name include the EmPack foundation device name, EmPCI mezzanine number, mini-PCI module letter and DSP unit number. For example, the first and second C549 DSP on a DM12C549 mini-PCI module installed on EmPCI module location A would be named emp001a0 and emp001a1.
Broadcast access to all 12 DSPs on a DM12C549 mini-PCI module is available by opening the resource name with only the mini-PCI module location letter. For example: emp001a.
All of the basic data transfer, executable loading and TDM mapping functions are applicable to the DM12C549 resources. Additional options for DM12C549 resources are available with the EmInitResourceEx function.
DM12C549_BOOT - loads and runs the DM12C549 helper code.The following API functions are used in conjunction with the standard TDM mapping functions to map TDM data at the mini-PCI module level to and from the individual DSPs.
DM12C549_INT3_SEL - selects TDM Superframe, rather than TDM Frame, as the source for the DSP's interrupt 3.
DM12C549_VMODE - is used if the DM12C549 is to read and write TDM valid information.
EmClearBspDst, EmAddBspDst, EmDelBspDst, EmClearBspSrc, EmAddBspSrc, EmDelBspSrc, and EmUpdateBsp.
The special mode allowing the multiplexing of Framer and TDM data to be shared over SCSA is activated in the EmAddTdmDst function call used to the select the data to be sent out to SCSA. In the Options1 argument, the new macro, TDM_FRAMER_COMB, is added to the TDM_BUS_SEL macro. For example:
EmAddTdmDst(base_module, scsa_resource, 0, TdmBus,
TDM_BUS_SEL | TDM_FRAMER_COMB, 0);
This function call has E1 or T1 Framer data multiplexed with the selected
TDM Bus, TdmBus, and sent out the SCSA port.
However, the pseudo-memory address for accessing the LEDs on DSP32C resources is not in a valid memory range. A new function, EmSetLED has been added to the API to allow the host to control DSP32C LEDS.
The API functions, EmGetInfoSize and EmGetInfo may be used to obtain address range information for a specified resource. The EM_INFO structure filled in by the EmGetInfo contains an AddrRangeCount member with the number of separate address ranges for the resource. The AddrRanges member of the EM_INFO structure is an array of ADDR_RANGE structures which contain members, Start, Length and Attrib for each address range. See the EmPack Software API Reference Manual for more information.
Multiple Resource / Address Polling
A new feature in the EmPack embedded code provides a mechanism to specify a list of resources and memory addresses to be read and have all the data collected and transferred to the host in a single SCSI transaction. One call to the new EmSetRealList API function sets up the list of resources and memory addresses. Subsequent calls to the new EmReadList API function call on the Embedded code to gather and transfer the data.
EmLoadExec for Big-Endian DSP32C Executables
New Directory Hierarchy for Windows Installation
This version of EMAPI software and future CAC support software will be loaded in a single root directory. This allows the relative directory structure to be preserved under a single root, and permits different CAC software components to work together correctly. The default is C:\Program Files\CAC. This setting is saved in the registry under "HKEY_LOCAL_MACHINE\SOFTWARE\CAC\Path". The user can specify a different top-level directory during installation but it is recommended that the default directory be used.
The common utility programs and DLLs are loaded into the BIN subdirectory. The install program adds this directory to the PATH. Header files that are referenced by user applications are loaded into the INCLUDE subdirectory. Files such as boot code for embedded processors are loaded into the LIB subdirectory.
The EMPACK specific files are loaded into appropriate subdirectories under the EMPACK subdirectory. Diagnostic and demonstration programs are in the EMPACK\DIAG and EMPACK\DEMO directories, respectively.