1.3.1.3.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.
  • 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.