Freescale Semiconductor 802 15 4 Users Manual Freeloader Embedded Bootloader

802.15.4 to the manual dc40aeaa-4acc-4dca-932a-5943dc5bfc2a

2015-02-09

: Freescale-Semiconductor Freescale-Semiconductor-802-15-4-Users-Manual-552173 freescale-semiconductor-802-15-4-users-manual-552173 freescale-semiconductor pdf

Open the PDF directly: View PDF PDF.
Page Count: 66

DownloadFreescale-Semiconductor Freescale-Semiconductor-802-15-4-Users-Manual- Freeloader Embedded Bootloader  Freescale-semiconductor-802-15-4-users-manual
Open PDF In BrowserView PDF
802.15.4/Zigbee
Embedded Bootloader
Reference Manual

802154EBRM/D
Rev. 0.0, 09/2004

How to Reach Us:
USA/Europe/Locations Not Listed:
Freescale Semiconductor Literature Distribution Center
P.O. Box 5405
Denver, Colorado 80217
1-800-521-6274 or 480-768-2130
Japan:
Freescale Semiconductor Japan Ltd.
Technical Information Center
3-20-1, Minami-Azabu, Minato-ku
Tokyo 106-8573, Japan
81-3-3440-3569
Asia/Pacific:
Freescale Semiconductor Hong Kong Ltd.
2 Dai King Street
Tai Po Industrial Estate
Tai Po, N.T., Hong Kong
852-26668334
Home Page:
www.freescale.com

Information in this document is provided solely to enable system and software
implementers to use Freescale Semiconductor products. There are no express or
implied copyright licenses granted hereunder to design or fabricate any integrated
circuits or integrated circuits based on the information in this document.
Freescale Semiconductor reserves the right to make changes without further notice
to any products herein. Freescale Semiconductor makes no warranty, representation
or guarantee regarding the suitability of its products for any particular purpose, nor
does Freescale Semiconductor assume any liability arising out of the application or
use of any product or circuit, and specifically disclaims any and all liability, including
without limitation consequential or incidental damages. “Typical” parameters that may
be provided in Freescale Semiconductor data sheets and/or specifications can and
do vary in different applications and actual performance may vary over time. All
operating parameters, including “Typicals”, must be validated for each customer
application by customer’s technical experts. Freescale Semiconductor does not
convey any license under its patent rights nor the rights of others. Freescale
Semiconductor products are not designed, intended, or authorized for use as
components in systems intended for surgical implant into the body, or other
applications intended to support or sustain life, or for any other application in which
the failure of the Freescale Semiconductor product could create a situation where
personal injury or death may occur. Should Buyer purchase or use Freescale
Semiconductor products for any such unintended or unauthorized application, Buyer
shall indemnify and hold Freescale Semiconductor and its officers, employees,
subsidiaries, affiliates, and distributors harmless against all claims, costs, damages,
and expenses, and reasonable attorney fees arising out of, directly or indirectly, any
claim of personal injury or death associated with such unintended or unauthorized
use, even if such claim alleges that Freescale Semiconductor was negligent
regarding the design or manufacture of the part.
Learn More: For more information about Freescale products, please visit
www.freescale.com.
Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners.
© Freescale Semiconductor, Inc. 2004. All rights reserved.

Freescale Semiconductor
2

Embedded Bootloader Reference Manual, Rev. 0.0

Contents
About This Book ..................................................................................................................... vi
Audience ......................................................................................................................................................vi
Organization.................................................................................................................................................vi
Conventions ................................................................................................................................................vii
Definitions, Acronyms, and Abbreviations.................................................................................................vii
References..................................................................................................................................................viii
Revision History ........................................................................................................................................viii
Chapter 1 Embedded Bootloader Description .................................................................... 1-1
1.1

Target ............................................................................................................................................1-1

1.1.1

Ported Targets ...............................................................................................................................1-2

1.2

Features.........................................................................................................................................1-3

1.3

Benefits .........................................................................................................................................1-3

1.4

Potential Issues .............................................................................................................................1-3

1.4.1

Optional Firmware Upload Settings .............................................................................................1-4

Chapter 2 Using the Embedded Bootloader........................................................................ 2-1
2.1

Upload Firmware ..........................................................................................................................2-1

2.1.1

Use Case One................................................................................................................................2-1

2.1.2

Use Case Two ...............................................................................................................................2-2

2.1.3

Safe Mode Boot ............................................................................................................................2-2

2.2

Updating Non-volatile Memory (NVM).......................................................................................2-3

2.2.1

An Example of How to Change the MAC Address ......................................................................2-3

2.3

System Bus Frequency..................................................................................................................2-4

2.4

UART Baud Rate..........................................................................................................................2-4

Chapter 3 Test Tool – Zigbee Flash Tool............................................................................. 3-1
3.1

Graphical User Interface (GUI) Version.......................................................................................3-2

3.1.1

Using the Tools Menu Option.......................................................................................................3-2

3.1.2

Using the View Menu Option .......................................................................................................3-3

3.1.3

Selecting the Firmware File to Upload .........................................................................................3-4

3.1.4

Using the Help Menu....................................................................................................................3-6

3.1.5

Changing the NVM Data in Flash or File .....................................................................................3-6

3.2

Command Line Version (CMD) ...................................................................................................3-8

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

iii

3.2.1

Normal Use Example (Default) ....................................................................................................3-9

3.2.2

Flash Erase Disabled Example......................................................................................................3-9

Chapter 4 Embedded Bootloader Programming................................................................. 4-1
4.1

Programming To An Empty (Erased) Board ................................................................................4-1

4.2

Upgrading The Embedded Bootloader .........................................................................................4-5

Chapter 5 Application Integration Reference Guide........................................................... 5-1
5.1

Product Deliverables.....................................................................................................................5-1

5.1.1

Embedded Bootloader Image........................................................................................................5-1

5.1.2

Application Support Files .............................................................................................................5-1

5.1.3

Application Linker File.................................................................................................................5-2

5.2

Application....................................................................................................................................5-2

5.2.1

Compiler Defines..........................................................................................................................5-2

5.2.2

Unreferenced Symbols..................................................................................................................5-2

5.2.3

System Clock Setup ......................................................................................................................5-3

5.3

Application Support Files .............................................................................................................5-3

5.3.1

DigiType.h ....................................................................................................................................5-3

5.3.2

Gb60_io.h .....................................................................................................................................5-3

5.3.3

Crt0.c and Crt.h.............................................................................................................................5-4

5.3.4

Embedded_Bootloader.h and Embedded_Bootloader.c ...............................................................5-5

5.3.5

NV_Data.c and NV_Data.h ..........................................................................................................5-5

5.3.6

ISR_Vectors.c ...............................................................................................................................5-5

5.3.7

DummyIsr.c ..................................................................................................................................5-6

Chapter 6 Port Integration Reference Guide ....................................................................... 6-1
6.1

Embedded Bootloader Build Environment ...................................................................................6-1

6.1.1

HCS08 Compiler...........................................................................................................................6-1

6.1.2

HCS08 Linker ...............................................................................................................................6-1

6.1.3

HCS08 LibMaker..........................................................................................................................6-1

6.2

Product Deliverables.....................................................................................................................6-2

6.2.1

Embedded_Bootloader.mcp..........................................................................................................6-2

6.2.2

HCS08_Flash_Lib.Lib..................................................................................................................6-2

6.2.3

Embedded_Bootloader_Functionality_Lib.Lib ............................................................................6-2

6.2.4

Source Files...................................................................................................................................6-2

iv

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

6.3

Porting to a Specific Target ..........................................................................................................6-3

6.3.1

Code and Data Segments ..............................................................................................................6-3

6.3.2

Standard Libraries.........................................................................................................................6-3

6.3.3

Compiler #defines.........................................................................................................................6-3

6.4

Source Files...................................................................................................................................6-4

6.4.1

Target.h .........................................................................................................................................6-4

6.4.2

Reset_Vector.c..............................................................................................................................6-5

6.4.3

Embedded_Bootloader_Target.h ..................................................................................................6-5

6.4.4

HW_Init.h .....................................................................................................................................6-6

6.4.5

HW_Init.c .....................................................................................................................................6-6

6.4.6

main.c............................................................................................................................................6-6

Chapter 7 Embedded Bootloader Public Function Description......................................... 7-1
7.1

802.15.4/Zigbee Application Accessible Functions .....................................................................7-1

7.1.1

Enable_Download_Firmware .......................................................................................................7-1

7.1.2

Hard_Reset....................................................................................................................................7-3

7.1.3

Update_NV_RAM ........................................................................................................................7-3

7.1.4

NV_Flash_Setup...........................................................................................................................7-4

7.1.5

FL_ICG_Setup..............................................................................................................................7-4

7.1.6

UART_Port_Select .......................................................................................................................7-5

Chapter 8 Embedded Bootloader Memory Map .................................................................. 8-1
Appendix A Release Folder and File Structure...................................................................A-1
A.1.

Folder Structure ...........................................................................................................................A-1

A.2.

File Structure................................................................................................................................A-2

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

v

