stdf4_survey.pl - Surveys an STDF Version 4 file and outputs information about the file contents to standard output.
perl stdf4_survey.pl [OPTIONS] ARGUMENTS
OPTIONS
-a, --about
Displays information about this program.
-d, --debug
Enables debug mode which outputs debug information to
standard output.
-h, --help
Displays help for this program.
-l, --log
Enables log mode which outputs log information to
standard output.
ARGUMENTS
StdfFileSpec
The input STDF file specification.
RETURNS
The program returns a value of unix true (0) if no errors
occur; otherwise, a value of unix false (1) is returned.
STANDARD INPUT
Standard input is ignored.
STANDARD OUTPUT
STANDARD ERROR
If an error occurs then a message is output to standard error.
perl stdf4_survey.pl -a
perl stdf4_survey.pl --about
Displays information about the program.
perl stdf4_survey.pl -h
perl stdf4_survey.pl --help
Displays the help for the program.
perl stdf4_survey.pl StdfFileSpec
Surveys the STDF file specified by StdfFileSpec and outputs
the survey results to standard output.
perl stdf4_survey.pl -d StdfFileSpec
perl stdf4_survey.pl --debug StdfFileSpec
Surveys the STDF file specified by StdfFileSpec and outputs
the survey results and debug information to standard output.
NOTE: Use command line redirection to capture standard
output to a file.
This program surveys an STDF Version 4 file and outputs information about the file contents to standard output.
The default output consists of the a header and the survey of each record in the STDF file.
A record survey consists of the record number (REC#), the absolute byte offset of the record in the file (ABO), the hex value of the record length (LENHEX), the decimal value of the record length (LENDEC), the hex value of the record type (TYPHEX), the decimal value of the record type (TYPDEC),the hex value of the record sub-type (SUBHEX), the decimal value of the record sub-type (SUBDEC),the hex value of the record data (DATHEX), the text of the record length (DATTXT).
NOTE: All control characters and ASCII characters equal to or greater than decimal 126 are filtered and replaced by the ° character in the text representation of the data.
REC# ABO LENHEX LENDEC TYPHEX TYPDEC SUBHEX SUBDEC RECNAM DATHEX DATTXT
1 0 0200 2 00 0 0A 10 FAR 0204 °°
2 6 AA00 170 01 1 0A 10 MIR 72F3684372F3684300505920FFFF200C544A4D4541303336305930300D4D433953303847543630434644074A3735302D3038044A3735301046696E616C5F546573745F34347166700C39533038474236305F4A3035000548523236380549472D584C07332E34302E30390346434E032D34300000000D4D4339533038475436304346440003544A4E00044C3331520232300000114D4339533038475436304346445F46434E0439393939 r°hCr°hC°PY°°°°°TJMEA0360Y00°MC9S08GT60CFD°J750-08°J750°Final_Test_44qfp°9S08GB60_J05°°HR268°IG-XL°3.40.09°FCN°-40°°°°MC9S08GT60CFD°°TJN°°L31R°20°°°MC9S08GT60CFD_FCN°9999
...
4260 113748 0400 4 01 1 14 20 MRR 9C016943 °°iC
If the log mode is enabled then log information is output in addition to the default output.
stdf4_survey.pl Copyright (C) 2005 Michael Hackerott. All Rights Reserved
STDF File Spec: ..\data\inp\STDF\FT_J750_112KB.stdf
STDF File Size: 113756 bytes
... <default output> ...
Surveyed 113756 byte STDF file in 1 seconds (113756.0 bytes/second).
If the debug mode is enabled then debug information is output in addition to the default output. (NOTE: debug mode increases the survey time and amount of output by approximately 15 to 25 times!)
%gOptions = ('log' => 1,'debug' => 1);
$gStdfFileSpec = '..\\data\\inp\\STDF\\FT_J750_112KB.stdf';
$gStdfFileSize = 113756;
REC# ABO LENHEX LENDEC TYPHEX TYPDEC SUBHEX SUBDEC RECNAM DATHEX DATTXT
$gStdfFile{'ABO'} = 0;
$gStdfRcrd{'LENBIN'} =
0000 00000010 02 2 ¤
0001 00000000 00 0 ¤
$stdfRecordRead::status = 2;
$gStdfRcrd{'LENHEX'} = '0200';
$gStdfFile{'ENDIAN'} = 1;
$stdfRecordRead::lenhex = '0002';
$gStdfRcrd{'LENDEC'} = '2';
$gStdfRcrd{'TYPBIN'} =
0000 00000000 00 0 ¤
$gStdfRcrd{'TYPHEX'} = '00';
$gStdfRcrd{'TYPDEC'} = 0;
$gStdfRcrd{'SUBBIN'} =
0000 00001010 0A 10 ¤
$gStdfRcrd{'SUBHEX'} = '0A';
$gStdfRcrd{'SUBDEC'} = 10;
$gStdfRcrdName = 'FAR';
$gStdfRcrd{'DATBIN'} =
0000 00000010 02 2 ¤
0001 00000100 04 4 ¤
$gStdfRcrd{'DATHEX'} = '0204';
$gStdfRcrd{'DATTXT'} = '°°';
1 0 0200 2 00 0 0A 10 FAR 0204 °°
...
• Perl 5.6 or newer.
• Perl core module strict.
• Perl custom module TDF.pm.
• perl core and module documentation.
• STDF Specification V4 published by Teradyne, Inc.
• ATDF Specification V2 published by Teradyne, Inc.
• Michael Hackerott, michael.hackerott@mrhackerott.org
Copyright © 2004-2005 Michael Hackerott. All rights reserved.
This program is free software; you can redistribute it and/r modify it under the terms of either the GNU General Public License or the Artistic License as specified in the Perl README file.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The Standard Test Data Format (STDF) and ASCII Test Data Format (ATDF) specifications are the original works of Teradyne Inc.
1.0.0 (200512031456) Michael Hackerott
• Created program.