USB Bootloader 18F4550

9 Anni 9 Mesi fa #1 da pad
USB Bootloader 18F4550 è stato creato da pad
Grazie al fantastico libro "XC8 Step by Step" per il quale non finirò mai di ringraziare Marco per questo, sto realizzando un progettino in grado di controllare la temperatura della ricarica di una batteria tampone per il camper.

Ebbene, ho scritto tutto il codice e funziona a meraviglia.
Premetto che l'utilizzatore dovrà impostare la temperatura massima (offset) per attivare tutti i servizi di controllo ed ho pensato di utilizzare una applicazione windows in c# che tramite la USB consente di configurare questo valore.

Purtroppo sono incappato nella configurazione del linker quando installo il bootloader e l'applicazione finale.

Per il Bootloader ho utilizzato quello pubblicato sul sito con interfaccia windows Laurtec. quest'ultimo funziona regolarmente mentre per quanto riguarda il software da me realizzato ho problemi a configurare la memoria per far partire l'applicazione dalla locazione 1000h.
ho fatto varie prove di configurazione del linker e quella che credo sia giusta è la seguente:
MEMORY MODEL = default,-0-1000,-1008-1009,-1017-1018 (reset vector=1000h; high priority interrupt vector = 1008h; Low priority interrupt vector= 1017h)
CODEOFFSET = 0x1000

Caricando il software compilato con il linker riconfigurato, purtroppo nulla funziona. Mi sapete aiutare e dare indicazioni corrette delle configurazioni del linker xc8?
Grazie.

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

  • pad
  • Junior Member
  • Junior Member
Di più
9 Anni 9 Mesi fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic USB Bootloader 18F4550
Ciao Pad,

per il compilatore XC8 il linker file usato per il bootloader non funziona piu' (e' pensato per il compilatore C18).

Ho fatto solo delle prove base con XC8, ed onestamente al tempo dei test ho trovato delle incongruenze, ma non investigai visto che sia MPLAB X che il compilatore XC8 erano alle prime versioni.

Come consiglio per compilare in XC8, impostando il code offset, ti posso dare quello di controllare i progetti USB presentati nell'ultima libreria MAL della Microchip, la quale supporta sia il C18 che XC8.

Quando selezioni il compilatore XC8 vedrai che i linker file sono disabilitati dalla compilazione ma sono aggiunte altre impostazioni.

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
9 Anni 9 Mesi fa #3 da pad
Risposta da pad al topic USB Bootloader 18F4550
Con l'ingegno e tanto tempo a disposizione ho risolto la questione.
Per prima cosa, dovendo usare un bootloader per il pic18f4550, ho modificato (copiandolo) il file PIC18F4550_config.h per consentire l'uso della USB e quindi la giusta configurazione dell'oscillatore e prescaler.
Su MPLAB X IDE ho configurato il linker e quindi la configurazione del "Memory model - ROM ranges" nel seguente modo: default,-0-FFF,-1006-1007,-1016-1017 e la configurazione di "Additional Options - Offset" indicando l'inizio della zona di memorizzazione con 0x1000.
Tanta fatica ma ben ricompensata perchè tutto funziona egregiamente.
Unico neo, ho dovuto settare l'inizializzazione del display in questo modo LCD_initialize (8) anzichè LCD_initialize (20) come indicato negli esempi sul volume xc8 step by step.
Adesso sto passando alla lettura scrittura di valori verso il PIC, con interfaccia in Visual C++.
Avevo già realizzato una interfaccia usando la libreria mcHID.dll ma all'epoca utilizzavo MikroC e adesso mi sono intestardito ad usare XC8 e MPLAB X, sicuramente comprendendo meglio ciò che faccio.

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

  • pad
  • Junior Member
  • Junior Member
Di più
9 Anni 9 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic USB Bootloader 18F4550
Ciao Pad,

grazie per aver condiviso la risoluzione del problema.

...mi tornerà utile quando ripercorrerò il sentiero.

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
9 Anni 9 Mesi fa #5 da shinshi
Risposta da shinshi al topic USB Bootloader 18F4550
Ciao pad,
Ci ho provato ma non sono riuscito a farlo funzionare. Non ho capito bene quale bootloader hai usato alla fine, se hai usato il LaurTec_PIC_Bootloader_1.0.0. Inoltre potresti indicare esattamente cosa hai cambiato nel file PIC18F4550_config.h

Grazie

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

  • shinshi
  • Avatar di shinshi
  • Elite Member
  • Elite Member
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

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

Registrati al sito LaurTec.

Login