About This Book
This guide provides a detailed description of Freescale’s Embedded Bootloader and describes how to port
Freescale’s Embedded Bootloader to a specific PCB/target..
The Embedded Bootloader is intended for use with the IEEE® 802.15.4 evaluation kits (EVK). However,
it is possible to upload applications with the Embedded Bootloader in the development phase, but the
Embedded Bootloader will not provide any debug functions.
The Embedded Bootloader provides an easy and inexpensive way to upload new firmware and eliminate
the requirements for expensive debug/development tools. The only requirement is a standard PC with an
RS232 UART/USB interface running Windows 2000 or XP.
The Embedded Bootloader must be used with the Zigbee Flash Tool which can be found in the Test Tool
Suite ‘Test Tool.exe’.
This document describes Embedded Bootloader version 5.01.

Audience
This document is intended for application developers.

Organization
This document is organized into eight chapters and one appendix.
Chapter 1

Embedded Bootloader Description — This chapter gives an overview of the
Embedded Bootloader.

Chapter 2

Using the Embedded Bootloader — This chapter describes the basic
functionality of the Embedded Bootloader.

Chapter 3

Test Tool, Zigbee Flash Tool — This chapter describes the Zigbee Flash Tool.
The GUI and Command Line versions are covered.

Chapter 4

Programming the Embedded Bootloader — This chapter describes how to
program the Embedded Bootloader to flash memory.

Chapter 5

Application Integration Reference Guide — This chapter describes the
deliverables required to build an 802.15.4/Zigbee Application with the
Embedded Bootloader.

Chapter 6

Port Integration Reference Guide — This chapter describes the deliverables
required and how to integrate them to make an executable Embedded
Bootloader for a specific PCB.

Chapter 7

Embedded Bootloader Public Function Description — This chapter provides
a description of the, from an 802.15.4/Zigbee application, accessible functions
in the Embedded Bootloader.

Chapter 8

Memory Map — This chapter describes the Bootloader Memory Map.

Appendix A

Release Folder and File Structure — This appendix shows the folder and file
structure for this release.

vi

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

Conventions
This document uses the following notational conventions:
•

Courier monospaced type indicates commands, command parameters, code examples,
expressions, data types, and directives.

•

Italic type indicates replaceable command parameters.

•

All source code examples are in C.

Definitions, Acronyms, and Abbreviations
BDM debugger

A debugger using the BDM interface for communication with the MCU. An
example is the P&E BDM Multilink debugger for HCS08.

BDM

Background Debug Module

EVB

Evaluation Boards - this term covers the DIG-528-2 (EVK) and DIG536-2
(SARD) boards.

EVK

Evaluation Kit

GUI

Graphical User Interface

MAC

Medium Access Control

MCU

MicroController Unit

NVM

None-Volatile Memory

PC

Personal Computer

PCB

Printed Circuit Board

S19

‘S19’ is the file extension used for the Motorola binary image format. The S19
file encapsulates the binary image as a list of ASCII records. Each record
contains a length -, address -, data - and checksum field. The 16 bit address field
allows a memory space for up to 64 KB. The S19 can be generated with
Metroworks Codewarrior IDE and is the product from the linking process. S19
does not contain additional information to a debugger (where to look for source
files).

Safe Mode Boot

The Embedded Bootloader boots up using safe default system values.

HIWAVE

P&E HCS08 debugger GUI.

CPROG

P&E HCS08 flash programming tool called from HIWAVE. The tool is also
available in a command line version where scripts can be made.

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

vii

References
[1] Freescale 802.15.4 MAC/PHY Software Reference Manual, 802154MPSRM/D
[2] Zigbee.hlp (see Test Tool installation directory .\help)
[3] Freescale MC908HCS08GB60/GT60 MCU Data Sheet, MC9S08GB60/D
[4] Freescale Application Note, Handling MAC Address Erasure, AN2825/D
[5] Freescale Application Note, Zigbee/802.15.4 Evaluation Kit, Quick Start Guide, AN2772/D
[6] Freescale Embedded Bootloader User’s Guide, MC13192FLUG/D
[7] Freescale Switch Demo Application, AN2773/D

Revision History
The following table summarizes revisions to this manual since the previous release (Rev. 0.0).
Revision History
Location
Entire Document

viii

Revision
This document supercedes revision 2.4 of the
Freescale Embedded Bootloader User’s Guide,
MC13192FLUG/D.

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

Chapter 1
Embedded Bootloader Description
The Embedded Bootloader is intended for use with the IEEE® 802.15.4 evaluation kits (EVK). However,
it is possible to upload applications with the Embedded Bootloader in the development phase, but the
Embedded Bootloader will not provide any debug functions.
The Embedded Bootloader provides an easy and inexpensive way to upload new firmware and eliminate
the requirements for expensive debug/development tools. The only requirement is a standard PC with an
RS232 UART/USB1) interface running Windows 2000 or XP.
The Embedded Bootloader must be used with the Zigbee Flash Tool which can be found in the Test Tool
Suite ‘Test Tool.exe’.
This document describes Embedded Bootloader version 5.01.
The Embedded Bootloader is located in a protected 4 KB flash block in the highest memory area
(0xF000-0xFFFF) of the Freescale MC908HCS08GB60/GT60 microcontroller. (It cannot be accidentally
erased.) A BDM debugger is required to erase the Embedded Bootloader. See the Handling MAC Address
Erasure Application Note, AN2825/D
1)

At least one of these communication interfaces must be supported by the target PCB.

1.1 Target
The Embedded Bootloader runs on the Freescale MC908HCS08GB60/GT60 MCU.
The MC908HCS08GB60/GT60 is a member of Freescale’s low-cost, high-performance HCS08 family. It
has 60 KB embedded flash (flash sector size of 512 bytes) and 4 KB embedded RAM..
The Embedded Bootloader uses the MC13192 CLKO. See Chapter 2 for more information.

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

1-1

1.1.1 Ported Targets
The Embedded Bootloader must be ported (I/O mapped) to a specific PCB for proper functionality and is
currently ported to the following Freescale PCBs:
Axiom AXM-0308:
•

PC Communication Interface:

RS232/UART on COM1 (SCI1)/
RS232/UART on COM2 (SCI2)

•

Safe Mode Boot

Short pins 2-3 on COM1 (SCI1)/
COM2 (SCI2)

•

Version Number

“AX-0308 Ver 5.01”

DIG528-2 EVK
•

PC Communication Interface:

RS232/UART on COM1 (SCI1)/
USB (SCI2)

•

Safe Mode Boot

Short pins 2-3 on COM1-port (SCI1)

•

Version Number

“528&536 Ver 5.01”

DIG536-2 SARD
•

PC Communication Interface:

RS232/UART on COM1 (SCI1)

•

Safe Mode Boot

Short pins 2-3 on COM1-port (SCI1)

•

Version Number

“528&536 Ver 5.01”

•

PC Communication Interface:

RS232/UART/USB on COM1 (SCI1)/
RS232/UART/USB on COM2 (SCI2)

•

Safe Mode Boot

Short pins 2-3 on COM1 (SCI1)/
COM2 (SCI2)

•

Version Number

“ RD01 Ver 5.01”

RD01

NOTE

The generic RD01 target can be used with any PCB using the Freescale
Reference Design version 01 I/O layout. The PCB must support at least
one communication interface. If a USB is the only interface, use a
jumper to short SCI pins 2 and 3 to make Safe Mode Boot available.
Refer to Section 6.3 for details on how to port the Embedded Bootloader to a specific PCB.

1-2

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

1.2 Features
The following features are supported:
•

Upload firmware (802.15.4/Zigbee application) in Motorola S19 record format through
UART/USB. The S1 data record length must be set to 32 bytes

•

Auto-Detection of the PC communication interface (see Section 1.1.1, Ported Targets).

•

Initialize memory including stack of uploaded firmware

•

Initialize the system clock. Self clocked mode and MC13192 clock setup. Power save mode
supported

•

Run time update/change of the NVM
NOTE

See the Freescale 802.15.4 MAC/PHY Software Reference Manual,
802154MPSRM/D, for a detailed description on NVM layout and values.

1.3 Benefits
•

Users do not have to buy expensive third party debug/development tools to get started.

•

Users can update the 802.15.4/Zigbee application firmware without having to build in additional
code for interfacing to the Embedded Bootloader (See Section 2.1.3, Safe Mode Boot).

•

Application firmware can be updated after production by users. However, this requires that the
final product has a communication interface (UART/USB).

•

Users can update the 802.15.4/Zigbee application firmware even when it is malfunctioning (See
Section 2.1.3, Safe Mode Boot).

•

The 802.15.4/Zigbee application firmware does not have to include initializing or flash
programming code and can thereby minimize code size.

•

Can update any NVM data specified by the 802.15.4/Zigbee application.

1.4 Potential Issues
•

Uses 4 KB of flash (~6.7 % on a MC908HCS08GB60/GT60) and 93 bytes of RAM
(~2,3 % on a MC908HCS08GB60/GT60)

•

Extended power/boot up time (~17ms) because the Embedded Bootloader must detect the
presence of an application.

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

1-3

1.4.1 Optional Firmware Upload Settings
•

