July 10, 2002
Overview
The following changes are introduced in this release:
Note: This release includes new FPGA configurations and embedded code. Run the dpflashup program after installation to update the FPGA configuration data on the DPT4 board(s).
The software and FPGA configurations are not compatible with previous versions. Therefore some warning messages about version conflicts may appear when the flash program is run.
The Linux Device Driver Now Provides Full Support for DPT
The device driver and API have been tested with Red Hat Linux 7.2 and 7.3
with Kernel versions 2.4.7-10, 2.4.9-31 and 2.4.18-3.
See the Readme file in the linuxdev directory of the
software distribution for more information.
Section 13 of the "DPT4 Hardware Reference Manual" is updated to describe
the procedure for re-loading the flash memory of an unconfigured board.
Library and Device Driver Changes Fix Several Problems
The first two problems are solved by changes in API library functions
that are involved in those IO operations.
The third problem is solved by having the device driver perform the actual
IO operations to DPT board registers and having the device driver break up
write accesses by performing read operations after critical write operations.
Having these operations performed in the device driver also provides a
mechanism to avoid IO operations being combined from separate processes
and threads.
Functions in the API library that require register access are modified
to perform those operations using calls to the device driver level.
Some problems encountered are often due to DPT boards not being initialized
prior to use.
This problem is solved by the library functions used to open DPT devices
checking a new register bit indicating that the board has been initialized.
The register bit is set by the dpinit program.
If a device is opened prior to initialization the call to the open function
will fail.
A special flag to the open function, PCI_OPEN_IGNORE_INIT_FLAG
is provided so that programs that require accessing uninitialized DPT
boards can still open the devices.
The API library and device drivers are also modified to have the device
drivers cache data read from and written to the EEPROM on the DPT board.
Operations requiring EEPROM access take advantage of the cached values
instead of having to actually access the EEPROM every time.
Downloading MIPS Programs in ELF Format is Now Supported
Prior to version 1.3.0, the DPT's embedded code that performs the
channelization operations was actually included with the MIPS loader code.
Starting with version 1.3.0, the embedded application is separated
from the loader code.
The loader code may now be used to boot user applications loaded into
SDRAM or flash memory.
Information on how to build and use MIPS applications will be provided
in a forthcoming DPT application note.
New and Modified Utility and Diagnostic Programs
The cold reset option (-c) is removed from the dpinit
and dprun programs because it is no longer supported by the
current FPGA configurations.
The dptp12config program is fixed to handle situations
where the host checks JTAG status before the FPGA has had time to
set its "data valid" flag.
A new diagnostic program, dpmemtest, provides a tool to test
all of the memory on a DPT4 board.
This includes the global SDRAM on the baseboard, TDM map memory and
memory on smPCI modules.
However, the current version does not support testing DSP internal memory
on smPCI modules.
The dppws program is no longer included in the distribution.
This was a program used for some early hardware development.
The Linux device driver for the DPT4 now supports all of the DPT functionality
including channelization and handling of unconfigured DPT boards.
Several intermittent and reproducible failures have been traced to
problems related to IO operations that exceeded or otherwise violated
requirements of the DPT board's hardware interface.
Among these problems are:
The library functions for downloading embedded application code now support
loading files in ELF format.
A new macro, MM_ELF, is provided to be used as codetype argument
to indicate ELF format files to the following library functions used to
download and read executable code:
pci_load_code, pci_verify_code, and pci_read_code.
The following programs are modified to ignore the uninitialized board
condition when opening DPT devices:
dpclock, dpdebug, dpdumpcfg, dpfind,
dpflashup, dpinfo, dpinit, dpserial
and dptp12config.
The dpfind and dpdebug programs will issue
a warning when an uninitialized board is encountered.
In addition to the MIPS loader change,
some minor bugs in the channelization application were fixed.