2.11 Application (Core 0) Reset with Metrology (Core 1) Running Application Example

The Dual Core architecture allows some interesting functionality for an electricity meter, like the possibility to restart the Core 0 while the Core 1 continues running the metrology library, so taking measurements and generating pulses.

The Demo Meter application includes an example showing how Core 1 is able to continue working while Core 0 is being reset. The process is divided into two steps:
  • First, when the Demo Meter Application starts, it detects the source of the reset to decide whether only the Core 0 or the two cores must be initialized. This way it is possible to customize the behavior depending on the reset type. For example, a watchdog reset could re-initialize just Core 0, but a software reset could require the initialization of the two cores.
    Note: Depending on the version, the Demo Meter application allows a watchdog reset to be forced using the buttons. The user presses the Scroll-down button, and then without releasing it the Scroll-up button is pressed.
  • Second, the Demo Meter application code includes a dual initialization system because if the Core 1 is not reset, then some critical actions affecting Core 1 initialization must not be executed. For example, the Core 1 clock system initialization or the copy of the metrology binary from Flash to the Core 1 memory.