•

Skip flash erase
o

Disabled

The 802.15.4/Application/NVM (except production data section) is erased
(default)

o

Enabled

The 802.15.4/Application/NVM is NOT erased

Erase production data (get production data from firmware file)
o

Disabled

The production data section (with MAC address) in NVM are preserved. All
other NVM values are updated with the values from the S19 record file
(default)

o

Enabled

The production data (with MAC address) and all other values in NVM are
erased. All NVM values are updated with the values from the S19 record file
NOTE

Care must be taken when enabling this option. The user must save a
backup of vital production data (MAC address). The production data can
be manually added to the NVM structure in the NV_Data.c file.
•

Do not reset after upload

•

o

Disabled

The system is automatically reset after upload (default)

o

Enabled

The system must be manually reset by user

Skip firmware checksum verification
o

Disabled

A checksum verification of the S19 file data record is performed 2) (default).
NOTE

The Embedded Bootloader will report the address of the first data
mismatch found in the current S19 data record. System must be reset if
an error is reported. Check the optional settings and try again.
o
2)

Enabled

No checksum verification is performed. Flash programming errors cannot be
detected.

The UART/USB communication channel is also protected with a protocol checksum.

1-4

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

Chapter 2
Using the Embedded Bootloader
This chapter describes the Embedded Bootloader functionality. A detailed description of the functions
briefly mentioned in this chapter can be found in Chapter 7.

2.1 Upload Firmware
The Embedded Bootloader can be used in different system configurations depending on the PCB and the
application. The application should have a user interface feature that makes it possible for the application
to call the Enable_Download_Firmware() function:
The application can optionally call the Hard_Reset() function to perform a reset, or the board can be reset
manually. The board will now start up in Embedded Bootloader mode.
Start the PC-Tool. See Chapter 3 for more information.

2.1.1 Use Case One
In this case, users send a specific command via the UART to enable firmware upload
MC908HCS08GB60(1)/MC13192
B

PC

Application

Test Tool

o
o

NVM

t
l

802.15.4 MAC

o
a
d

802.15.4 PHY

e
r

RS232
Device Driver UART

1)

Or MC908HCS08GT60

2)

Or USB

(2)

UART or USB

Figure 1 Application Supporting RS232 UART or USB Interface

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

2-1

2.1.2 Use Case Two
In this use case, users push a button on the board to enable firmware upload.
MC908HCS08GB60(1)/MC13192
B

Application

o
o

NVM

t
l

802.15.4 MAC

o
a
d

User Interface
802.15.4 PHY

Push Buttons

e
r
1)

I/O
Device Driver

GPIO

S101

S102

S103 S104

Or MC908HCS08GT60
Figure 2 Application Supporting an I/O Interface

2.1.3 Safe Mode Boot
The Safe Mode Boot Mode is a special startup mode where the Embedded Bootloader boots using safe
system settings thereby resetting the system to a known (default) state.
The Safe Mode Boot can be used to disable the detection of an invalid/malfunctioning application due to
items such as code errors, corrupt NVM data, or internal flash programming errors among others. All the
NVM memory (except production data and MAC address) is completely erased.
The Safe Mode Boot can also be used to upload firmware without first calling the
Enable_Download_Firmware() function. This could be useful if the use cases (as shown in Section 2.1,
Upload Firmware) are not applicable.
Users must perform the following steps to conduct a Safe Mode Boot.
1. Power off the board
2. Disconnect RS232 UART cable (if the RS232 UART interface is used)
3. Short UART TX and RX (pin 2-3) (This works even though the 802.15.4/Zigbee application does not
use the UART interface.)
4. Power up again. All LEDs are off.
5. Wait until LED1 goes on (< 1 second)
6. Power off the board

2-2

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

7. Remove short from UART TX and RX and connect UART cable again (if the RS232 UART interface
is used)
8. Power up again
9. Embedded Bootloader is ready to receive new firmware (all LEDs on)
10. Start the PC-Tool. See Chapter 3, for more information.

NOTE

The Safe Mode Boot description is only valid for the Freescale ported
versions of the Embedded Bootloader. Refer to the 802.15.4 Embedded
Bootloader Reference Manual, 802154EBRM/D, for more details about a
specific port of the Embedded Bootloader.

2.2 Updating Non-volatile Memory (NVM)
The following steps show how to update the NVM data from an application (code).
1. The Embedded Bootloader must be present on the board.
NOTE

All EVBs are shipped with the Embedded Bootloader pre-programmed
in flash. The Embedded Bootloader can only be erased/programmed with
a BDM debugger.
2.

Call the Update_NV_RAM() function. This function can change any NVM data.

2.2.1 An Example of How to Change the MAC Address
The following code shows an example of how to change the MAC address.
Update_NV_RAM(&(NV_RAM_ptr->MAC_Address)[0], &pPacket[DATA_INDEX], 8);
NOTE

pPacket – contains the new MAC address.
Any NVM data can in code be read as a normal construct. For example,
use the NV_RAM_ptr to get access to individual data.

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

2-3

2.3 System Bus Frequency
The MC908HCS08GB60/GT60 starts in 4 MHz self clocked mode. The init code changes this to 8 MHz
after a few instructions from reset.
If NVM data is found, the system clock (MC908HCS08GB60/GT60 ICG module and MC13192 CLKO)
and other options are setup as specified by the uploaded application. See the Freescale 802.15.4
MAC/PHY Software Reference Manual, 802154MPSRM/D, for more details.
If no NVM data can be found, the following (safe mode boot) values are used:
•

MC13192 CLKO = 62.5 KHz

•

MC908HCS08GB60/GT60 bus clock = 16 MHz

2.4 UART Baud Rate
If NVM data is found, the UART baud rate is setup as specified by the uploaded application. Several
values can be used. See the MC908HCS08GB60/GT60 MCU Data Sheet, MC9S08GB60/D for more
information.
The baud rate depends on the NVM values specified by the application. See the Freescale 802.15.4
MAC/PHY Software Reference Manual, 802154MPSRM/D, for more details.
If no NVM data is found, the following (safe mode boot) values are used:
•

2-4

UART baud rate 19200 kbps, 8 data, 1 start, 1 stop, none parity.

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

Chapter 3
Test Tool – Zigbee Flash Tool
The Zigbee flash tool is a part of the general Zigbee Test Tool. This chapter provides a brief description
of how to use the Zigbee Test Tool to upload new firmware. For more details about installation and other
features, see the documentation for the Zigbee Test Tool and the Zigbee.hlp file in Test Tool installation
directory .\help.
The flash programming part of the Test Tool can be used with two different user interfaces.
1. The GUI-version in ‘Test Tool.exe’
2. The command line version in ‘Bootloader.exe’ in the ‘S19’ folder.
This description covers Embedded Bootloader version 5.00 of the Zigbee Test Tool.
Uploadable applications in Motorola S19 file format must be copied to the
[installation directory]\Freescale\Test Tool\S19 directory in advance.
Copy any new applications in S19 format to this folder.
NOTE

The actual window layout may differ from the figures shown in this
document. Refer to the Freescale Zigbee/802.15.4 web page for new or
updated applications.

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

3-1

3.1 Graphical User Interface (GUI) Version
To use the GUI version of the Test Tool, execute the following file:
[installation directory]\Freescale\Test Tool\Test Tool.exe

3.1.1 Using the Tools Menu Option
After clicking on the Tools menu option, click the Communication Settings option to choose the baud rate
specified for the current embedded application.
Notice that applications require that you push one or more buttons or some other functions to enable
upload of new firmware. See the Zigbee/802.15.4 Evaluation Kit Quick Start Guide, AN2772/D, for a
description of what to do for a specific application.
If no application is downloaded, use the default settings specified for the Embedded Bootloader. See
Chapter 2 for more information.
Use the Add… buttons. Click “Close”.
Tools Menu

Baud Selection
Buttons

Add Buttons

Close Button

Figure 3 Tools Menu Selection

3-2

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

3.1.2 Using the View Menu Option
After clicking the View menu option, select port COMx and click “OK”. Choose the baud rate specified
for the current embedded application. See the Zigbee/802.15.4 Evaluation Kit Quick Start Guide,
AN2772/D, for a description of what to do for a specific application.
If no application is uploaded, you must use the default settings specified for the Embedded Bootloader.
See Chapter 2 for more information.
NOTE

If the USB interface is used, the USB option appears as a new COM port.

Figure 4 View Menu Option

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

3-3

3.1.3 Selecting the Firmware File to Upload
In the ‘Flash Section’ window, click on the application file to upload and then click on the “Upload”
button. The upload progress bar begins to indicate upload progress.
Upload
Progress Field

Upload Button

Application
Files

Status/Error
Information Field

Figure 5 Firmware Upload
The Status/Error Information Field shows the Status/Error Information received from the Embedded
Bootloader.

3-4

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

After a successful upload of the firmware, the window appears as shown in Figure 6.
NOTE

A system reset is performed (default) after upload as shown in Figure 6.
Automatic Reset
Enabled

Figure 6 After a Successful Firmware Upload
NOTE

If the uploaded application uses another baud rate, it is required to
change baud rate values in order to be able to communicate with the
board.

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

