Cortex-M7 (low-power core)

The Cortex-M7 core is the auxiliary core on the PicoCoreMX8MP used for low-power operations, i.e. whenever the satellite is not above a desired observation site. It is responsible for communicating with a GNSS module to acquire accurate time and position measurements, and it hosts a csp_proc server, which facilitates small libparam-native programmable procedures that can be sent to the M7 for execution. Furthermore, the CSP node that represents this core contains the wake_a53 param, which triggers a callback to wake the Cortex-A53 cores from low-power mode.

Parameters (libparam)

The following libparam parameters are exposed on the CSP node representing the M7 core:

Parameter Name

Type

Description

Application parameters

wake_a53

uint8

Send wake signal to A53 peer core

a53_status

uint8

A53 peer core status

tmu_reading

uint16

TMU temperature reading

gnss_lat

float

GNSS latitude

gnss_lon

float

GNSS longitude

gnss_age

uint32

GNSS fix age

gnss_date

uint32

GNSS date

gnss_time

uint32

GNSS time

gnss_speed

float

GNSS speed

gnss_alt

float

GNSS altitude

gnss_course

float

GNSS course

General purpose parameters

p_uint8

uint8

uint8 array (32)

p_uint16

uint16

uint16 array (32)

p_uint32

uint32

uint32 array (32)

p_uint64

uint64

uint64 array (32)

p_int8

int8

int8 array (32)

p_int16

int16

int16 array (32)

p_int32

int32

int32 array (32)

p_int64

int64

int64 array (32)

p_float

float

float array (32)

p_double

double

double array (16)

System registers

GPC__SLPCR

uint32

System low power control register

GPC__LPCR_A53_BSC

uint32

Basic Low power control register of A53 platform

GPC__LPCR_A53_AD

uint32

Advanced Low power control register of A53 platform

GPC__LPCR_M7

uint32

Low power control register of M7 CPU

GPC__MLPCR

uint32

Memory low power control register

GPC_PGC__A53SCU_PUPSCR

uint32

GPC PGC Up Sequence Control Register

GPIO1__DR

uint32

GPIO1 data register

GPIO1__GDIR

uint32

GPIO1 direction register (input/output)

GPIO2__DR

uint32

GPIO2 data register

GPIO2__GDIR

uint32

GPIO2 direction register (input/output)

GPIO3__GDIR

uint32

GPIO3 direction register (input/output)

GPIO4__GDIR

uint32

GPIO4 direction register (input/output)

GPIO5__GDIR

uint32

GPIO5 direction register (input/output)

MUB__SR

uint32

MU Status register

RDC__STAT

uint32

RDC Status register

TMU__TSCR

uint32

Sensor Calibration register

TMU__TRITSR

uint32

Immediate Temperature Site register n

TMU__TRATSR

uint32

Average Temperature Site register n

Application components

A visual representation of the components in the application running on the M7 core is shown in the 2 treemaps below. The ITCM is the memory that is used by the M7 core to store instructions, and the DTCM is the memory that is used to store data. Both are limited to 128 KB.