Firmware description
UM1619
26/56
DocID024383 Rev 1
6 Firmware
description
6.1 Introduction
The firmware structure is constituted of several layers, each managing a different feature.
The application layer engine is the general interface between the user program and all the
parts of the module. It manages the communication ports, the module peripherals such as
RTC and I/Os, LEDs and timing management. It is also the interface between the PLM stack
and the user program. The PLM stack, itself constituted of several layers, implements and
manages the power line communication, manages the conflicts, timing and repetitions, the
addressing and so on.
Some features are managed directly by the application engine, and are transparent to the
user, as well as the module programming and configuration, which is done by particular
programming or service commands managed and acknowledged directly by the application
engine, the RTC management, the module parameter or the firmware update.
The user application can be interfaced to the application engine by simples APIs used for
the data transfer and the module interfacing. The
shows the firmware structure.
Figure 20. Module firmware structure
The user program is located in the user.c and user.h file in the application project.
6.2
Remote firmware update (RFU)
The remote firmware update (RFU) uses the power line modem as external communication
channel for receiving a new firmware dump. The firmware dump is placed in the internal
flash memory of the microcontroller. Hence, the total memory size of the microcontroller
must be at least the double of the estimated maximum size of the firmware application (in