3-5

3.1.4 Using the Help Menu
Click on the Embedded Bootloader About box to see the Embedded Bootloader sub version number.

Figure 7 Embedded Bootloader Tool Version
NOTE

The last line is reported from the Embedded Bootloader on the PCB.
This version number is only sent to the PC from power up (not on
reset).

3.1.5 Changing the NVM Data in Flash or File
If users click on an application in the list, it displays the NVM values in the selected application file. If
the uploaded application supports NVM dump, it is possible to read the NVM from the board.
The NVM data can be changed in two different ways:
1. If the uploaded application does not support NVM data editing it is possible to edit the NVM data
in the application file before it is uploaded to the board and save it back in the application file for
later upload.
2. If the uploaded application does support NVM data editing it is possible to edit the NVM data
after the board has been uploaded with the application. For example, the file contains default
values. The Freescale EVK PTC application supports this feature.
NOTE

No production specific information is available in this example window.
Use caution when editing the clock related configuration values. The
values must match each other. There is no sanity check on the user
entered values, though there is a check on length. See the
MC908HCS08GB60/GT60 MCU Data Sheet, MC9S08GB60/D about
how to specify valid register values for the HCS08.

3-6

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

Figure 8 System Configuration Window

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

3-7

3.2 Command Line Version (CMD)
The command line version of the Embedded Bootloader flash programming tool must be called with
parameters:
Execute ‘Bootloader.exe’ without parameters to show a parameter list:

Figure 9 Command Line Version (Parameter List)

3-8

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

3.2.1 Normal Use Example (Default)
Normal use example (default).
”Bootloader EVK_PTC_Demo.s19 /C:COM2 /B:19200 /-E /-A /-O /-S”

Figure 10 Command Line Version (Using Several Options)
NOTE

It is not possible to edit NVM data with the CMD version.

3.2.2 Flash Erase Disabled Example
Flash erase disabled example.
”Bootloader EVK_PTC_Demo.s19 /C:COM2 /B:19200 /E /-A /-O /-S ”

Figure 11 Command Line Version (Flash Erase Disable Option)
NOTE

The flash is not erased and a flash programming error is detected at
address 0xEFFE. This is the address of the Embedded Bootloader control
flags, which was not erased. The error message is expected.

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

3-9

3-10

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

Chapter 4
Embedded Bootloader Programming
This chapter describes how to program the Embedded Bootloader with a P&E Multilink for HCS08 BDM
debugger. The Embedded Bootloader is normally downloaded to the PCB where production data is also
written. Users must employ different procedures depending on what needs to be programmed. Users can
program the Embedded Bootloader to an empty (erased) PCB or they can upgrade to a newer version of
the Embedded Bootloader. Follow the procedures in Section 4.1, Programming To An Empty (Erased)
Board if the PCB is empty (erased).
Users must make a copy of the production data section in the NVM (see Section 5.3.5, NV_Data.c and
NV_Data.h) if they need to upgrade the Embedded Bootloader. This can be done either manually or
automatically by a custom made script with the command line version of the CPROG tool. The command
line version is not described further. Follow the procedures as shown in Section 4.2 on how to make a
copy of the production data.

4.1 Programming To An Empty (Erased) Board
This section describes how to program the Embedded Bootloader to an empty (erased) board.
1. Execute the HIWAVE.EXE file from your chosen installation directory. For example,
[installation directory]\Metrowerks\CodeWarrior_CW08_V3.0\Prog\
2. From the main window, setup the target by selecting the “Component” menu, then click on “Set
Target”. The “Set Target” window appears as shown in Figure 12.

Figure 12 Set Target Window
3. In the “Processor” drop down menu, select HCS08. From the “Target Interface” drop down menu,
select P&E Target Interface, the click on the “OK” button.
Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

4-1

The “Connection Assistant” window appears where you can select the debugger interface connection.
As shown in Figure 13, a USB connection was chosen and the HCS08 was selected as the CPU type.
Click the “OK” button.

Figure 13 Connection Assistant Window

4-2

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

4. Click on “Load Application” under the “File” menu to open the “Load Executable File” window.
Specify application file to program in the “Load Executable File” window as shown in Figure 14.
Select “Motorola S-Record (*.s19)” using the “Files of type:” drop down menu. Navigate to the
folder where a copy of the Embedded Bootloader is located. Select the “Embedded Bootloader.s19”
file and click the “Open” button.

Figure 14 Load Executable Window

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

4-3

The Embedded Bootloader is now programmed to the PCB as shown in the Status Window in Figure 15.

Figure 15 Status Window
5. Remove power and disconnect the BDM cable from the PCB. Next, power up the PCB. The PCB is
now ready to upload an application. See Chapter 2 for details about how to upload an application.

4-4

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

4.2 Upgrading The Embedded Bootloader
This section describes how to upgrade the Embedded Bootloader to a newer version with the P&E
Multilink BDM debugger.
1. Execute the HIWAVE.EXE file from your chosen installation directory. For example,
[installation directory]\Metrowerks\CodeWarrior_CW08_V3.0\Prog\
2. From the main window, setup the target by selecting Setup Target, the select the “Component” menu,
and click on “Set Target”. The “Set Target” window appears as shown in Figure 16.

Figure 16 Set Target Window
3. From the “Processor” drop down menu, select HCS08. From the “Target Interface” drop down menu,
select P&E Target Interface, then click the “OK” button.

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

4-5

4. The “Connection Assistant” window appears where you can select the debugger interface connection.
As shown in Figure 17, a USB connection was chosen and the HCS08 was selected as the CPU type.
Click the “OK” button.

Figure 17 Connection Assistant Window

4-6

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

5. Make a copy of the NVM sector (both NVM0 and NVM1) with the production data.
Select the “PEDebug” menu, select “Programming Options”, and then choose “Start Expert Mode
Programmer”. The “Programmer Expert” window appears as shown in Figure 18.

Figure 18 Programmer Expert Window
6. In the “Programmer Expert” window, click on “UR Upload Range”. The “Start Address” window
appears as shown in Figure 19. Here you specify the start address for the NVM section. Click the
“OK” button. For NVM0 use 0x152F and for NVM1 use 0x172F.

Figure 19 Start Address Window
7. In the “End Address” window, which looks very similar to the “Start Address” window, specify the
end address for the NVM section and then click the “OK” button. For NVM0 use 0x155B and for
NVM1 use 0x175B.

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

4-7

8. As shown in Figure 20, use the S19 window to specify which S19 file to store active NVM data to
and then click the “OK” button. For NVM0 use ‘PD_NVM0.s19’ and for NVM1 use
‘PD_NVM1.s19’.

Figure 20 S19 File Window
9. Close “Programmer Expert” window.
10. Use the PC tool “Production_Data_Converter.exe” to convert the production data in NVM to default
NVM sector NVM0. Copy the “Production_Data_Converter.exe” tool to the folder that contains the
PD_NVM0.s19 and PD_NVM1.s19 files. Execute the ‘Production_Data_Converter.exe’. The output
is an PD_NVM.s19 file containing the production data from the active NVM sector.
NOTE

The “Production_Data_Converter.exe” tool can be found in the EVK release
“EVK_3_0B” in folder .\source\Zigbee_EVK\EVK_Common\CPROG_Tool\Scripts\
11. Click on “Load Application” under the “File” menu to open the “Load Executable File” window.
Specify the application file to program using the “Load Executable” window as shown in Figure 21.
Select the “Motorola S-Record (*.s19)” under “Files of type:”, then navigate to the folder where a
copy of the Embedded Bootloader is located. Select the “Embedded Bootloader.s19” file and click the
“Open” button.

Figure 21 Load Executable File Window

4-8

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

The Embedded Bootloader is now programmed to the PCB as shown in Figure 22.

Figure 22 Status Window
12. Write NVM production data back by selecting the “PEDebug” menu. Then select “Programming
Options” and “Start Expert Mode Programmer”. Select “SS Specify S-record” and locate the
PD_NVM.s19 file built in Step 10. Select the “PM Program Module” option and production data is
written to flash.
13. Remove power and disconnect the BDM cable from PCB. Next, power up the PCB.
The PCB is now ready to upload an application. See Chapter 2 for more information about how to
upload an application.
NOTE

The applications must have the production section in the NVM cleared.
That is, the application image must contain 0xFF's in the production data
section of the NVM.

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

4-9

4-10

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

Chapter 5
Application Integration Reference Guide
This chapter describes the deliverables required to build an 802.15.4/Zigbee Application with the
Embedded Bootloader.
NOTE

The Freescale Switch Demonstration application is available with
complete source code. The Switch Demonsration shows how to make an
802.15.4 application with the Embedded Bootloader. Refer to the Switch
Demonstration Application Note, AN2773, for more details.

5.1 Product Deliverables
To be able to make an application with the Freescale Embedded Bootloader, you need three major
components.
•

Embedded Bootloader Image

•

Application Support Files

•

Application Linker File

5.1.1 Embedded Bootloader Image
The Embedded Booloader executable image for a specific PCB must exist on the PCB in advance. If not,
it must be downloaded to the PCB with a BDM debugger like the P&E Multilink BDM debugger for
HCS08. See Section 1.1.1 Ported Targets for more details.
NOTE

