s908ey16g2vfar Freescale Semiconductor, Inc, s908ey16g2vfar Datasheet - Page 250

no-image

s908ey16g2vfar

Manufacturer Part Number
s908ey16g2vfar
Description
M68hc08 Microcontrollers Microcontroller
Manufacturer
Freescale Semiconductor, Inc
Datasheet
Development Support
Upon power-on reset, if the received bytes of the security code do not match the data at locations
$FFF6–$FFFD, the host fails to bypass the security feature. The MCU remains in monitor mode, but
reading a FLASH location returns an invalid value and trying to execute code from FLASH causes an
illegal address reset. After receiving the eight security bytes from the host, the MCU transmits a break
character, signifying that it is ready to receive a command.
To determine whether the security code entered is correct, check to see if bit 6 of RAM address $40 is
set. If it is, then the correct security code has been entered and FLASH can be accessed.
If the security sequence fails, the device should be reset by a power-on reset and brought up in monitor
mode to attempt another entry. After failing the security sequence, the FLASH module can also be mass
erased by executing an erase routine that was downloaded into internal RAM. The mass erase operation
clears the security code locations so that all eight security bytes become $FF (blank).
19.3.3 Extended Security
In addition to the above security, a more secure feature called extended security is implemented in the
MCU to further protect FLASH contents. Once this extended security is enabled, the MCU does not allow
any user to enter the monitor mode even when all 8 security bytes are matched correctly. The extended
security feature can be enabled by programming address $FDFF located in the user FLASH memory with
data $00.
To unlock the extended security feature, the MCU must enter the monitor mode by failing the 8 byte
security check. Then the FLASH must be mass-erased. This unlock process will erase the FLASH
contents completely.
19.4 Routines Supported in ROM
In the ROM, five routines are supported. Because the ROM has a jump table, the user does not call the
routines with direct addresses. Therefore, the calling addresses will not change—even when the ROM
code is updated in the future.
This section introduces each routine briefly. Details are discussed in later sections.
250
GetByte — This routine is used to receive a byte serially on the general-purpose I/O PTA0. The
receiving baud rate is the same as the baud rate used in monitor mode. In the GetByte routine, the
GetBit routine is called to generate baud rates.
PutByte — This routine is used to send a byte serially on the general-purpose I/O PTA0. The
sending baud rate is the same as the baud rate specified in monitor mode.
Verify — This routine is used to perform one of two options. Using the send-out option, this routine
reads FLASH locations and sends the data out serially on the general-purpose I/O PTA0. Using
the compare option, this routine compares the FLASH data against data in a specific RAM location,
which is referred to as a DATA array. The DATA array locations and the variable locations required
for this routine are at fixed memory addresses.
The MCU does not transmit a break character until after the host sends the
eight security bytes.
To avoid enabling the extended security unintentionally, the user must
make sure that the user software does not contain data $00 at address
$FDFF.
MC68HC908EY16A • MC68HC908EY8A Data Sheet, Rev. 1
NOTE
NOTE
Freescale Semiconductor

Related parts for s908ey16g2vfar