Pagina 1 di 1

Problema ingombro memoria atmega 16

MessaggioInviato: 1 set 2012, 15:30
da EliseoMy
Problema ingombro memoria ATMEGA16

Ciao ragazzi, ho estremo bisogno del vostro aiuto. Ho fatto un programma con un ATMEGA 16, che mi gestisce un display e alcuni relè. Il problema fondamentale è che se scrivo delle righe di codice che mi occupino più del 55%, il programma non funziona più. L'ho scoperto perché commentando diverse parti di programma il firmware gira solo se inferiore al 55%, indipendentemente da che righe siano, quindi non è il programma in se, ma il micro. Cosa devo fare?? GRAZIE

Re: Problema ingombro memoria atmega 16

MessaggioInviato: 1 set 2012, 15:38
da simo85
Stai scrivendo in Flash? Il fatto che lasci scrivere solo il 55% mi lascia un po' perplesso.

Eventualmente potresti usare una EEPROM esterna..
Cerca anche di ottimizzare il codice.

Re: Problema ingombro memoria atmega 16

MessaggioInviato: 3 set 2012, 11:28
da EliseoMy
Ho cercato di ottimizzare il codice, e di usare le eeprom sua interna per togliere righe di codice alla flash, sopprattutto per la gestione grafica del display,ma ho avuto solo un vantaggio sulla lunghezza del codice, cioè sono riuscito ad implementare più funzioni, ma non il programma completo.
Purtroppo rimane sempre il problema del 55%, oltre non va.
Ho abbassato il boot loader, ma non cambia.
Una memoria esterna non la posso usare, perché ormai la scheda è montata, dovrei fare un altro prototipo solo per prova, e non mi sembra il caso.

Re: Problema ingombro memoria atmega 16

MessaggioInviato: 3 set 2012, 12:24
da TardoFreak
EliseoMy ha scritto:...Ho abbassato il boot loader ...

Spiega bene questa cosa, nel dettaglio.

Comunque puoi usare un ATmega32 ed hai risolto.

Re: Problema ingombro memoria atmega 16

MessaggioInviato: 5 set 2012, 22:35
da cyclone
EliseoMy ha scritto:Problema ingombro memoria ATMEGA16

Ciao ragazzi, ho estremo bisogno del vostro aiuto. Ho fatto un programma con un ATMEGA 16, che mi gestisce un display e alcuni relè. Il problema fondamentale è che se scrivo delle righe di codice che mi occupino più del 55%, il programma non funziona più. L'ho scoperto perché commentando diverse parti di programma il firmware gira solo se inferiore al 55%, indipendentemente da che righe siano, quindi non è il programma in se, ma il micro. Cosa devo fare?? GRAZIE



ciao eliseo,
ti posso chiedere con che ide e linguaggio stai sviluppando il firmware?
vorrei capire se si tratta di un problema che ho incontrato io tempo fa.
quante sub gestisci nel tuo fw?

ciao

Re: Problema ingombro memoria atmega 16

MessaggioInviato: 21 set 2012, 11:02
da EliseoMy
Utilizzo ImageCraft AVR versione 6.26
Le sub sono parecchie, saranno una decina.

Re: Problema ingombro memoria atmega 16

MessaggioInviato: 21 set 2012, 11:04
da EliseoMy
Comunque il firmware compilato, ovvero il .hex è di 11K, il micro dovrebbe tenere fino ai 16K.

Re: Problema ingombro memoria atmega 16

MessaggioInviato: 22 set 2012, 17:17
da cyclone
EliseoMy ha scritto:Comunque il firmware compilato, ovvero il .hex è di 11K, il micro dovrebbe tenere fino ai 16K.


11k di hex non significano 11k di flash il che significherebbe che il file bin è almeno 1/2 circa 5k....

uhm... io uso pure ICC v7 ma non ho mai incontrato di questi prb.
hai provato di sicuro a cambiare il chip... giusto?
i fuse bits sono ok?