Use caution when making an 802.15.4/Zigbee Application with the
Embedded Bootloader. Several versions (different version numbers) exist
with different supported features. Ensure that you do not use a feature
that is not supported by the Embedded Bootloader version on the PCB
and that a version of the Embedded Bootloader is preloaded on the PCB.

5.1.2 Application Support Files
A few application source files must be included in the 802.15.4/Zigbee application for proper interface to
the Embedded Bootloader. See Section 5.3, Application Support Files for more details.

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

5-1

5.1.3 Application Linker File
The 802.15.4/Zigbee application code must be linked with the following linker file in order to work with
the Embedded Bootloader interface. The linker file specifies fixed data and code segments. See linker file
for more details. Make sure to use the linker file matching the Embedded Bootloader on the PCB:
Ptc_w_Embedded_Bootloader.ach
NOTE

This file can be used with the MC908HCS08GB60/GT60 MCU.

5.2 Application
This section describes build environment topics and source files necessary to build a working
802.15.4/Zigbee application with the Embedded Bootloader.

5.2.1 Compiler Defines
The following compiler #define must be specified to enable Embedded Bootloader functionality in an
802.15.4/Zigbee application:
#define BOOTLOADER_ENABLED

5.2.2 Unreferenced Symbols
The Embedded Bootloader interface variables, NVM, and strings with version numbers, are not
referenced directly from the 802.15.4/Zigbee application code. Because of this, it is required to add
dummy references to these (and other) unreferenced symbols to prevent the linker file from removing the
symbols during optimization. The dummy references can be placed in any reference function, but
Freescale recommends adding them to the main() function.
The following code is an example from a SMAC application main() function:
#ifdef BOOTLOADER_ENABLED
if( (Freescale_Copyright[0] == 0x00) ||
(Firmware_Database_Label[0] == 0x00) ||
(SMAC_Version[0] == 0x00) ||
(SPHY_Version[0] == 0x00) ||
(NV_RAM_ptr->Freescale_Copyright[0] == 0x00) ||
(NV_RAM0.MAC_Address[0] == 0x00) ||
(NV_RAM1.MAC_Address[0] == 0x00) ||
(boot_loader_control == ((uint8_t)0x00)) ||
(boot_loader_flag == ((uint8_t)0x00))
)

5-2

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

{
// Do something to aviod that code is removed by linker
}

5.2.3 System Clock Setup
The Embedded Bootloader contains the ICG_Setup() function which is called if the Embedded
Bootloader must start. The Embedded Bootloader sets up the system clock as specified in the NVM
section (ICG) if available. If not a default value is used.
The 802.15.4/Zigbee application must include a system clock setup function. The 802.15.4/Zigbee
application can access the clock setup FL_ICG_Setup() function in the Embedded Bootloader. This
allows the application to save code space for implementing a system clock setup function. Any clock
setting can be setup by specifying the proper ICG register values in the NVM data section.
The 802.15.4/Zigbee application should also have a “lost clock lock” ISR function which calls the
FL_ICG_Setup() function. This function must be added to the ISR vector table.
The following is an example of an ISR function to handle lost lock of clock (CLKO).
__interrupt void FLL_Lost_Lock_ISR(void)
{
// Setup ICG module again to prevent that system hangs forever.
ICGS1 |= 0x01; // Clear FLL lost lock interrupt
#if defined BOOTLOADER_ENABLED
FL_ICG_Setup(); // Call ICG_Setup()in Embedded Bootloader
#endif defined BOOTLOADER_ENABLED
}

5.3 Application Support Files
The 802.15.4/Zigbee application must include some support source code to make an interface to the
Embedded Bootloader application. The needed files are delivered to users who want to use the Embedded
Bootloader in their system.
NOTE

Some of the files are global header files from the 802.15.4 MAC/PHY release.
Look for new or updated application support files at the Freescale
Zigbee/802.15.4 web page.

5.3.1 DigiType.h
This file contains some C-language type definitions used in the source files.

5.3.2 Gb60_io.h
This is an MC908HCS08GB60 MCU interface file. All peripherals embedded in the MCU are listed with
their absolute addresses.
Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

5-3

NOTE

This file can also be used with the MC908HCS08GT60 MCU.

5.3.3 Crt0.c and Crt.h
These files contain the basic initialization code (basic system clock, memory and stack setup). The normal
basic init file(s) (like the start08.c from Metrowerks) is not needed when the Embedded Bootloader is
embedded.
In an 802.15.4/Zigbee application with Embedded Bootloader, these files only contain the _startupdata
structure. The Embedded Bootloader handles all the basic initialization (memory and stack setup) of the
application. That is, the application’s main() function will be the first item called (entry point).
NOTE

Do not include basic initialization (memory and stack setup) when
building an application with the Embedded Bootloader. Place any
necessary initialization function calls in the main() function. Whatever,
the initialization function or only the _startupdata structure is included is
controlled by compiler #defines. See Section 5.2.1, Compiler Defines
Application for more information.

5-4

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

5.3.4 Embedded_Bootloader.h and Embedded_Bootloader.c
These are the interface files for the 802.14.4/Zigbee application. They contain function pointers to
functions accessible in the Embedded Bootloader. These files also contain absolute addresses, which
should not be changed.
Ensure that the two Embedded Bootloader control flags, which control whether the 802.15.4/Zigbee
application starts or not, are included in the 802.15.4/Zigbee application build. See Section 5.2.2 for more
details.
#pragma CONST_SEG APP_BOOTLOADER_FLAGS
// Default setting for how BootLoader downloads firmware
const uint8_t boot_loader_control = ALL_BIT_ENABLED;
const uint8_t boot_loader_flag = EXECUTE_APPLICATION;
#pragma CONST_SEG DEFAULT

The 802.15.4/Zigbee application must also call the “void BootLoader_Interface_Init(void)” function to
set up pointers to the Embedded Bootloader accessible function. The function must be called once during
system initialization.
NOTE

In earlier versions, these files were titled “FreeLoader_inf.c” and
“FreeLoader_inf.h”. Do not user the “FreeLoader_inf.c” and
“FreeLoader_inf.h” files with the Embedded Bootloader.

5.3.5 NV_Data.c and NV_Data.h
The NVM is not a part of the Embedded Bootloader. However, it is advised to make the NVM a part of
the 802.15.4/Zigbee application.
The Embedded Bootloader can use the information in NV memory, but it has default values (safe mode
boot) to cover scenarios where no NV memory is available, that is, the Embedded Bootloader would be
locked to use the default values.

5.3.6 ISR_Vectors.c
The Embedded Bootloader redirects the ISR vector table to 0x0EFC0, i.e. the 802.15.4/Zigbee application
ISR vector table must be locate at 0x0EFC0 to 0xEFFD (see linker file).
The file also contains a reset vector. The reset vector is not used (defined out) when using the Embedded
Bootloader. The system reset vector is in the Embedded Bootloader address space (0xFFFE). The
Embedded Bootloader has two system variables located where the redirected “reset vector” is locate at
0xEFFE to 0xEFFF. The variables control the startup of the Embedded Bootloader.

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

5-5

5.3.7 DummyIsr.c
This file contains a dummy ISR function which makes a break if a BDM debugger is attached to the
BDM connector. An illegal instruction reset occurs if no BDM debugger is attached. The function is
added to all unused ISR vectors in the ISR_Vector.c file.
NOTE

Users can change this function to any desired functionality.

5-6

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

Chapter 6
Port Integration Reference Guide
This chapter describes the Embedded Bootloader source code release deliverables and how to integrate
them to make an executable Embedded Bootloader for a specific PCB.
NOTE

For user convenience, several readme.txt files containing more
information are located in various subfolders.

6.1 Embedded Bootloader Build Environment
This chapter describes the Embedded Bootloader build environment. The Embedded Bootloader
application is built under the Metrowerks IDE CodeWarrior Development Studio for Freescale HC08 3.0,
build 030506.

6.1.1 HCS08 Compiler
All Embedded Bootloader source files are compiled with the following compiler and with the ‘Generate
Code for HCS08’ Code Generation option enabled.
Source file:
Setting:

hw_hc08_compiler.dll, version 5.0.8.0
-Cs08 -CswMaxLF0 -CswMinLF0 -CswMinSLB9999 -Lasm=%n.lst -Lasmc=h Ot -Ou -Onf -OnB=alr -OnCstVar -OnPMNC -Or -TE1uE -WmsgNu=acdet

6.1.2 HCS08 Linker
All Embedded Bootloader object files are linked with the following linker to build an executable file.
Source file:

hw_hc08_linker.dll, version 5.0.8.0

Setting:

-B -EnvSRECORD=s19 -EnvTEXTPATH=Zigbee_Data\Zigbee_Debug\ WStdoutOn

The Embedded Bootlaoder MUST be linked with the following linker file.
.\Embedded_Bootloader\prm\Embedded_Bootloader_HCS08.ach

Specific allocated code and variables must not be reallocated, but users can add new code and data
segments.
NOTE

