AN1827 Freescale Semiconductor / Motorola, AN1827 Datasheet - Page 58

no-image

AN1827

Manufacturer Part Number
AN1827
Description
Programming and Erasing FLASH Memory on the MC68HC908AS60
Manufacturer
Freescale Semiconductor / Motorola
Datasheet
Application Note
/*
/*
/*
/*
/*
/**********************************************************************************/
unsigned char Prog8Bytes ()
{
58
Initializations required:
Values returned:
Set charge pump clock in FLCR1 and FLCR2; FLASH_addr set; data
buffer filled
unsigned char Blk_Protect1;
unsigned char Blk_Protect2;
unsigned char byte,status;
DisableInterrupts;
attempt=0;
Program Success/Error Flag
do {
writeFLCR (PGM);
Blk_Protect1 = FLBPR1;
Blk_Protect2 = FLBPR2;
for (byte=0;byte<8;byte++)
writeFLCR (HVEN);
Delay (tSTEP);
writeFLCR (HVEN);
Delay (tHVTV);
status=0;
writeFLCR (MARGIN);
Delay (tVTP);
writeFLCR (PGM);
Delay (tHVD);
*(FLASH_addr+byte)=data[byte];
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
/* set up local variables
/* No interrupts allowed during
/*
/* Step 1 - Clear attempt counter
/* Set up Repeat Loop
/* Step 2 - Set the PGM bit
/* Step 3 - Read from the block
/*
/* Step 4 - Copy the 8 bytes of data
/*
/*
/* Step 5 - Set the HVEN bit
/* Step 6 - Wait for time tSTEP
/* Step 7 - Clear the HVEN bit
/* Step 8 - Wait for time tHVTV
/* Step 9 - Set the MARGIN bit
/* Step 10 - Wait for time tVTP
/* Step 11 - Clear the PGM bit
/* Step 12 - Wait for time tHVD
appropriate FLASH locations
protect registers
from the RAM buffer to the
programming
MOTOROLA
AN1827
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/

Related parts for AN1827