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

Page 41
Image 41
Freescale Semiconductor 802.15.4 manual EmbeddedBootloader.h and EmbeddedBootloader.c, NVData.c and NVData.h, ISRVectors.c