The 802.15.4 and Zigbee applications that interface to the Embedded
Bootloader must be linked with the "Ptc_w_Embedded_Bootloader.ach"
file for proper functionality.

6.1.3 HCS08 LibMaker
The delivered libraries were made with the following libmaker.
Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

6-1

Source file:

hw_hc08_libmaker.dll, version 5.0.8.0

Setting:

None

6.2 Product Deliverables
The Freescale Embedded Bootloaader consists of four major components. Refer to Appendix A for a
complete list of released files.

6.2.1 Embedded_Bootloader.mcp
This is the Metrowerks Codewarrior mcp project file. This file is used to build the release of the
Embedded Bootloader.
NOTE

It is required that you have Metrowerks Codewarrior installed on your PC to build the
Embedded Bootloader.

6.2.2 HCS08_Flash_Lib.Lib
The library contains functions to write to the internal flash of the HCS08 MCU. The library also contains
functions to handle NVM run-time updates.
The flash library version number is found by searching for the ASCII text string “HCS08 Flash Lib” in
the ‘HCS08_Flash_Lib.Lib’. The version number is only available from flash library version 5.00.
NOTE

The HCS0_Flash_Lib.Lib can also be included directly in an application
for run-time update of NVM. Refer to the HCSO8 Flash Application
Note, AN2770/D for more information.

6.2.3 Embedded_Bootloader_Functionality_Lib.Lib
The library contains the internal functionality of the Embedded Bootloader. For example, the state
machine which handles the firmware download, the UART drivers, checksum verification functions and
others.
The Embedded Bootloader functionality library version number is found by searching for the ASCII text
string “EB Func Lib” in the ‘Embedded_Bootloader_Functionality_Lib.Lib’ file.

6.2.4 Source Files
This section provides a brief description of the source files. Refer to Appendix A for more details. The
source files described are those which define the PCB interface. For example, the I/O mapping that
connects the MCU and RF chip.
Embedded_Bootloader_Target.h

6-2

Specific Embedded Bootloader defines
For example, the Embedded Bootloader version number.

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

HW_Init.c

Hardware init functions

HW_Init.h

Init function prototypes and defines.

Reset_Vector.c

System reset vector.

main.c

Embedded Bootloader main function.

6.3 Porting to a Specific Target
This section provides guidelines on how to port the Embedded Bootloader to a specific PCB/target.

6.3.1 Code and Data Segments
The Embedded Bootloader must be linked with the linker file as specified in Section 6.1.2. Several code
and data segments are listed and must not be changed. Refer to the map file as described in Chapter 8 for
more details.

6.3.2 Standard Libraries
The Embedded Bootloader must include the ansiis.lib from Metrowerks for a successful build. The
library is part of the Metrowerks CodeWarrior installation and is located in the following path:
[Install Folder]\Metrowerks\CodeWarrior CW08_V3.0\lib\HC08c\*.*

6.3.3 Compiler #defines
No compiler #defines are necessary.

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

6-3

6.4 Source Files
This section describes the source files.

6.4.1 Target.h
The user must define the PCB target specific #defines in the Target.h in the
.\802.15.4_Headers\Ghdr. file for a successful port.
NOTE

Several other #defines are made in the target description in target.h. The
#defines are used by the 802.15.4 MAC/PHY build. The listed #defines
are the ones which must (also) be defined for the Embedded Bootloader:
Example for the Freescale TARGET_DIG528_2 and TARGET_DIG536_2:
MC13192 reset pin connection:
#define HWAssertAbelReset

PTCD &= ~0x10;

// Reset = 0;

#define HWDeAssertAbelReset

PTCD |=

// Reset = 1;

0x10;

Optional for Safe Mode Boot indicator function (LED pin connections):
#define LED1ON

PTDD &= 0xFE;

#define LED1OFF PTDD |= 0x01;
#define LED1TOGGLE PTDD ^= 0x01;
#define LED2ON

PTDD & = 0xFD;

#define LED2OFF PTDD | = 0x02;
#define LED2TOGGLE PTDD ^ = 0x02;
#define LED3ON

PTDD & = 0xF7;

#define LED3OFF PTDD | = 0x08;
#define LED3TOGGLE PTDD ^ = 0x08;
#define LED4ON

PTDD & = 0xEF;

#define LED4OFF PTDD | = 0x10;
#define LED4TOGGLE PTDD ^ = 0x10;

The MC13192 attention and reset pin (bit) positions:
#define ABEL_ATT_PIN
#define ABEL_RESET_PIN

(1<<2)
(1<<4)

HCS08 port setup macros:
#define
6-4

mSETUP_PORT_A

//PTAPE = 0x3C;\

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

//PTADD = 0x00;
#define

mSETUP_PORT_B

//All Port A input

//PTBD = 0x00;\
//PTBPE = 0x00;\
//PTBDD = 0x00;

#define

mSETUP_PORT_C

PTCDD = (ABEL_RESET_PIN | ABEL_ATT_PIN );

Optional for Safe Mode Boot indicator function (LEDs as output):
#define

mSETUP_PORT_D

PTDPE = 0x00;\

PTDDD = (0x01 | 0x02| 0x08 | 0x10);

6.4.2 Reset_Vector.c
The system reset vector.
NOTE

The application does not have a reset vector. If a reset occurs in an
application, the Embedded Bootloader’s reset vector is called.

6.4.3 Embedded_Bootloader_Target.h
Users must define the following #defines in the Embedded_Bootloader_Target.h to achieve a
successful port.
Version number of the build:
// Version number update:
//
Y

- Big change (interface/main code structure/new feature) Y.xx, increment

//

- Smaller change (function code structure/bug fix) x.Yx, increment Y

//

- Small change (bug fix) x.xY, increment Y

#define EMBEDDED_BOOTLOADER_VERSION "5.01" // Number used with all PCB/Targets
NOTE

