Parallel Port Programming Examples
.section/dm seg_dmda;
.var source[8] = 0x11111111,
.global _main;
.section/pm seg_pmco;
_main:
ustat3 = dm(PPCTL);
bit clr ustat3 PPEN|PPDEN;
dm(PPCTL) = ustat3;
/* initiate parallel port DMA registers*/
r0 = source;
r0 = 1;
r0 = LENGTH(source);
r0 = 1;
r0 = 0x1000000;
/* For 16-bit external memory, the External count is
double the internal count */
r0 = LENGTH(source) * 2;
ustat3 = PP16|
PPTRAN|
PPBHC|
PPDUR20;
dm(PPCTL) = ustat3;
8-24
0x22222222,
0x33333333,
0x44444444,
0x55555555,
0x66666666,
0x77777777,
0x88888888;
/*disable parallel port*/
dm(IIPP) = r0;
dm(IMPP) = r0;
dm(ICPP) = r0;
dm(EMPP) = r0;
dm(EIPP) = r0;
dm(ECPP) = r0;
/* for a 16-bit external memory */
/* transmit (write) */
/* implement a bus hold cycle*/
/* make pp data cycles last for a duration
of 20 cclk cycles */
ADSP-2126x SHARC Processor Hardware Reference
Need help?
Do you have a question about the ADSP-21261 SHARC and is the answer not in the manual?
Questions and answers