Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Pierin PIc18 e interrupt vector

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[31] Re: Pierin PIc18 e interrupt vector

Messaggioda Foto Utentericello9 » 17 set 2013, 21:48

Ho provato il tuo codice e sembra funzionare, però ho alcune domande da farti:

CODEPAGE NAME=page START=0x102A END=_CODEEND-0x500 //Riservo 0x500 bytes di allocazione per i due vettori
CODEPAGE NAME=ROMvars START=_CODEEND-0x499 END=_CODEEND PROTECTED //... e li colloco protected prima della memoria per il debug


Nel mio esempio utilizzo due array da 765 e 435 bytes, quindi devo riservare 0x1200 bites di allocazione in flash.

Codice: Seleziona tutto
#IFDEF _DEBUGCODESTART
  CODEPAGE   NAME=bootloader START=0x0            END=0xFFF          PROTECTED
  CODEPAGE   NAME=vectors    START=0x1000         END=0x1029         PROTECTED
  CODEPAGE   NAME=page       START=0x102A         END=_CODEEND-0x1200            //Riservo 0x1200 bytes di allocazione per i due vettori
  CODEPAGE   NAME=ROMvars    START=_CODEEND-0x1201 END=_CODEEND        PROTECTED //... e li colloco protected prima della memoria per il debug
  CODEPAGE   NAME=debug      START=_DEBUGCODESTART   END=_CEND        PROTECTED
#ELSE
  CODEPAGE   NAME=bootloader START=0x0            END=0xFFF          PROTECTED
  CODEPAGE   NAME=vectors    START=0x1000         END=0x1029         PROTECTED
  CODEPAGE   NAME=page       START=0x102A         END=0x1EDF7
  CODEPAGE   NAME=ROMvars    START=0x1EDF8        END=0x1FFF7        PROTECTED    //Come sopra, ma qui non ho il debug, più lineare.


é corretto?
Ma spostando i due array dalla memoria ram alla flash avrei dovuto vedere una diminuzione delo spazio disponibile in quest'ultima, invece resta sempre all'otto percento.
Cattura.JPG
Cattura.JPG (38.43 KiB) Osservato 3327 volte


Scusa se ti tartasso ma la mia curiosità è infinita.
Sarei interessato anche all'uso di una memoria ram esterna , come mi hai suggerito, ma quello che non riesco a capire è come fa a memorizzare al suo interno una array di bytes se appena tolgo alimentazione perde il suo contenuto.
A questo punto presumo che con la funzione di BYTE WRITE dovrei copiare il mio array da una sorgente alla mia ram esterna, questa sorgente può essere una eprom?
Domani faccio qualche prova con la Sram che ho in casa e poi vi tengo aggiornati.

Grazie per l'aiuto.
Avatar utente
Foto Utentericello9
195 1 3 7
Stabilizzato
Stabilizzato
 
Messaggi: 360
Iscritto il: 16 mar 2009, 0:13

0
voti

[32] Re: Pierin PIc18 e interrupt vector

Messaggioda Foto UtenteTardoFreak » 17 set 2013, 21:50

E perché mai dovrei usare un RAM esterna per farle fare (malamente) il lavoro di una FLASH?
Non ti basta la FLASH del micro?
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[33] Re: Pierin PIc18 e interrupt vector

Messaggioda Foto Utentericello9 » 17 set 2013, 22:04

E perché mai dovrei usare un RAM esterna per farle fare (malamente) il lavoro di una FLASH?
Non ti basta la FLASH del micro?

Si, per i font può bastare ma ho visto che con questo display posso caricare semplici bitmap.
Mi chiedevo se la soluzione che mi avete suggerito in precedenza, di usare una memoria RAM esterna, poteva andar bene ma non riesco a capire il concetto del suo funzionamento.
Avatar utente
Foto Utentericello9
195 1 3 7
Stabilizzato
Stabilizzato
 
Messaggi: 360
Iscritto il: 16 mar 2009, 0:13

0
voti

[34] Re: Pierin PIc18 e interrupt vector

Messaggioda Foto UtenteShockwaver » 17 set 2013, 22:33

ricello9 ha scritto:Nel mio esempio utilizzo due array da 765 e 435 bytes, quindi devo riservare 0x1200 bites di allocazione in flash.

0x come prefisso indica un numero in annotazione esadecimale. I miei 0x500 corrispondono a 1280 bYtes. :!:
Conoscevo le dimensioni dei tuoi vettori e il codice l'ho fatto su misura.

Sul link che ti ho postato ci sono parecchie info per capire.. e ad ogni modo quoto nuovamente Foto UtenteTardoFreak in linea di massima quando si ha ancora memoria a disposizione da qualche parte, è inutile utilizzarne altra esterna..
Anyone who has never made a mistake has never tried anything new
Two things are infinite: universe and human stupidity, and I'm not sure about the former
You did not really understand something unless you can explain it to your grandmother
A. Einstein
Avatar utente
Foto UtenteShockwaver
770 1 5 11
Expert
Expert
 
Messaggi: 859
Iscritto il: 3 mar 2010, 18:56

0
voti

[35] Re: Pierin PIc18 e interrupt vector

Messaggioda Foto Utentericello9 » 18 set 2013, 17:10

0x come prefisso indica un numero in annotazione esadecimale. I miei 0x500 corrispondono a 1280 bYtes.
Conoscevo le dimensioni dei tuoi vettori e il codice l'ho fatto su misura.

Ok, ho ancora molto da imparare...
Avatar utente
Foto Utentericello9
195 1 3 7
Stabilizzato
Stabilizzato
 
Messaggi: 360
Iscritto il: 16 mar 2009, 0:13

0
voti

[36] Re: Pierin PIc18 e interrupt vector

Messaggioda Foto UtenteShockwaver » 18 set 2013, 17:20

Non ti scoraggiare.. Se c'è passione e curiosità lo si fa in fretta, anche se non si smette mai :ok:
O_/
Anyone who has never made a mistake has never tried anything new
Two things are infinite: universe and human stupidity, and I'm not sure about the former
You did not really understand something unless you can explain it to your grandmother
A. Einstein
Avatar utente
Foto UtenteShockwaver
770 1 5 11
Expert
Expert
 
Messaggi: 859
Iscritto il: 3 mar 2010, 18:56

Precedente

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite