Skip to main content
Application NoteNxp

On-Chip FLASH Programming Routines for MC68HC908 Series Microcontrollers

Technical guide for using on-chip ROM routines to program, erase, and verify FLASH memory on NXP MC68HC908 series microcontrollers including LB, QL, QB, QC, QY, and QT families.

View application note

Overview

This application note provides detailed instructions for utilizing the on-chip FLASH support routines resident in the ROM of several MC68HC908 microcontroller series. These routines, which include GetByte, PutByte, RDVRRNG (Read/Verify Range), PRGRNGE (Program Range), ERARNGE (Erase Range), and DELNUS (Delay), allow for FLASH operations in both user and monitor modes without requiring custom driver development. The document specifies hardware requirements, such as pullup resistors on PTA0 for serial communication, and software requirements including RAM variable initialization for CPU speed (CPUSPD), range addresses (LADDR), and control bytes. Programming and erasing operations are supported for internal operating frequencies between 1.0 MHz and 8.4 MHz. It also outlines the stack usage, exit conditions, and bit-level configurations for mass and page erase operations.

Use Cases

  • Developing bootloaders for MC68HC908 series microcontrollers
  • Implementing in-application FLASH updates
  • Serial data transfer using built-in MCU routines
  • Verifying FLASH memory integrity after programming
  • Performing mass or page erase operations in embedded systems

Topics

FLASH programming
MC68HC908
ROM routines
microcontroller
in-system programming
FLASH erase
serial communication
PTA0
NXP
Freescale

Referenced Parts

MC68HC908LB8

NXP

For MC68HC908LB8, MC68HC908QL4, MC68HC908QB8, MC68HC908QC16, MC68HC908QY8, and MC68HC908QY4A Series 1

MC68HC908QB4

NXP

This application note applies to the MC68HC908LB8, MC68HC908QL4, MC68HC908QB4/QB8/QY8

MC68HC908QB8

NXP

For MC68HC908LB8, MC68HC908QL4, MC68HC908QB8, MC68HC908QC16, MC68HC908QY8, and MC68HC908QY4A Series 1

MC68HC908QC16

NXP

For MC68HC908LB8, MC68HC908QL4, MC68HC908QB8, MC68HC908QC16, MC68HC908QY8, and MC68HC908QY4A Series 1

MC68HC908QC8

NXP

MC68HC908QC16/QC8 and MC68HC908QY4A Series1

MC68HC908QL4

NXP

For MC68HC908LB8, MC68HC908QL4, MC68HC908QB8, MC68HC908QC16, MC68HC908QY8, and MC68HC908QY4A Series 1

MC68HC908QT1A

NXP

MC68HC908QY4A Series includes MC68HC908QY4A, MC68HC908QY2A, MC68HC908QY1A, MC68HC908QT4A, MC68HC908QT2A, MC68HC908QT1A

MC68HC908QT2A

NXP

MC68HC908QY4A Series includes MC68HC908QY4A, MC68HC908QY2A, MC68HC908QY1A, MC68HC908QT4A, MC68HC908QT2A, MC68HC908QT1A

MC68HC908QT4A

NXP

MC68HC908QY4A Series includes MC68HC908QY4A, MC68HC908QY2A, MC68HC908QY1A, MC68HC908QT4A, MC68HC908QT2A, MC68HC908QT1A

MC68HC908QY1A

NXP

MC68HC908QY4A Series includes MC68HC908QY4A, MC68HC908QY2A, MC68HC908QY1A, MC68HC908QT4A, MC68HC908QT2A, MC68HC908QT1A

MC68HC908QY2A

NXP

MC68HC908QY4A Series includes MC68HC908QY4A, MC68HC908QY2A, MC68HC908QY1A, MC68HC908QT4A, MC68HC908QT2A, MC68HC908QT1A

MC68HC908QY4A

NXP

MC68HC908QY4A Series includes MC68HC908QY4A, MC68HC908QY2A, MC68HC908QY1A, MC68HC908QT4A, MC68HC908QT2A, MC68HC908QT1A

MC68HC908QY8

NXP

For MC68HC908LB8, MC68HC908QL4, MC68HC908QB8, MC68HC908QC16, MC68HC908QY8, and MC68HC908QY4A Series 1