Come devo gestire la memoria nella mia applicazione embedded mission-critical?Risorse per la gestione della memoria nell'applicazione incorporata
Ho trovato alcuni articoli con google, ma non sono riuscito a individuare una guida pratica davvero utile.
Il DO-178b
proibisce l'allocazione della memoria dinamica, ma come gestirai la memoria? Preallocare tutto in anticipo e inviare un puntatore a ciascuna funzione che necessita di allocazione? Assegnarlo in pila? Utilizzare un allocatore statico globale (ma è molto simile all'allocazione dinamica)?
Le risposte possono essere nella forma di una risposta regolare, di un riferimento a una risorsa o di un riferimento a un buon sistema incorporato opensource, ad esempio.
chiarimento: Il problema qui non è se la gestione della memoria è disponibile per il sistema incorporato. Ma cos'è un buon design per un sistema embedded, per massimizzare l'affidabilità.
Non capisco perché preallocare staticamente un pool di buffer e ottenerlo e rilasciarlo dinamicamente è diverso dall'allocazione dinamica della memoria.
DO-178b è uno standard per software avionico. Il problema non è la disponibilità di malloc, ma una buona progettazione del software mission-critical. –