Use caution if the version number is changed. You should only change
the PCB board number (#define EMBEDDED_BOOTLOADER_TARGET)
to indicate a special PCB version.
Example for the TARGET_DIG528_2 and TARGET_DIG536_2:
#if defined TARGET_DIG528_2 || defined TARGET_DIG536_2
// PCB board number for release
#define EMBEDDED_BOOTLOADER_TARGET "528&536"
// Setup port as output where "signal" must be set/cleared to indicate
safe mode boot
#define SAFE_MODE_PORT_SETUP PTDDD |= 0x01; // Port D bit 0

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

6-5

#define SET_OUTPUT

LED1ON // Defined in Target.h

#endif defined TARGET_DIG528_2 || defined TARGET_DIG536_2

6.4.4 HW_Init.h
This file contains prototypes of all the init functions and defines.

6.4.5 HW_Init.c
This file contains some hardware init functions which depend on the PCB layout.
void HWResetAbel(void)

Reset of MC13192 RF chip (do not change)

void Safe_Boot_Mode_Indicator(void) Users can change this function so it matches the

functions available for a particular PCB. The
function can also be left empty. Default is a GPIO
pin set low to light an LED.
void HW_Init()

The init main function.
NOTE

User can add more functions if required for a particular PCB.
Do not change the calling sequence.

6.4.6 main.c
This file contains the Embedded Bootloader main function and the Embedded version number.
void main(void)

It calls the hardware init function and then the
Embedded Bootloader state machine. The state
machine never returns.
NOTE

Dummy references are made to the version number strings for
Embedded_Bootloader_Functionality_Lib and HCS08_Flash_Lib
place the numbers in the executable image. If the version numbers
not required, they can be removed by removing the reference to
version number which frees up more code memory for user code.

6-6

Embedded Bootloader Reference Manual, Rev 0.0

the
to
are
the

Freescale Semiconductor

Chapter 7
Embedded Bootloader Public Function Description
This section describes the public functions which the 802.15.4/Zigbee application can call in the
Embedded Bootloader.

7.1 802.15.4/Zigbee Application Accessible Functions
The following functions, located in the Embedded Bootloader, are made accessible for 802.15.4/Zigbee
applications. For example, an 802.15.4/Zigbee application is not required to have programming routines
to store NVM data in flash. A function pointer, for each function of the below listed functions, is defined
in Embedded Bootloader.c:
Enable_Download_Firmware()
Hard_Reset()
NV_Flash_Setup()
Update_NV_RAM()
FL_ICG_Setup()
UART_Port_Select();

The Embedded_Bootloader.h file contains function pointer prototypes and must be included in source
files calling these functions. The function pointers are setup to point to functions with the same name in
the Embedded Bootloader.
extern Enable_Download_Firmware_ptr_t Enable_Download_Firmware;
extern Hard_Reset_ptr_t Hard_Reset;
extern NV_Flash_Setup_ptr_t NV_Flash_Setup;
extern Update_NV_RAM_ptr_t Update_NV_RAM;
extern ICG_Setup_ptr_t FL_ICG_Setup;
extern UART_Port_Select_ptr_t UART_Port_Select;

7.1.1 Enable_Download_Firmware
Prototype:
bool_t Enable_Download_Firmware
(
uint8_t interface_state,
uint8_t firmware_state
)

Description:
The application must call this function to make the system ready for a new firmware download. The
application must provide a way for the user to interact with the system to call this function.

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

7-1

NOTE

All bits are enabled by default. Bits can only be disabled (erased in flash)
– never enabled. The bits are enabled again by the new firmware.
Input:
interface_state - The user selectable options. The below values should be
OR’ed together:
Embedded Bootloader control flags:
#define NO_BIT_ENABLED

((uint8_t)0x00)

// Option: “Skip flash erase”
#define ERASE_FLASH

((uint8_t)0x01)

// Option: “Do not reset after upload”
#define BOOT_AFTER_DOWNLOAD

((uint8_t)0x02)

// Option: “Erase production data”
#define KEEP_NV_RAM

((uint8_t)0x04)

// Option: “Skip firmware checksum verification”
#define PERFORM_FLASH_VERIFICATION

((uint8_t)0x08)
NOTE

The Embedded Bootloader control flags correspond to the “optional
firmware upload settings” which can be disabled/enabled in the Zigbee
Flash Tool. See Section 1.4.1, Embedded Bootloader Description for
details.
The value is inverted. To enable the bit mask option, the setting must be
set to 0. To disable the bit mask option, the setting must be set to 1.
Use firmware_state – control if Embedded Bootloader or the application must be started.
To enable download, the setting must be = DO_UPDATE_FIRMWARE.
Embedded Bootloader boot flag:
#define EXECUTE_APPLICATION

((uint8_t)0x55)

#define DO_UPDATE_FIRMWARE

((uint8_t)0x00)

#define FLASH_EMPTY

((uint8_t)0xFF)

Output:
True - Ready for reset.
False - Something went wrong in changing the state.

7-2

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

7.1.2 Hard_Reset
Prototype:
void Hard_Reset(void)

Description:
The application can call this function to make a system reset. The reset is done by executing an illegal
instruction.
Input:
None
Output:
None

7.1.3 Update_NV_RAM
Prototype:
bool_t Update_NV_RAM
(
NV_RAM_Struct_t const *NV_RAM_Distination_ptr,
uint8_t *Source_ptr,
uint16_t Source_Length
)

Description:
The application can call this function to update any NVM parameter with new values specified in the
input parameters. There is no validation of input parameters.
NOTE

NVM can in code be read as a normal construct.
Input:
NV_RAM_Distination_ptr

A pointer to current NV RAM data (ex. The MAC address), which must be changed.

Source_ptr

A pointer to new NVM data, which must be stored.

Source_Length

The length (number of bytes) of the new NVM data to store.

Output:
True – NVM data stored.
False - Something went wrong (should never happen).

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

7-3

7.1.4 NV_Flash_Setup
Prototype:
void NV_Flash_Setup(void)

Description:
This function should never be called under normal conditions. However, it should be called if any of the
other Embedded Bootloader functions malfunctions. The function sets up the flash functions (again), i.e.
copies the flash routines to RAM for execution and initialize the HCS08 flash module.
Input:
None
Output
None

7.1.5 FL_ICG_Setup
Prototype:
void FL_ICG_Setup(void)

Description:
This function can be called by the application. The function could be automatically called if the external
system clock is unstable/removed (from ISR function) and on power down/up (doze). This requires that
the FL_ICG_Setup is called from an ISR function.
NOTE

Application programmers can make their own system clock setup
function or call this function and just modify the ICG and MC13192
register values in the NVM section.
Input:
None
Output
None

7-4

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

7.1.6 UART_Port_Select
Prototype:
void FL_ICG_Setup
(
uint8_t data_reg_address,
uint8_t status_reg_address
)

Description:
This function can be called when the application has detected the active communication interface if used
by the application. The communication interface can be any of the two SCI-ports (SCI1 or SCI2). When
called with the proper parameters the Embedded Bootloader knows the active communication interface.
Input:
data_reg_address

the address of the active SCI port data register (SCI1 = 0x1F or SCI2 = 0x27 )

status_reg_address

the address of the active SCI port status 1 register (SCI1 = 0x1C or SCI2 = 0x24)

Output
None

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

7-5

7-6

Embedded Bootloader Reference Manual, Rev 0.0

Freescale Semiconductor

Chapter 8
Embedded Bootloader Memory Map
Table 1.

Zigbee (MC9S08GB60/GT60) 802.15.4 Embedded Bootloader Memory Map

512 Bytes in a physical flash sector
Sector
Number

Address
in hex
start

Address
in hex
end
(sector
erase
address)

Size in
bytes

NM

0

7F

128

Direct Port Registers

Direct Port Registers

NM

80

FE

127

Direct Addressing RAM
"Fast memory"

Direct Addressing RAM "Fast
memory"

NM

FF

FF

1

Direct Addressing
RAM "Fast memory"

Sleep variable:
gSeqPowerSaveMode

NM

100

1FF

256

RAM

Embedded Bootloader stack

NM

200

F5F

3424

RAM

NM

F60

F6F

16

RAM

Unint RAM for init structure

NM

F70

F71

2

RAM

NV_RAM_ptr

NM

F72

F7F

14

RAM

Flash routines data

NM

F80

FBC

61

RAM

Flash routines critical code

NM

FBD

106F

179

RAM

NM

1070

1077

8

RAM

Static variables

NM

1078

107F

8

RAM

Static no init variables

8

1080

109E

31

FLASH (section 1)

8

109F

11FF

353

FLASH (section 1)

9

1200

13FF

512

FLASH (section 1)

10

1400

15FF

512

FLASH (section 1)

802.15.4/App. NV RAM block
0 (share)

11

1600

17FF

512

FLASH (section 1)

802.15.4/App. NV RAM block
1 (share)

Freescale Semiconductor

General HCS08 Map
and Usage

Embedded Bootloader Map

Embedded Bootloader Reference Manual, Rev. 0.0

8-1

1 (share)

8-2

12

1800

182B

44

High Page Registers
(COP, Flash etc.)

12

182C

19FF

468

FLASH (section 2)

13

1A00

1BFF

512

FLASH (section 2)

14

1C00

1DFF

512

FLASH (section 2)

15

1E00

1FFF

512

FLASH (section 2)

16

2000

21FF

512

FLASH (section 2)

17

2200

23FF

512

FLASH (section 2)

18

2400

25FF

512

FLASH (section 2)

19

2600

27FF

512

FLASH (section 2)

20

2800

29FF

512

FLASH (section 2)

21

2A00

2BFF

512

FLASH (section 2)

22

2C00

2DFF

512

FLASH (section 2)

23

2E00

2FFF

512

FLASH (section 2)

24

3000

31FF

512

FLASH (section 2)

25

3200

33FF

512

FLASH (section 2)

26

3400

35FF

512

FLASH (section 2)

27

3600

37FF

512

FLASH (section 2)

28

3800

39FF

512

FLASH (section 2)

29

3A00

3BFF

512

FLASH (section 2)

30

3C00

3DFF

512

FLASH (section 2)

31

3E00

3FFF

512

FLASH (section 2)

32

4000

41FF

512

FLASH (section 2)

33

4200

43FF

512

FLASH (section 2)

34

4400

45FF

512

FLASH (section 2)

35

4600

47FF

512

FLASH (section 2)

36

4800

49FF

512

FLASH (section 2)

Embedded Bootloader Reference Manual, Rev. 0.0

High Page Registers (COP,
Flash etc.)

Freescale Semiconductor

37

4A00

4BFF

512

FLASH (section 2)

38

4C00

4DFF

512

FLASH (section 2)

39

4E00

4FFF

512

FLASH (section 2)

40

5000

51FF

512

FLASH (section 2)

41

5200

53FF

512

FLASH (section 2)

42

5400

55FF

512

FLASH (section 2)

43

5600

57FF

512

FLASH (section 2)

44

5800

59FF

512

FLASH (section 2)

45

5A00

5BFF

512

FLASH (section 2)

46

5C00

5DFF

512

FLASH (section 2)

47

5E00

5FFF

512

FLASH (section 2)

48

6000

61FF

512

FLASH (section 2)

49

6200

63FF

512

FLASH (section 2)

50

6400

65FF

512

FLASH (section 2)

51

6600

67FF

512

FLASH (section 2)

52

6800

69FF

512

FLASH (section 2)

53

6A00

6BFF

512

FLASH (section 2)

54

6C00

6DFF

512

FLASH (section 2)

55

6E00

6FFF

512

FLASH (section 2)

56

7000

71FF

512

FLASH (section 2)

57

7200

73FF

512

FLASH (section 2)

58

7400

75FF

512

FLASH (section 2)

59

7600

77FF

512

FLASH (section 2)

60

7800

79FF

512

FLASH (section 2)

61

7A00

7BFF

512

FLASH (section 2)

62

7C00

7DFF

512

FLASH (section 2)

63

7E00

7FFF

512

FLASH (section 2)

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

8-3

8-4

64

8000

81FF

512

FLASH (section 2)

65

8200

83FF

512

FLASH (section 2)

66

8400

85FF

512

FLASH (section 2)

67

8600

87FF

512

FLASH (section 2)

68

8800

89FF

512

FLASH (section 2)

69

8A00

8BFF

512

FLASH (section 2)

70

8C00

8DFF

512

FLASH (section 2)

71

8E00

8FFF

512

FLASH (section 2)

72

9000

91FF

512

FLASH (section 2)

73

9200

93FF

512

FLASH (section 2)

74

9400

95FF

512

FLASH (section 2)

75

9600

97FF

512

FLASH (section 2)

76

9800

99FF

512

FLASH (section 2)

77

9A00

9BFF

512

FLASH (section 2)

78

9C00

9DFF

512

FLASH (section 2)

79

9E00

9FFF

512

FLASH (section 2)

80

A000

A1FF

512

FLASH (section 2)

81

A200

A3FF

512

FLASH (section 2)

82

A400

A5FF

512

FLASH (section 2)

83

A600

A7FF

512

FLASH (section 2)

84

A800

A9FF

512

FLASH (section 2)

85

AA00

ABFF

512

FLASH (section 2)

86

AC00

ADFF

512

FLASH (section 2)

87

AE00

AFFF

512

FLASH (section 2)

88

B000

B1FF

512

FLASH (section 2)

89

B200

B3FF

512

FLASH (section 2)

90

B400

B5FF

512

FLASH (section 2)

Embedded Bootloader Reference Manual, Rev. 0.0

Freescale Semiconductor

91

B600

B7FF

512

FLASH (section 2)

92

B800

B9FF

512

FLASH (section 2)

93

BA00

BBFF

512

FLASH (section 2)

94

BC00

BDFF

512

FLASH (section 2)

95

BE00

BFFF

512

FLASH (section 2)

96

C000

C1FF

512

FLASH (section 2)

97

C200

C3FF

512

FLASH (section 2)

98

C400

C5FF

512

FLASH (section 2)

99

C600

C7FF

512

FLASH (section 2)

100

C800

C9FF

512

FLASH (section 2)

101

CA00

CBFF

512

FLASH (section 2)

102

CC00

CDFF

512

FLASH (section 2)

103

CE00

CFFF

512

FLASH (section 2)

104

D000

D1FF

512

FLASH (section 2)

105

D200

D3FF

512

FLASH (section 2)

106

D400

D5FF

512

FLASH (section 2)

107

D600

D7FF

512

FLASH (section 2)

108

D800

D9FF

512

FLASH (section 2)

109

DA00

DBFF

512

FLASH (section 2)

110

DC00

DDFF

512

FLASH (section 2)

111

DE00

DFFF

512

FLASH (section 2)

112

E000

E1FF

512

FLASH (section 2)

113

E200

E3FF

512

FLASH (section 2)

114

E400

E5FF

512

FLASH (section 2)

115

E600

E7FF

512

FLASH (section 2)

116

E800

E9FF

512

FLASH (section 2)

117

EA00

EBFF

512

FLASH (section 2)

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

8-5

118

EC00

EDFF

512

FLASH (section 2)

119

EE00

EFBF

448

FLASH (section 2)

119

EFC0

EFFD

62

FLASH (section 2)

802.15.4 app. ISR vectors

119

EFFE

EFFF

2

FLASH (section 2)

Embedded Bootloader
system flags (placed by
802.15.4 application)

120

F000

F00F

16

FLASH (section 2)

Embedded Bootloader
function ptrs (8 pieces)

120

F010

F013

4

FLASH (section 2)

Illegal opcode instruction

120

F014

F050

61

FLASH (section 2)

Flash routines critical code
(copy to RAM)

120

F051

F1FF

431

FLASH (section 2)

121

F200

F3FF

512

FLASH (section 2)

122

F400

F5FF

512

FLASH (section 2)

123

F600

F7FF

512

FLASH (section 2)

124

F800

F9FF

512

FLASH (section 2)

125

FA00

FBFF

512

FLASH (section 2)

126

FC00

FDFF

512

FLASH (section 2)

127

FE00

FF1D

286

FLASH (section 2)

127

FF1E

FFAF

146

FLASH (section 2)

Embedded Bootloader
version number string

127

FFB0

FFBF

16

NV Registers

NV Registers

127

FFC0

FFFD

62

ISR vectors (31
vectors - 25
implemented)

ISR vectors (31 vectors - 25
implemented)

127

FFFE

FFFF

2

Reset vector "address
in Bootloader"

Reset vector "address in
Bootloader"

65535
FFFF

Must be = FFFF for
valid memory map.

NM = No meaning

8-6

Embedded Bootloader Reference Manual, Rev. 0.0

Freescale Semiconductor

= May be used by Embedded Bootloader. 802.15.4/App.
can reuse this space (overwrite).
= Used by Embedded Bootloader. Data/code which must be located on the specified
address and (must/will) exists when the application is running
= May be used by
802.15.4/App.
= Used by 802.15.4/App. Data/code which must be
located on the specified address
If either the Embedded Bootloader and/or the 802.15.4/App. must not use a particular resource the color
from the "General HCS08 Map and Usage" is kept.
Cursive = fixed register and vectors in flash
Bold = MUST be located on this particular address - DO NOT
CHANGE.
Flash sector 120-127 is block protected and cannot be erased by SW.

Embedded Bootloader
Application
RAM

4096

bytes available

Code

4016

bytes available (not including ISR vectors and
reset vector)

NV-RAM

1024

bytes available. Read and written by Embedded Bootloader (2 sectors are used,
so it occupies 1024 bytes flash).

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

8-7

8-8

Embedded Bootloader Reference Manual, Rev. 0.0

Freescale Semiconductor

Appendix A
Release Folder and File Structure
This appendix describes the folder and file structure for this release.

A.1. Folder Structure
802.15.4_Headers
Global headers from the 802.15.4 MAC/PHY Release

Ghdr
Bin

When target is built, the output files are stored here.

Embedded_Bootloader
AX-0308RevC

Freescale’s reference build of the Embedded Bootloader
for the Axiom AXM-0308
development board

DIG-528-2_DIG-536-2_RD01

DIG-528-2 and DIG-536-2 are Freescale’s reference
build for the DIG-528-2 and DIG-536-2 EVB’s.
RD01 is Freescale's reference build for all PCB's using
the Freescale Reference Design version 01.

Embedded_Bootloader_Functionality_Lib Embedded Bootloader functionality library
(source code not released)
HCS08_Flash_Lib

Embedded Bootloader HCS08 flash library
(source code not released)

prm

Linker file

sources

Source code

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

A-1

A.2. File Structure
This section describes all of the files in the Embedded Bootloader release.
.\Embedded_Bootloader

Embedded_Bootloader.mcp

Metrowerks Codewarrior project file

flash.hwc

Hiwave system file

flash.hwl

Hiwave system file

flash.ini

Hiwave system file

.\Embedded_Bootloader\802.15.4_Headers\Ghdr

AbelReg.h
AppAspInterface.h
Debug.h
DigiType.h

Defined C data types

Embedded_Bootloader.h

New interface file to Embedded Bootloader
(after version 5.00)

FreeLoader_inf.h

Embedded Bootloader interface file (Freeloader)
(before version 5.00)

FunctionalityDefines.h
Gb60_io.h

Register mapping for HCS08

hwdrv_hcs08.h
MacPhy.h
NV_Data.h

NVM data structure

NwkMacInterface.h
Phy_Spi.h
PhyMacMsg.h
PublicConst.h
Target.h

A-2

PCB target definition (I/O mapping)

Embedded Bootloader Reference Manual, Rev. 0.0

Freescale Semiconductor

.\Embedded_Bootloader\Bin\Embedded_Bootloader\AX-0308RevC

Embedded_Bootloader.elf

Elf format file

Embedded_Bootloader.map

Map file

Embedded_Bootloader.s19

Freescale S19 file

.\Embedded_Bootloader\Bin\Embedded_Bootloader\DIG-528-2_DIG-536-2

Embedded_Bootloader.elf

Elf format file

Embedded_Bootloader.map

Map file

Embedded_Bootloader.s19

Freescale S19 file

.\Embedded_Bootloader\Bin\Embedded_Bootloader_Functionality_Lib

Embedded_Bootloader_Functionality_Lib.Lib Functionality library
.\Embedded_Bootloader\Bin\HCS08_Flash_Lib

HCS08_Flash_Lib.Lib

HCS08 flash library

.\Embedded_Bootloader\prm

Embedded_Bootloader_HCS08.ach

HCS08 GT60/GB60 linker file

.\Embedded_Bootloader\sources

Embedded_Bootloader_Target.h
HW_Init.c
HW_Init.h
Reset_Vector.c
main.c

Freescale Semiconductor

Embedded Bootloader Reference Manual, Rev. 0.0

A-3

A-4

Embedded Bootloader Reference Manual, Rev. 0.0

Freescale Semiconductor



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
Producer                        : Acrobat Distiller 4.05 for Windows
Creator                         : Microsoft Word 9.0
Modify Date                     : 2004:09:27 12:31:11-05:00
Author                          : Tim Lincoln
Title                           : Freeloader Embedded Bootloader
Create Date                     : 2004:09:27 12:17:51
Page Count                      : 66
Page Mode                       : UseOutlines
EXIF Metadata provided by EXIF.tools

Navigation menu