DG.M Inserito: 25 marzo 2007 Segnala Share Inserito: 25 marzo 2007 Mi chiedevo: se il programma da caricare in un microcontrollore è più grande della memoria disponibile, è possibile scrivere parte del codice su una memoria esterna?Di che tipo bisognerebbe sceglierla?Grazie Domenico Link al commento Condividi su altri siti More sharing options...
Giorgio Demurtas Inserita: 25 marzo 2007 Segnala Share Inserita: 25 marzo 2007 cambiare microcontrollore no?ne fanno con memorie molto grandi. Link al commento Condividi su altri siti More sharing options...
DG.M Inserita: 25 marzo 2007 Autore Segnala Share Inserita: 25 marzo 2007 In questo momento non sono in grado di fare una stima della grandezza del programma, per cui mi chiedevo se fosse possibile aumentarla in caso rimanessi fregatoLa memoria di quello che ho preso in considerazione è 32K, mi sembrava abbastanza in confronto agli altri micro sul mercato ma non avendo idea degli ordini di grandezza dei programmi ho un po' una grossa incognita.. Il micro deve gestire l'acquisizione analogica da 5 canali simultaneamente, memorizzare dati su una flash seriale, gestire la porta usb e ci sarà una parte di programma per gestire i timer in modo da sincronizzare i dati acquisiti con quelli acquisiti dal sistema sul pcSecondo te ci posso stare largo o se ci sta sta giusto giusto?Grazie Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 26 marzo 2007 Segnala Share Inserita: 26 marzo 2007 ciao mimmuxper me ci stai largo anche scrivendo in C. Il tuo codice non credo superi i 10-15K quindi ritengo ci sia un buon margine d'errore.Con le ottimizzazioni dei compilatori attuali non hai problemi. Ho scritto e scrivo ancora codice in assembler ma a mio parere le procedure scritte direttamente in assembler sono meno ottimizzate di quello che riesce a produrre il compilatore C. Forse devi ricorrere all'assembler se hai dei vincoli sul tempo di esecuzione di alcune procedure altrimenti non credo sia più necessario. Link al commento Condividi su altri siti More sharing options...
DG.M Inserita: 26 marzo 2007 Autore Segnala Share Inserita: 26 marzo 2007 Ok perfetto grazie Dome Link al commento Condividi su altri siti More sharing options...
DG.M Inserita: 26 marzo 2007 Autore Segnala Share Inserita: 26 marzo 2007 Domanda: i micro "Romless" (colonna "program memory type") che programma eseguono e da dove lo leggono? Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 26 marzo 2007 Segnala Share Inserita: 26 marzo 2007 memoria esterna il micro ha un bus dedicato per accedere alla memoria esterna. Ogni istruzione inizia con il ciclo di lettura del codice dalla memoria esterna. Il bus ti obbliga a realizzare la logica di decodifica per selezionare i diversi componenti collegati al bus. A qusto proposito ti segnalo i uPSD della ST che in unico chip includono micro romless e periferica flash/ram/PLD e sono facilmente configurabili da sw.Anche inel caso di un romless sei però vincolato a una dimensione massima della memoria codice che è determinata dal numero di linee indirizzo disponibili per il bus. Problema che si può aggirare con qualche trucchetto e che i programmatori 8051 conoscono bene. Si complica la scrittura del software ma riesci a gestire anche memorie di grosse dimensioni. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 27 marzo 2007 Segnala Share Inserita: 27 marzo 2007 Accacca per conoscere questi "misfatti" devi essere sulla breccia da qualche lustro, o sbaglio Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 27 marzo 2007 Segnala Share Inserita: 27 marzo 2007 (modificato) ahia ! colpito ed affondatoTi ringrazio per esserti limtato a un generico qualche lustro... Modificato: 27 marzo 2007 da accacca Link al commento Condividi su altri siti More sharing options...
Muntadu Inserita: 15 maggio 2008 Segnala Share Inserita: 15 maggio 2008 Ricordare però che commutare pagine di memoria va a discapito della velocità Link al commento Condividi su altri siti More sharing options...
mshadow65 Inserita: 17 maggio 2008 Segnala Share Inserita: 17 maggio 2008 Ciao a tuttiOvviamente se hai paura di "inciampare" nel problema della dimensione della memoria dovresti sin dall'inizio scegliere un micro che e' disponibile in tagli di memoria diversa.Il qui menzionato uPSD 33xx ha queste caratteristiche ed e' disponibile con tagli di memoria che arrivano fino a 32K di RAM e 256K di codice, il tutto senza cambiare il pinout del chip. Ovviamente la gestione della paginazione fa scendere un po' le prestazioni. Vista la tua applicazione non considero pero' questo un problema. con uPSD33xx hai fino a 10Mips di potenza di calcolo.Se decidi per un sistema un pochino piu' potente (Vedi ARM9 e FreeScale) e magari anche Rom-Less i problemi non esistono piu'. Realizza gia' il progetto con una bella flash memory esterna bella "grassa grassa" e scrivi quanto vuoiCiaoFurno Gianluca Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 18 maggio 2008 Segnala Share Inserita: 18 maggio 2008 ok le chiacchere ...ma le conclusioni ?8051 ...Z80 ...Z81 ...e poi ? Link al commento Condividi su altri siti More sharing options...
mshadow65 Inserita: 19 maggio 2008 Segnala Share Inserita: 19 maggio 2008 Bene,Se dovessi scegliere io il processore per questo progetto io "opterei" per una architettura ARM7Per esempio NXP LPC2138 ha 256K di flash e 32K di RAM, il costo e' poco piu' di un micro a 8 bit ...Con questa memoria a disposizione stai bello tranquillo per un po' di tempo.Inoltre il chip ha gia' un convertitore a 10 bits, non so se e' sufficente per la tua applicazione, questo guarda tu.A proposito ... il chip puo' essere lanciato a 70Mhz!CiaoGianluca Furno Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora