11
DMA Ports
11 – 11
If you are developing your own boot-loading software for the ADSP-2181,
however, you should note that the BDMA Context Reset bit (BCR) is set to
1 (inhibiting program execution during BDMA transfer) and a BDMA
interrupt is pending (signalling the first 32 word were sent) after the boot
sequence is complete. Your program will have to process the interrupt (if
you unmask the BDMA interrupt with the IMASK register) or clear the
interrupt (with the IFC register).
In an alternate method, using the BDMA interrupt without context clear, a
loader program could suspend program execution with the IDLE
instruction while BDMA boot loading. If the loader sets the PM boot-load
parameters, enables only the BDMA interrupt in the IMASK register, and
then executes an IDLE instruction—the IDLE instruction suspends
program execution until the BDMA interrupt occurs. At that point all of
program memory is loaded.
11.2.4.1 Development Software Features for BDMA Booting
The ADSP-21xx PROM Splitter utility lets you create BDMA boot-
loader programs for ADSP-2181-based designs. This provides a
low overhead method for BDMA boot-loading your program. The
boot loader program adds memory loader code to your executable
program. The PROM Splitter generates loader code that initializes
up to 6 pages of program memory and 4 pages of data memory,
where each page is 16k bytes in size. Typically, the code generated
by the PROM Splitter is burned into an EPROM and used as the
ADSP-2181’s Byte Memory space.
When the MMAP and BMODE pins equal 0, the ADSP-2181 will
load the first 32 program memory words from the Byte memory
space and then begin execution. The loader routine is in those first
32 words; it continues to load from the Byte Port until your whole
program is loaded.
Refer to the ADSP-2100 Family Assembler Tools & Simulator Manual
as well as the software release note for complete information on
the PROM Splitter features.