![Intel 8XC196NT Скачать руководство пользователя страница 406](http://html1.mh-extra.com/html/intel/8xc196nt/8xc196nt_user-manual_2072210406.webp)
15-43
PROGRAMMING THE NONVOLATILE MEMORY
15.11 RUN-TIME PROGRAMMING
You can program an OTPROM location during normal code execution. To make the OTPROM
array accessible, apply V
CC
voltage to EA# while you reset the device. Apply V
PP
voltage to the
V
PP
pin during the entire programming process. Then simply write to the location to be pro-
grammed.
NOTE
Programming either security-lock bit in CCB0 disables run-time
programming. (For details, see “Controlling Access to the OTPROM During
Normal Operation” on page 15-4.)
Immediately after writing to the OTPROM, the device must either enter idle mode or execute code
from external memory. An access to OTPROM would abort the current programming cycle. Each
programming cycle begins when a word is written to the OTPROM and ends when the next
OTPROM access occurs. Each word requires a total of five programming cycles, each of which
must be approximately 100
µ
s in duration.
Figure 15-15 is a run-time programming example. It performs five programming cycles for each
word. After each programming cycle, the code causes the device to enter idle mode. EPA0 causes
the device to exit idle mode at the appropriate time. To ensure that the device does not exit idle
mode prematurely, all other interrupts are disabled.
The routine assumes that the following conditions are true:
•
the EPA is dedicated to run-time programming
•
timer 1 is configured to use an internal clock
•
EPA0_ISR is assigned as the EPA0 interrupt vector.
It also assumes that the following constants and registers are assigned:
CLEAR_EPA0
constant (0EFH) that clears the EPA0 interrupt pending bit
ENABLE_EPA0
constant (10H) that enables only the EPA0 interrupt
EPA0_TIMER
constant (40H) that sets up EPA0 as a software timer using timer 1
PGM_PULSE
constant that determines programming pulse width
ADDR_TEMP
register that contains the address to be programmed
COUNT
count register
DATA_TEMP
register that contains the data to be programmed
TEMP0
temporary register
Содержание 8XC196NT
Страница 1: ...8XC196NT Microcontroller User s Manual...
Страница 2: ...8XC196NT Microcontroller User s Manual June 1995 Order Number 272317 003...
Страница 22: ...1 Guide to This Manual...
Страница 23: ......
Страница 35: ......
Страница 36: ...2 Architectural Overview...
Страница 37: ......
Страница 49: ......
Страница 50: ...3 Programming Considerations...
Страница 51: ......
Страница 66: ...4 Memory Partitions...
Страница 67: ......
Страница 104: ...5 Standard and PTS Interrupts...
Страница 105: ......
Страница 147: ......
Страница 148: ...6 I O Ports...
Страница 149: ......
Страница 176: ...7 Serial I O SIO Port...
Страница 177: ......
Страница 194: ...8 Synchronous Serial I O SSIO Port...
Страница 195: ......
Страница 211: ......
Страница 212: ...9 Slave Port...
Страница 213: ......
Страница 231: ......
Страница 232: ...10 Event Processor Array EPA...
Страница 233: ......
Страница 270: ...11 Analog to digital Converter...
Страница 271: ......
Страница 291: ......
Страница 292: ...12 Minimum Hardware Considerations...
Страница 293: ......
Страница 306: ...13 Special Operating Modes...
Страница 307: ......
Страница 317: ......
Страница 318: ...14 Interfacing with External Memory...
Страница 319: ......
Страница 362: ...15 Programming the Nonvolatile Memory...
Страница 363: ......
Страница 408: ...A Instruction Set Reference...
Страница 409: ......
Страница 476: ...B Signal Descriptions...
Страница 477: ......
Страница 493: ......
Страница 494: ...C Registers...
Страница 495: ......
Страница 565: ......
Страница 566: ...Glossary...
Страница 567: ......
Страница 580: ...Index...
Страница 581: ......
Страница 597: ......