MC68HC711E9FU Freescale Semiconductor, MC68HC711E9FU Datasheet - Page 213
Manufacturer Part Number
Specifications of MC68HC711E9FU
Device Core Size
Program Memory Type
Program Memory Size
Total Internal Ram Size
# I/os (max)
Number Of Timers - General Purpose
Operating Supply Voltage (typ)
Operating Supply Voltage (max)
Operating Supply Voltage (min)
Instruction Set Architecture
Operating Temp Range
0C to 70C
Operating Temperature Classification
Lead Free Status / Rohs Status
A problem arose with the BASIC programming technique used. The draft versions of this program tried
saving the object code bytes directly as binary in a string array. This caused "Out of Memory" or "Out of
String Space" errors on both a 2-Mbyte Macintosh and a 640-Kbyte PC. The solution was to make the
array an integer array and perform the integer-to-binary conversion on each byte as it is sent to the target
The one compromise made to accommodate both Macintosh and PC versions of BASIC is in lines 1500
and 1505. Use line 1500 and comment out line 1505 if the program is to be run on a Macintosh, and,
conversely, use line 1505 and comment out line 1500 if a PC is used.
After the COM port is opened, the code to be bootloaded is modified by adding the $FF to the start of the
string. $FF synchronizes the bootloader in the MC68HC711E9 to 1200 baud. The entire string is simply
sent to the COM port by PRINTing the string. This is possible since the string is actually queued in
BASIC’s COM buffer, and the operating system takes care of sending the bytes out one at a time. The
M68HC11 echoes the data received for verification. No automatic verification is provided, though the data
is printed to the screen for manual verification.
Once the MCU has received this bootloaded code, the bootloader automatically jumps to it. The small
bootloaded program in turn includes a jump to the EPROM programming routine in the boot ROM.
Refer to the previous explanation of the
host system sends the first byte to be programmed through the COM port to the SCI of the MCU. The SCI
port on the MCU buffers one byte while receiving another byte, increasing the throughput of the EPROM
programming operation by sending the second byte while the first is being programmed.
When the first byte has been programmed, the MCU reads the EPROM location and sends the result back
to the host system. The host then compares what was actually programmed to what was originally sent.
A message indicating which byte is being verified is displayed in the lower half of the screen. If there is
an error, it is displayed at the top of the screen.
As soon as the first byte is verified, the third byte is sent. In the meantime, the MCU has already started
programming the second byte. This process of verifying and queueing a byte continues until the host
finishes sending data. If the programming is completely successful, no error messages will have been
displayed at the top of the screen. Subroutines follow the end of the program to handle some of the
repetitive tasks. These routines are short, and the commenting in the source code should be sufficient
This example programmed version 3.4 of the BUFFALO monitor into the EPROM of an MC68HC711E9;
the changes to the BASIC program to download some other program are minor.
The necessary changes are:
2. Also in line 30, the starting address of the program is assigned to the variable ADRSTART.
3. In line 9570, the start address of the program is stored in the third and fourth items in that DATA
4. If any changes are made to the number of bytes in the boot code in the DATA statements in lines
statement in hexadecimal.
9500–9580, then the new count must be set in the variable "BOOTCOUNT" in line 25.
In line 30, the length of the program to be downloaded must be assigned to the variable
M68HC11 Bootstrap Mode, Rev. 1.1
EPROM Programming Utility
Driving Boot Mode from a Personal Computer
for the following discussion. The