Freescale Semiconductor 802154 User Manual

802.15.4/Zigbee  
Embedded Bootloader  
Reference Manual  
802154EBRM/D  
Rev. 0.0, 09/2004  
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  
1.3  
1.4  
Features.........................................................................................................................................1-3  
Benefits.........................................................................................................................................1-3  
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  
2.4  
System Bus Frequency..................................................................................................................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  
4.2  
Programming To An Empty (Erased) Board ................................................................................4-1  
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.  
A.2.  
Folder Structure ...........................................................................................................................A-1  
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  
Chapter 2  
Chapter 3  
Chapter 4  
Chapter 5  
Embedded Bootloader Description — This chapter gives an overview of the  
Embedded Bootloader.  
Using the Embedded Bootloader — This chapter describes the basic  
functionality of the Embedded Bootloader.  
Test Tool, Zigbee Flash Tool — This chapter describes the Zigbee Flash Tool.  
The GUI and Command Line versions are covered.  
Programming the Embedded Bootloader — This chapter describes how to  
program the Embedded Bootloader to flash memory.  
Application Integration Reference Guide — This chapter describes the  
deliverables required to build an 802.15.4/Zigbee Application with the  
Embedded Bootloader.  
Chapter 6  
Chapter 7  
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.  
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  
EVB  
Background Debug Module  
Evaluation Boards - this term covers the DIG-528-2 (EVK) and DIG536-2  
(SARD) boards.  
EVK  
GUI  
MAC  
MCU  
NVM  
PC  
Evaluation Kit  
Graphical User Interface  
Medium Access Control  
MicroController Unit  
None-Volatile Memory  
Personal Computer  
PCB  
S19  
Printed Circuit Board  
‘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  
HIWAVE  
The Embedded Bootloader boots up using safe default system values.  
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  
Revision  
Entire Document  
This document supercedes revision 2.4 of the  
Freescale Embedded Bootloader User’s Guide,  
MC13192FLUG/D.  
viii  
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  
Version Number  
Short pins 2-3 on COM1-port (SCI1)  
“528&536 Ver 5.01”  
DIG536-2 SARD  
PC Communication Interface:  
RS232/UART on COM1 (SCI1)  
Short pins 2-3 on COM1-port (SCI1)  
“528&536 Ver 5.01”  
Safe Mode Boot  
Version Number  
RD01  
PC Communication Interface:  
Safe Mode Boot  
RS232/UART/USB on COM1 (SCI1)/  
RS232/UART/USB on COM2 (SCI2)  
Short pins 2-3 on COM1 (SCI1)/  
COM2 (SCI2)  
Version Number  
“ RD01 Ver 5.01”  
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
o
Disabled The system is automatically reset after upload (default)  
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
Enabled  
No checksum verification is performed. Flash programming errors cannot be  
detected.  
2) 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  
PC  
B
o
o
t
Application  
NVM  
Test Tool  
l
802.15.4 MAC  
o
a
d
e
r
802.15.4 PHY  
RS232  
Device Driver UART(2)  
UART or USB  
1) Or MC908HCS08GT60  
2) 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
o
o
t
Application  
NVM  
l
802.15.4 MAC  
o
a
d
e
r
User Interface  
Push Buttons  
802.15.4 PHY  
I/O  
Device Driver GPIO  
S101 S102 S103 S104  
1) 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:  
UART baud rate 19200 kbps, 8 data, 1 start, 1 stop, none parity.  
2-4  
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”.  
Baud Selection  
Tools Menu  
Add Buttons  
Close Button  
Buttons  
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  
Application  
Files  
Upload Button  
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:  
Setting:  
hw_hc08_linker.dll, version 5.0.8.0  
-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:  
Setting:  
hw_hc08_libmaker.dll, version 5.0.8.0  
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  
Specific Embedded Bootloader defines  
For example, the Embedded Bootloader version number.  
6-2  
Embedded Bootloader Reference Manual, Rev 0.0  
Freescale Semiconductor  
HW_Init.c  
HW_Init.h  
Reset_Vector.c  
main.c  
Hardware init functions  
Init function prototypes and defines.  
System reset vector.  
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.libfrom 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.hin 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  
#define HWDeAssertAbelReset  
PTCD &= ~0x10;  
PTCD |= 0x10;  
// Reset = 0;  
// Reset = 1;  
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  
(1<<2)  
#define ABEL_RESET_PIN (1<<4)  
HCS08 port setup macros:  
#define mSETUP_PORT_A //PTAPE = 0x3C;\  
6-4 Embedded Bootloader Reference Manual, Rev 0.0  
Freescale Semiconductor  
//PTADD = 0x00;  
//All Port A input  
#define mSETUP_PORT_B //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.hto achieve a  
successful port.  
Version number of the build:  
// Version number update:  
// - Big change (interface/main code structure/new feature) Y.xx, increment  
Y
// - 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 the  
Embedded_Bootloader_Functionality_Lib and HCS08_Flash_Lib to  
place the numbers in the executable image. If the version numbers are  
not required, they can be removed by removing the reference to the  
version number which frees up more code memory for user code.  
6-6  
Embedded Bootloader Reference Manual, Rev 0.0  
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)  
((uint8_t)0x01)  
// Option: “Skip flash erase”  
#define ERASE_FLASH  
// 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  
#define DO_UPDATE_FIRMWARE  
#define FLASH_EMPTY  
((uint8_t)0x55)  
((uint8_t)0x00)  
((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  
Source_ptr  
A pointer to current NV RAM data (ex. The MAC address), which must be changed.  
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  
status_reg_address  
Output  
the address of the active SCI port data register (SCI1 = 0x1F or SCI2 = 0x27 )  
the address of the active SCI port status 1 register (SCI1 = 0x1C or SCI2 = 0x24)  
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 Address Size in  
General HCS08 Map  
and Usage  
Embedded Bootloader Map  
in hex  
start  
in hex  
end  
bytes  
(sector  
erase  
address)  
NM  
0
7F  
128  
Direct Port Registers  
Direct Port Registers  
NM  
80  
FE  
127  
Direct Addressing RAM Direct Addressing RAM "Fast  
"Fast memory"  
memory"  
NM  
FF  
FF  
1
Direct Addressing  
Sleep variable:  
RAM "Fast memory"  
gSeqPowerSaveMode  
NM  
NM  
NM  
NM  
NM  
NM  
NM  
NM  
NM  
8
100  
200  
1FF  
F5F  
256  
3424  
16  
RAM  
Embedded Bootloader stack  
RAM  
F60  
F6F  
RAM  
Unint RAM for init structure  
NV_RAM_ptr  
F70  
F71  
2
RAM  
F72  
F7F  
14  
RAM  
Flash routines data  
F80  
FBC  
106F  
1077  
107F  
109E  
11FF  
13FF  
15FF  
61  
RAM  
Flash routines critical code  
FBD  
1070  
1078  
1080  
109F  
1200  
1400  
179  
8
RAM  
RAM  
Static variables  
8
RAM  
Static no init variables  
31  
FLASH (section 1)  
FLASH (section 1)  
FLASH (section 1)  
FLASH (section 1)  
8
353  
512  
512  
9
10  
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  
Embedded Bootloader Reference Manual, Rev. 0.0  
8-1  
1 (share)  
12  
1800  
182B  
44  
High Page Registers  
(COP, Flash etc.)  
High Page Registers (COP,  
Flash etc.)  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
182C  
1A00  
1C00  
1E00  
2000  
2200  
2400  
2600  
2800  
2A00  
2C00  
2E00  
3000  
3200  
3400  
3600  
3800  
3A00  
3C00  
3E00  
4000  
4200  
4400  
4600  
4800  
19FF  
1BFF  
1DFF  
1FFF  
21FF  
23FF  
25FF  
27FF  
29FF  
2BFF  
2DFF  
2FFF  
31FF  
33FF  
35FF  
37FF  
39FF  
3BFF  
3DFF  
3FFF  
41FF  
43FF  
45FF  
47FF  
49FF  
468  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
8-2  
Embedded Bootloader Reference Manual, Rev. 0.0  
Freescale Semiconductor  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
57  
58  
59  
60  
61  
62  
63  
4A00  
4C00  
4E00  
5000  
5200  
5400  
5600  
5800  
5A00  
5C00  
5E00  
6000  
6200  
6400  
6600  
6800  
6A00  
6C00  
6E00  
7000  
7200  
7400  
7600  
7800  
7A00  
7C00  
7E00  
4BFF  
4DFF  
4FFF  
51FF  
53FF  
55FF  
57FF  
59FF  
5BFF  
5DFF  
5FFF  
61FF  
63FF  
65FF  
67FF  
69FF  
6BFF  
6DFF  
6FFF  
71FF  
73FF  
75FF  
77FF  
79FF  
7BFF  
7DFF  
7FFF  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
Freescale Semiconductor  
Embedded Bootloader Reference Manual, Rev. 0.0  
8-3  
64  
65  
66  
67  
68  
69  
70  
71  
72  
73  
74  
75  
76  
77  
78  
79  
80  
81  
82  
83  
84  
85  
86  
87  
88  
89  
90  
8000  
8200  
8400  
8600  
8800  
8A00  
8C00  
8E00  
9000  
9200  
9400  
9600  
9800  
9A00  
9C00  
9E00  
A000  
A200  
A400  
A600  
A800  
AA00  
AC00  
AE00  
B000  
B200  
B400  
81FF  
83FF  
85FF  
87FF  
89FF  
8BFF  
8DFF  
8FFF  
91FF  
93FF  
95FF  
97FF  
99FF  
9BFF  
9DFF  
9FFF  
A1FF  
A3FF  
A5FF  
A7FF  
A9FF  
ABFF  
ADFF  
AFFF  
B1FF  
B3FF  
B5FF  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
8-4  
Embedded Bootloader Reference Manual, Rev. 0.0  
Freescale Semiconductor  
91  
92  
B600  
B800  
BA00  
BC00  
BE00  
C000  
C200  
C400  
C600  
C800  
CA00  
CC00  
CE00  
D000  
D200  
D400  
D600  
D800  
DA00  
DC00  
DE00  
E000  
E200  
E400  
E600  
E800  
EA00  
B7FF  
B9FF  
BBFF  
BDFF  
BFFF  
C1FF  
C3FF  
C5FF  
C7FF  
C9FF  
CBFF  
CDFF  
CFFF  
D1FF  
D3FF  
D5FF  
D7FF  
D9FF  
DBFF  
DDFF  
DFFF  
E1FF  
E3FF  
E5FF  
E7FF  
E9FF  
EBFF  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
512  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
93  
94  
95  
96  
97  
98  
99  
100  
101  
102  
103  
104  
105  
106  
107  
108  
109  
110  
111  
112  
113  
114  
115  
116  
117  
Freescale Semiconductor  
Embedded Bootloader Reference Manual, Rev. 0.0  
8-5  
118  
119  
119  
119  
EC00  
EE00  
EFC0  
EFFE  
EDFF  
EFBF  
EFFD  
EFFF  
512  
448  
62  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
802.15.4 app. ISR vectors  
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  
120  
F010  
F014  
F013  
F050  
4
FLASH (section 2)  
FLASH (section 2)  
Illegal opcode instruction  
61  
Flash routines critical code  
(copy to RAM)  
120  
121  
122  
123  
124  
125  
126  
127  
127  
F051  
F200  
F400  
F600  
F800  
FA00  
FC00  
FE00  
FF1E  
F1FF  
F3FF  
F5FF  
F7FF  
F9FF  
FBFF  
FDFF  
FF1D  
FFAF  
431  
512  
512  
512  
512  
512  
512  
286  
146  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
FLASH (section 2)  
Embedded Bootloader  
version number string  
127  
127  
FFB0  
FFC0  
FFBF  
FFFD  
16  
62  
NV Registers  
NV Registers  
ISR vectors (31  
vectors - 25  
ISR vectors (31 vectors - 25  
implemented)  
implemented)  
127  
FFFE  
FFFF  
2
Reset vector "address Reset vector "address in  
in Bootloader"  
Bootloader"  
65535  
Must be = FFFF for  
FFFF 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  
bytes available (not including ISR vectors and  
4016 reset vector)  
Code  
bytes available. Read and written by Embedded Bootloader (2 sectors are used,  
1024 so it occupies 1024 bytes flash).  
NV-RAM  
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  
Ghdr  
Bin  
Global headers from the 802.15.4 MAC/PHY Release  
Embedded_Bootloader  
AX-0308RevC  
When target is built, the output files are stored here.  
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  
flash.hwc  
Metrowerks Codewarrior project file  
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  
NVM data structure  
hwdrv_hcs08.h  
MacPhy.h  
NV_Data.h  
NwkMacInterface.h  
Phy_Spi.h  
PhyMacMsg.h  
PublicConst.h  
Target.h  
PCB target definition (I/O mapping)  
A-2  
Embedded Bootloader Reference Manual, Rev. 0.0  
Freescale Semiconductor  
.\Embedded_Bootloader\Bin\Embedded_Bootloader\AX-0308RevC  
Embedded_Bootloader.elf  
Embedded_Bootloader.map  
Embedded_Bootloader.s19  
Elf format file  
Map file  
Freescale S19 file  
.\Embedded_Bootloader\Bin\Embedded_Bootloader\DIG-528-2_DIG-536-2  
Embedded_Bootloader.elf  
Embedded_Bootloader.map  
Embedded_Bootloader.s19  
Elf format file  
Map file  
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  

MTD 243 640A000 User Manual
Motorola i835 User Manual
Maytag MCCM1NW12 User Manual
JVC KD G201 User Manual
Emerson CKS3020 User Manual
Elta 4250N User Manual
Braun KF 43 User Manual
Alesis Playmate Vocalist User Manual
ALCATEL Mobile Phones Cell Phone 200 User Manual
Agilent Technologies Agilent B2201A User Manual