Modificare codice PIC12F con CCS C

Nov 18, 2025 Last reply: 7 mesi fa 6 Replies

Ciao



mi hanno chiesto una piccola modifica, ma il progetto per



PIC12F675



è stato fatto con compilatore CCS, che mi pare sia solo a pagamento. Ci sarebbe un demo ma "Only 15% of the example programs and drivers are provided" Il progetto usa alcune funzioni messe a disposizione da CCS, tipo setup_adc_ports(sAN2|sAN3|VSS_VDD); Sono funzioni semplici, che si possono scrivere in altro modo ma poi per fare questa piccola modifica ,normalmente da 2 minuti servirebbe un certo tempo

Io rifarei il progetto da 0 con MPLAB X IDE



ma vorrei sentire qualche parere



grazie


Premetto che non tocco più i PIC da quando sono passato ad altri micro, quindi almeno 10 anni.

Uhm... molto dipende dal codice. Così su due piedi però io non lo farei.

E' tutto C e poi si usano alcune funzioni proprietarie del CCS o ci sono pezzi in assembly, gestioni ad-hoc di qualche ISR, scritture dirette sugli I/O, ...? A livello di linker? Parliamo di un progetto hobby o un progetto che ha già fatto il suo field-test ed è in produzione?

Poi controlla bene il discorso licenze. MPLAB X *era* effettivamente free ma non le ottimizzazioni che poteva utilizzare poi il compilatore. Mi pare si potesse fare -O0 e -O1 per il resto, tipo -Os, serviva la licenza del compilatore per il tuo micro (XC16, XC32.. vado a memoria, XC8 per il tuo caso specifico)

Grazie,il progetto è piccolino e si potrebbe rifare da 0 Solo che il richiedente sperava nella modifica da mezz'oretta o giù di lì(leggi gratis o quasi).

C'è ognuna delle cose che hai detto tranne gestioni ad-hoc di qualche ISR,

Non credo che vengano riservate aree di memoria definite se è quello che intendi

E' in produzione e funziona bene ,anche per questo avrei preferito variare un parametro che rifarlo e scoprire qualcosa di strano

E' sempre così, "una modifica facile da fare al volo" :)

E' sufficiente questo per dire che non conviene cambiare ambiente di sviluppo, anche avessi scritto tu l'originale di cui adesso serve fare la modifica. Non tanto per l'IDE ovviamente ma per il codice che verrà generato.

Quello lo vedi dal .ld; Si per capire se c'è solo l'applicativo o magari anche salvataggio in flash di parametri del fw (oppure un bootloader, ma su un micro così piccolo credo di no)

in produzione + funziona bene = resta così (per me almeno)

Il 18/11/2025 17:35, blisca ha scritto:

Se il committente non ti dà un pacchetto completo che ti permette di ricreare lo stesso eseguibile che si usa in produzione (quindi codice sorgente, toolchain, ecc), il lavoro più grosso non è cambiare una riga di codice (magari una costante da 2 a 3), ma ricreare l'ambiente di sviluppo.

Quindi:

  1. il committente ti paga per ricostruire l'ambiente di sviluppo e poi la modifica al sorgente, eventualmente pagando lui le licenze del caso

  1. il committente ti paga per portare il codice su un'altra toolchain, con il rischio di introdurre bug

Sperando che la responsabilità di conservare la toolchain, oltre che il codice, non fosse tua. Nel qual caso, potresti cercare nel dark.

Il 22/11/2025 13:01, pozz ha scritto:

Dov'e' che potrebbe cercare?

Il 22/11/2025 13:01, pozz ha scritto:

Sono d'accordo Riguardo al dark invece non ci provo neanche ,non voglio fare una cosa illegale quando, a disponibiltà del cliente, ci sarebbero i modi per farla in regola. Mi rendo conto che ci sono anche i casi "non mi interessa come,basta che lo fai i soldi sono questi" .Ma cerco di evitare la situa.

Purtroppo è uno dei molti,ma molti casi che vedo in cui il cliente ha solo una parte del progetto,per esempio ha l'HEX,ma non ha tutto il codice ,oppure ha i Gerber ma non ha lo schema e il progetto CAD PCB. Spesso deriva da un "tanto se ho bisogno ci pensa lui" ma per vari motivi non sempre le persone sono disponibili

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required