Per quanto riguarda la comunicazione one-to-one tra moduli CPU puoi utilizzare il FB DataTransfer che in base al FB di gestione stream di comunicazione permette di comunicare sia in UDP che in TCP. L’esempio ST_DataTransfer che trovi nell’articolo ha gia realizzate sia la comunicazione server che client, ti basterà copiare la parte server in un sistema e la parte client nell’altro.
Aggiungo per completezza anche se non riguarda la tua applicazione che per implementare una comunicazione TCP tra più moduli client verso un modulo server sono disponibili i FB TCPDataExchClient e TCPDataExchServer.
In riferimento alla memoria ti rimando a questo articolo, come vedi i modelli Cotex M7 disper quanto riguarda il codice dispongono standard di 131Kb di memoria programma, quindi 35Kb in più della versione attuale, inoltre la compilazione dei programmi sui sistemi Cortex M7 è più ottimizzata come vedi:
- Compilazione 1000 istruzioni logiche: ARM7:12Kb, CortexM7:8Kb
- Compilazione 1000 istruzioni matematiche fixed point: ARM7:18Kb, CortexM7:13Kb
- Compilazione 1000 istruzioni matematiche float point: ARM7:39Kb, CortexM7:29Kb
Quindi per la dimensione del codice non hai sicuramente problemi.
In riferimento alla memoria dati la dimensione disponibile standard è la stessa per entrambi i sistemi (8Kb), sui CortexM7 è disponibile una opzione per estenderla a 16Kb. Dai dati di compilazione del tuo progetto vedo che hai ancora liberi 1940 (794h) bytes quindi credo siano ampiamente sufficenti. Ti rimando al capitolo Ottimizzazione memoria RAM che trovi in fondo alll’articolo della knowledge base che ti ho linkato.