09.01.2013 Views

Motorola Semiconductor Engineering Bulletin EB422 Enhanced

Motorola Semiconductor Engineering Bulletin EB422 Enhanced

Motorola Semiconductor Engineering Bulletin EB422 Enhanced

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Freescale <strong>Semiconductor</strong>, Inc...<br />

<strong>Engineering</strong> <strong>Bulletin</strong><br />

Freescale <strong>Semiconductor</strong>, Inc.<br />

0155 *<br />

0156 * ENTRY X=$1000<br />

0157 * EXIT X=$1000, Y=$0000<br />

0158 *<br />

0159 bf58 ERASE EQU *<br />

0160 * SET EEPGM BIT<br />

0161 bf58 1c 3b 01 BSET PPROG,X $01<br />

0162 * 10 MILLISEC DELAY @ 2.1 MHZ<br />

0163 bf5b 18 ce 0b b8 LDY #3000<br />

0164 bf5f 18 09 BK1 DEY<br />

0165 bf61 26 fc BNE BK1<br />

0166 * TURN OFF ERASE AND EELAT BITS<br />

0167 bf63 6f 3b CLR PPROG,X<br />

0168 bf65 39 RTS<br />

0169 *<br />

0170 * EPROM TEST SUBROUTINE<br />

0171 *<br />

0172 bf66 a1 00 TSTLP CMPA 0,X (A=$FF)<br />

0173 bf68 26 fe BNE *<br />

0174 bf6a 08 TSTOK INX<br />

0175 bf6b 39 RTS<br />

0176<br />

0177 *********************************************************************<br />

0178 * NOW ERASE CONFIG REGISTER<br />

0179 *<br />

0180 bf6c ECONFG EQU *<br />

0181 * SET ERASE AND EELAT BITS<br />

0182 bf6c e7 3b STAB PPROG,X (B STILL = $06)<br />

0183 * WRITE CONFIG REGISTER LATCH IT FOR ERASURE<br />

0184 bf6e e7 3f STAB CONFIG,X<br />

0185 bf70 8d e6 BSR ERASE<br />

0186 ********<br />

0187 * ERASE CYCLE IS COMPLETE<br />

0188 *<br />

0189 *********************************************************************<br />

0190 * NON-SECURITY AND SECURITY MODES MEET HERE<br />

0191 *<br />

0192 bf72 NOSEC EQU *<br />

0193 ********<br />

0194 * SET UP DELAY FOR FASTEST BAUD RATE<br />

0195 bf72 cc 02 1b LDD #DELAYF<br />

0196 bf75 ed 16 STD TOC1,X<br />

0197 ********<br />

0198 * SEND BREAK TO SIGNAL START OF DOWNLOAD<br />

0199 bf77 1c 2d 01 BSET SCCR2,X $01<br />

0200 * CLEAR BREAK AS SOON AS START BIT IS DETECTED<br />

0201 bf7a 1e 08 01 fc BRSET PORTD,X $01 *<br />

0202 bf7e 1d 2d 01 BCLR SCCR2,X $01 CLEAR BREAK<br />

0203 * WAIT FOR FIRST CHARACTER (USERS SEND $FF)<br />

0204 bf81 1f 2e 20 fc BRCLR SCSR,X $20 * WAIT FOR RDRF<br />

0205 bf85 a6 2f LDAA SCDAT,X READ DATA<br />

0206 * IF DATA = $00 (BREAK OR $00), THEN JUMP TO EEPROM<br />

0207 bf87 26 03 BNE NOTZERO<br />

0208 bf89 7e b6 00 JMP EEPSTR<br />

0209 bf8c NOTZERO EQU *<br />

0210 * IF DATA = $FF, THEN /16 IS CORRECT BAUD<br />

0211 bf8c 81 ff CMPA #$FF<br />

0212 bf8e 27 08 BEQ BAUDOK<br />

0213 * ELSE CHANGE TO /104 (/13 & /8) 1200 @ 2MHZ<br />

0214 bf90 1c 2b 33 BSET BAUD,X $33<br />

0215 * SET UP DELAY FOR SLOWER BAUD RATE<br />

0216 bf93 cc 0d b0 LDD #DELAYS<br />

0217 bf96 ed 16 STD TOC1,X<br />

0218 *<br />

0219 bf98 BAUDOK EQU *<br />

0220 bf98 18 ce 00 00 LDY #RAMSTR PNTR TO START OF RAM<br />

0221 *<br />

0222 * TIME EACH BYTE<br />

<strong>EB422</strong><br />

36 MOTOROLA<br />

For More Information On This Product,<br />

Go to: www.freescale.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!