Chiarimenti pic18 C template - microchip embeded

11 Anni 2 Mesi fa #1 da ter2
Salve a tutti, rieccomi tra un'esame e l'altro a chiedere le vostre conoscenze.

Sto creando un template per il pic 18f4550 e la board che mi sono costruito.
Seguo questa guida:
www.electroyou.it/rusty/wiki/pierinpic18...tal+%28ElectroYou%29

Abbastanza chiara e ben corredata di figure e screen shot.
1)La prima domanda è: A che serve la funzione
void ConfigureOscillator(void)
che si trova già nel template fornito da microchip?? E a che serve abilitare il PLL in quella funzione, finora non ho mai dovuto abilitarlo e tutto funziona alla grande.....

2)Senza contare che l'XC8 mi dà un'errore proprio sulla stringa
OSCTUNEbits.PLLEN = 1;
con errore:
system.c:32: error: not a member of the struct/union ""
system.c:32: error: illegal conversion between types

3)Poi a che servono i define di FCY e SYS_FREQ??? Sono giunto alla conclusione che servano solo per poi riutilizzarle nel codice, e che non siano necessarie per il funzionamento del PIC.

4)Ultima cosa, questione code offset: sul pic che sto usando ho messo un bootloader USB (semplifica di molto le operazioni) non l'ho compilato io, ma un professore dell'università dove studio ( ricordate??? ) come posso capire che valore inserire nel code offset per non disturbare il bootloader di cui ho solo il file .hex???

Per il momento è tutto, spero di riuscire a fare funzionare il tutto, e cominciare a contribuire al forum, oltre che servirmene :-)

P.S.: ho messo i numeri solo per dare un pò di ordine alle domande, e non fare confusione nelle risposte.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • ter2
  • Junior Member
  • Junior Member
Di più
11 Anni 2 Mesi fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Chiarimenti pic18 C template - microchip embeded
Ciao Ter2,

brevi risposte:

1) La funzione ConfigureOscillator non credo sia standard ma legata all'applicazione.

2) Fai attenzione al PIC che usi tu e quello della scheda. Devono essere gli stessi per usare le stesse configurazioni. Non basta che siano della famiglia PIC18. Diversi PIC18 hanno nomi per i bit di configurazione differenti, anche per la stessa funzione.

3) guarda la documentazione della configurazione disponibile nella directory del compilatore che hai installato.

4) Se apri il file HEX lo dovresti capire. In particolare il file HEX e' in formato Intel. Puoi vedere il significato e formattazione dei byte su wikipedia. Se il prof ti ha dato il linker file modificato, lo puoi vedere anche da li.

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
11 Anni 2 Mesi fa #3 da ter2
Ri-salve a tutti, l'uso dei Pic va a rilento, riesco a perderci una 20-ina di minuti mentre faccio colazione,l'università non dà tregua!!!!

Mi sto soffermando un pò sul boot loader (anche perchè se devo staccare e riattaccare il pic ancora una volta gli dò fuoco!!!!)

Il linker fornito dal mio professore è questo:

// FileName: rm18f4550.lkr
// Sample linker command file for 18F4550 with Bootloader
//
//Change History:
// Rev Date Description
// 1.0 10/30/2004 Initial release

LIBPATH .

FILES c018i.o
FILES clib.lib
FILES p18f4550.lib

CODEPAGE NAME=boot START=0x0 END=0x7FF PROTECTED
CODEPAGE NAME=vectors START=0x800 END=0x0x829 PROTECTED
CODEPAGE NAME=page START=0x82A END=0x7FFF
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED
CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED

ACCESSBANK NAME=accessram START=0x0 END=0x5F
DATABANK NAME=gpr0 START=0x60 END=0xFF
DATABANK NAME=gpr1 START=0x100 END=0x1FF
DATABANK NAME=gpr2 START=0x200 END=0x2FF
DATABANK NAME=gpr3 START=0x300 END=0x3FF
DATABANK NAME=usb4 START=0x400 END=0x4FF PROTECTED
DATABANK NAME=usb5 START=0x500 END=0x5FF PROTECTED
DATABANK NAME=usb6 START=0x600 END=0x6FF PROTECTED
DATABANK NAME=usb7 START=0x700 END=0x7FF PROTECTED
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED

SECTION NAME=CONFIG ROM=config

STACK SIZE=0x100 RAM=gpr3

SECTION NAME=USB_VARS RAM=usb4


Fermo restando che vorrei capire il senso di tutte le voci (magari mandatemi qualche link senza che il post diventi troppo lungo) non è che potete dirmi come impostare il code offset dell'MplabX per usare questo bootloader ??? Basta solo questo per avere un codice funzionante che non "sgomiti" con il bootloader ??

Che dirvi, grazie per la pazienza e per l'aiuto.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • ter2
  • Junior Member
  • Junior Member
Di più
11 Anni 2 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Chiarimenti pic18 C template - microchip embeded

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
11 Anni 2 Mesi fa #5 da ter2
Quindi il valore da mettere nel campo CODE OFFSET è 0x800 ?

E se imposto in code offset nel codice posso lasciare i vettori di interruzione originali giusto?

Altra domandina: posso aggiungere questo linker al progetto Mplabx (e se si come) ? E quale delle due conviene usare (code offset o linker modificato)m

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • ter2
  • Junior Member
  • Junior Member
Di più
Moderatori: Mauro Laurenti

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login