Motorola Semiconductor Engineering Bulletin EB422 Enhanced
Motorola Semiconductor Engineering Bulletin EB422 Enhanced
Motorola Semiconductor Engineering Bulletin EB422 Enhanced
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