Ma il secondo tasto serve normalmente per entrare nel bootloader? (che scheda stai utilizzando?)
Sembrerebbe che il PIC sia in continuo reset... come se a partire da 0x1000 non ci sia il tuo programma.
Puoi postare il contenuto del file .hex generato? (dovrebbere essere un testo di pochi byte visto il programma)
Cosi vediamo a quale indirizzo di memoria viene posizione il codice.
Problema file .hex
Moderatore:
Paolino
18 messaggi
• Pagina 2 di 2 • 1, 2
0
voti
Il secondo tasto è usato insieme al reset per entrare nel bootloader...la procedura è: tengo premuto reset, poi premo l'altro tasto, mentre tengo premuto quest'ultimo lascio il reset e poi rilascio anche l'altro tasto
Questa è la procedura normale...mi sono accorto invece che anche premendo solo questo secondo tasto parte la fase di bootloader
mmmm se puoi me lo spieghi un po'? vorrei capirlo anche io
Questa è la procedura normale...mi sono accorto invece che anche premendo solo questo secondo tasto parte la fase di bootloader
- Codice: Seleziona tutto
:04100000F9EF3FF0D5
:0E7FF2000001FCEF3FF0939481948184FED750
:020000040020DA
:08000000FFFFFFFFFFFFFFFF00
:020000040030CA
:0E000000240E3F1EFF8181FF0FC00FA00F4096
:00000001FF
mmmm se puoi me lo spieghi un po'? vorrei capirlo anche io
0
voti
Sinceramente non lo so leggere, lo carico nel software del mio programmatore e con questo vedo in quali locazioni di memoria è il codice ed il codice in assembler.
Il tuo codice è, secondo me, un po' strano:
- inizia, come deve, da 0x1000
- a 0x1000 c'è una goto 0x7ff2
- a partire da 0x7ff2 fino a 0x7fff c'è il tuo codice
Onestamente è la prima volta che vedo piazzare il codice nella parte estrema superiore della memoria programma. E non sono nemmeno sicuro che il bootloader trasferisca quelle locazioni, bisognerebbe vedere se ha qualche limite in questo senso.
Immagino tu abbia tolto il .lnk che avevi aggiunto, giusto?
Prova a verificare le varie propietà del progetto.
La riga del file .hex che deve cambiare è la seguente (seconda riga del file):
come vedi dopo il numero di byte (0E) c'è l'indirizzo di memoria (7ff2) che a mio avviso potrebbe non andar bene...
Resto in attesa.
Il tuo codice è, secondo me, un po' strano:
- inizia, come deve, da 0x1000
- a 0x1000 c'è una goto 0x7ff2
- a partire da 0x7ff2 fino a 0x7fff c'è il tuo codice
Onestamente è la prima volta che vedo piazzare il codice nella parte estrema superiore della memoria programma. E non sono nemmeno sicuro che il bootloader trasferisca quelle locazioni, bisognerebbe vedere se ha qualche limite in questo senso.
Immagino tu abbia tolto il .lnk che avevi aggiunto, giusto?
Prova a verificare le varie propietà del progetto.
La riga del file .hex che deve cambiare è la seguente (seconda riga del file):
- Codice: Seleziona tutto
:0E7FF2000001FCEF3FF0939481948184FED750
come vedi dopo il numero di byte (0E) c'è l'indirizzo di memoria (7ff2) che a mio avviso potrebbe non andar bene...
Resto in attesa.
Fabio
0
voti
Ti mostro il .hex funzionante (quello che gira perfettamente con MPLAB e C18)...c'è una differenza abissale
- Codice: Seleziona tutto
:020000040000FA
:0600000087EF08F012007A
:0600080004EF08F01200F5
:060018000CEF08F01200DD
:0610000087EF08F012006A
:0610080065EF08F0120084
:061018006EEF08F012006B
:02102A000000C4
:04102C002A0EF66E24
:10103000100EF76E000EF86E00010900F550656F96
:101040000900F550666F03E1656701D03DD00900E6
:10105000F550606F0900F550616F0900F550626F3F
:1010600009000900F550E96E0900F550EA6E090023
:1010700009000900F550636F0900F550646F09001D
:101080000900F6CF67F0F7CF68F0F8CF69F060C0DD
:10109000F6FF61C0F7FF62C0F8FF0001635302E191
:1010A000645307E00900F550EE6E6307F8E2640749
:1010B000F9D767C0F6FF68C0F7FF69C0F8FF000105
:0A10C0006507000E665BBFD7120043
:0610CA00DACFE4FFE2CFE3
:1010D000DAFFE652E552E5CFDAFF1100D8CFE4FFA0
:1010E000E0CFE4FFE46EDACFE4FFE2CFDAFFE652CE
:1010F000E552E5CFDAFFE550E5CFE0FFE5CFD8FFD9
:0E1100001000300E936E81948184FED7120091
:02110E0013EEDE
:1011100000F023EE00F0F86A019C16EC08F081EC78
:0611200008F0FDD71200EB
:020000040030CA
:0100000024DB
:010001000EF0
:010002003FBE
:010003001EDE
:010005008179
:010006008178
:010008000FE8
:01000900C036
:01000A000FE6
:01000B00A054
:01000C000FE4
:01000D0040B2
:00000001FF
0
voti
Ottimo!wizard ha scritto:Funziona!!!
Posso solo pensare che il precedente programma per caricare il file .hex non trasferisse la parte più alta della memoria del PIC, non trasferendo quindi la parte che contiene il tuo programma.wizard ha scritto:E ora chi mi spiega perché?![]()
Fabio
0
voti
Ma allora può esistere una sorta di incompatibilità tra quel software ed il file .hex che genero? Ripeto (fino a costo di essere noioso): con MPLAB e C18 andava bene!!
Anche perché (e non so se sia una cavolata quello che sto per scrivere) il nuovo file .hex ha la forma "nome_del_progetto.production.hex"
Anche perché (e non so se sia una cavolata quello che sto per scrivere) il nuovo file .hex ha la forma "nome_del_progetto.production.hex"
18 messaggi
• Pagina 2 di 2 • 1, 2
Torna a Realizzazioni, interfacciamento e nozioni generali.
Chi c’è in linea
Visitano il forum: Nessuno e 11 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)



