Document
Features
• Protocol
– UART Used as a Physical Layer – Based on the Intel Hex-type Records – Autobaud • In-System Programming – Read/Write Flash Memory – Read Device IDs – Block Erase – Full-chip Erase – Read/Write Configuration Bytes – Security Setting From ISP Command – Remote Application Start Command • In-Application Programming/Self-Programming – Read/Write Flash Memory – Read Device IDs – Block Erase – Read/Write Configuration Bytes – Bootloader Start
MP3 Microcontrollers
Description
This document describes the UART bootloader functionalities as well as the serial protocol to efficiently perform operations on the on-chip Flash memory. Additional information for the AT89C51SND1 product can be found in the AT89C51SND1 data sheet and the AT89C51SND1 errata sheet available on the Atmel web site, www.atmel.com. The bootloader software package (source code and binary) currently used for production is available from the Atmel web site.
AT89C51SND1 UART Bootloader
Bootloader Revision Revision 1.0.0 Revision 1.1.0
Purpose of Modifications New release increasing programming speed Bug fix in boot process
Date June 2002 October 2002
4241B–MP3–07/04
1
Functional Description
In-System Programming Capability
The AT89C51SND1 bootloader facilitates In-System Programming and In-Application Programming. In-System Programming (ISP) allows the user to program or reprogram a microcontroller’s on-chip Flash memory without removing it from the system and without the need of a pre-programmed application. The UART bootloader can manage a communication with a host through the serial network. It can also access and perform requested operations on the on-chip Flash memory.
In-Application Programming or SelfProgramming Capability
In-Application Programming (IAP) allows the reprogramming of a microcontroller’s onchip Flash memory without removing it from the system and while the embedded application is running. The UART bootloader contains some Application Programming Interface routines named API routines allowing IAP by using the user’s firmware.
Block Diagram
This section describes the different parts of the bootloader. Figure 1 shows the on-chip bootloader and IAP processes. Figure 1. Bootloader Process Description
External Host via the UART Protocol Communication On-chip User Application
ISP Communication Management
IAP User Call Management
Flash memory Management
Flash Memory
2
AT89C51SND1 UART Bootloader
4241B–MP3–07/04
AT89C51SND1 UART Bootloader
ISP Communication Management The purpose of this process is to manage the communication and its protocol between the on-chip bootloader and an external device (host). The on-chip bootloader implements a serial protocol (see Section “Protocol”, page 9). This process translates serial communication frames (UART) into Flash memory accesses (read, write, erase, etc.). Several Application Program Interface (API) calls are available to the application program to selectively erase and program Flash pages. All.