Reply by June 13, 20012001-06-13


Hi,

Thought the list might be interested in the format used in the .idm files
generated under
VisualDSP++ 2.0 (ADSP-218x) that are used for idma boot loading.

Thanx go to Analog FAE Jeff Sondermeyer and Dana NLN from Technical Support.

===========================
===========================
Analog Devices .idm file format

The output of passing -idma switch to the elfspl21 is an ASCII file
containing a series of "records", each a stream of 16 bit hexadecimal
values, one per line.

Each record begins with a header composed of two (for -2181 switch) or
three (for -218x switch) words, followed by a stream of words representing
the data or code.

.idm| elfspl21 switch
line| -2181 | -218x |
----+------------------+-----------------------+
1| 1st HDR wd count | HDR wd count |
2| HDR idma ctrl reg| HDR idma ctrl reg |
3| DATA | HDR DMOVLAY or PMOVLAY|
4| DATA | DATA |
5| DATA | DATA |
| *** | *** |
#1 | 2nd HDR wd count | HDR wd count |
| HDR idma ctrl reg| HDR idma ctrl reg |
| DATA | HDR DMOVLAY or PMOVLAY|
| DATA | DATA |
| DATA | DATA |
| *** | *** |
#2 | 3rd HDR wd count | HDR wd count |
| HDR idma ctrl reg| HDR idma ctrl reg |
| DATA | HDR DMOVLAY or PMOVLAY|
| DATA | DATA |
| DATA | DATA |
| *** | *** |
#3 | REC_TERM (0xffff)| REC_TERM (0xffff) |
+------------------+-----------------------+

Notes: for -218x
#1 - file line number = 4 + (1st HDR wd count)
#2 - file line number = (line #1) + 3 + (2nd HDR wd count)
#3 - file line number = (line #2) + 3 + (3rd HDR wd count)

A DM record will require one word per DM word, a PM record holds
information in two words per PM word, with the second word containing the 8
lsbs, right-justified.

DATA DM (0x1111)

DATA PM (0x1122)
DATA PM (0x0033)

For "-2181", the header contains the word count in the first word,
and the IDMA Control Register value in the second. This second word
will thus identify whether the record contains PM or DM.

For "-218x" the additional third header word contains the DMOVLAY or
PMOVLAY register value The series of records corresponding to a single
program will be terminated with a value of FFFF.