Aiuto per creare un programma file HEX per pic (MPLab X)

Pubblicità
Che significa pic di arduino ? Pic e avr sono architetture totalmente diverse, seppur sempre 8 bit.

Giusto per vs. informaizone, In Linux, tutte queste cose, IDE, mplab etc non sono affatto necessarie. Io utilizzo pickit2.

Si crea un semplice makefile per compilatore C
Codice:
# Toolchain location
CC=/opt/microchip/xc8/v2.10/bin/xc8-cc
...

E per programmare
Codice:
sudo pk2cmd -PPIC16F1455 -M -Fimage.hex
Si adesso che mi ci fai pensare, ho detto una caz... non è possibile programmare un Atmega o avr con K150 e mi sa che neanche con pickit 2 e 3...dovrei fare una prova...l'unico atmega che ho programmato era un Atmega 644P, per creare un Saguino, però in quel caso avevo utilizzato arduino uno come programmatore e installare bootloader...linux non l'ho mai utilizzato per la programmazione dei pic, sembra interessante...

P.s. c'è una distro apposita o più portata per la programmazione dei pic? o va bene una qualsiasi? grazie.
 
Ultima modifica:
No problem.

Atmel "core AVR" (8bit) sono tutti gli ATmega e altre mcu Atmel piu vecchie ma ormai legacy, che erano sempre core AVR.

I pic sono Microchip, tutt'altra storia, questi piccoloi 16Fxx (sempre core 8bit) sono set istruzioni 14bit, minimale, solo che ora Microchip ha comprato Atmel, quindi si puo far confusione, ma sono architetture diverse. Io preferisco di gran lunga gli avr, compilatore open avr-gcc da sempre.

Buono conoscerli entrambi, perche' talvolta ci si trova a lavorare su entrambi per vari motivi, anche imposti dai datori di lavoro, che scelgono magari un pic perche' gli e' piu facile reperirlo e meno costoso..

Qualsiasi distro Linux va bene, basta installare il compilatore C di mplab per Linux, questo se a uno piace il C, se no gpasm (gputils) per l'assembly open, poi pk2cmd per programmare la flash.

Nota, il compilatore C e' comodo, ma la versione free non ottimizza in size e riempie presto la flash.
 
No problem.

Atmel "core AVR" (8bit) sono tutti gli ATmega e altre mcu Atmel piu vecchie ma ormai legacy, che erano sempre core AVR.

I pic sono Microchip, tutt'altra storia, questi piccoloi 16Fxx (sempre core 8bit) sono set istruzioni 14bit, minimale, solo che ora Microchip ha comprato Atmel, quindi si puo far confusione, ma sono architetture diverse. Io preferisco di gran lunga gli avr, compilatore open avr-gcc da sempre.

Buono conoscerli entrambi, perche' talvolta ci si trova a lavorare su entrambi per vari motivi, anche imposti dai datori di lavoro, che scelgono magari un pic perche' gli e' piu facile reperirlo e meno costoso..

Qualsiasi distro Linux va bene, basta installare il compilatore C di mplab per Linux, questo se a uno piace il C, se no gpasm (gputils) per l'assembly open, poi pk2cmd per programmare la flash.

Nota, il compilatore C e' comodo, ma la versione free non ottimizza in size e riempie presto la flash.
Ottimo...preferisco compilare in c è molto più easy, con assembly spesso mi ritrovo a fare casino...ok allora mi serve mplab versione per linux, pk2cmd e i driver per il pickit 3 li trovo o devo usare il pickit 2? perchè per quello devo cercare tra gli scatoloni, è sparito al secondo traslocco 😂...comunque intanto ti ringrazio, se trovo qualche intoppo mi faccio risentire sicuramente.
 
come programmatori in Linux ne puoi usare molti, per pickit2 (io uso questo) ti basta il comando pk2cmd.

Ti allego un progettino C d'esempio che compila

screenshot_202209131663095052.webp

Poi, pickit3 si puo anche usare da riga di comando, ci sono esempi in xc8 / mplab, se non sbaglio c'e 'un comando java.

Ci sono altri tools per programmare, tipo picpgm

screenshot_202209131663095266.webp
 

Allegati

Grazie per le info...dal readme del compilatore ho letto "Actually, pickit3 seem not functional in Linux, tested by MPLABX 4.2 and 5.0.
PicKit2 has been used for programming." proverò lo stesso se funziona con pickit 3, in caso cercherò il 2...in settimana provo...

P.s. per installare il programma che hai postato, lo devo fare da terminale? se si il comando è sempre ./config make make install ? è da un bel pò che non installo software da terminale se no tramite repository...
 
Ultima modifica:
editato: ok se sono note del copilatore, allora non va. Hai installato ultimo compilatore ?
 
Ultima modifica:
si sono note mie credo, inizialmente non ero riuscito a farlo andare.

Pero sbagliavo qualcosa io. Pare che funzioni

"java.exe" -jar "ipecmd.jar" -TPPK3 -E -M -P18F67K22 -F"PIC_v01_15.hex" -OL

Ok, comunque appena lo provo ti faccio sapere se ci sono riuscito...ho aggiunto una domanda da nabbo nel post precedente, riguardo l'istallazione...
 
se erano note del compilatore, mi sa che non fiunzionera' da linux.



casomai una scheda willem da pochi euro e' supportata, o qualcuno dei programmatori sopra
--- i due messaggi sono stati uniti ---
si funziona ! Trovato un mio vecchio post id 5 anni fa

--- i due messaggi sono stati uniti ---
il programma postato e' un sorgente d'esempio per pic, giusto per vedere come strutturarlo e come e' fatto il makefile.
lo scompatti dove vuoi, basta aver installato gnu-make

make clean
make
"make burn" per programmare

nel "makefile" pero setta prima il percorso del compilatore
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top