Sto lavorando con un sistema embedded. L'applicazione è in esecuzione su AT91SAMxxxx e cortex m3 lpc17xxx. Sto esaminando l'allocazione dinamica della memoria in quanto cambierebbe radicalmente il volto dell'applicazione (e mi darà più potenza).malloc in sistemi embedded
Penso che il mio unico vero percorso sia quello di creare un'area di memoria per un mucchio e progettare un malloc su misura che meglio si adatta al mio scopo.
Quando si osservano diversi algoritmi per l'allocazione della memoria, non si può inciampare nel malloc di Doug Lea. Suppongo che questo sia stato usato in sistemi embedded come il mio dove non ci sono sistemi operativi e versioni su misura di dire che la funzione sbrk() è stata fornita per realizzare questo. Sto cercando di trovare buoni esempi di ciò che è stato realizzato per magari provare una dimostrazione del concetto prima di saltare a scrivere il mio.
È possibile utilizzare dlmalloc in un sistema come il mio?
Se sì, qualcuno può indicarmi una risorsa pertinente? (non ho trovato molti che mi aiutino)
E 'meglio andare e scrivere il mio malloc personalizzato per le mie esigenze?
E scuse la maggior parte delle mie ricerche finora è stata sulla progettazione di un malloc che non utilizza Doug, che è una sfida diversa. Credo che sto cercando di scoprire che sta esaminando questo percorso in modo più approfondito una perdita di tempo.
Edit:
morale della storia: guardando dlmalloc nel mio caso inutile.
Avete veramente bisogno dell'allocazione dinamica della memoria nell'applicazione incorporata? –
Quali sono le caratteristiche effettive delle allocazioni che è necessario supportare? Essendo più specifici forse noi/noi possiamo venire con una soluzione più ideale. –
Dipende molto dalla natura delle allocazioni. In molti casi, è sufficiente allocare dinamicamente blocchi di dimensioni fisse. Questo sarebbe molto più facile da implementare rispetto a un metodo di allocazione generico (che avrebbe molto più sovraccarico in termini di tempo e memroy, necessità di unire blocchi liberi ecc.). – Ctx