[ mikikg @ 04.03.2012. 20:41 ] @
Pozdrav,

interesuje me da li neko ima iskustva u radu sa ovim C kompajlerom za PIC 18F platformu koja je od skora podrzana?

SDCC - Small Device C Compiler
http://sdcc.sourceforge.net/

Ovo mi se cini kao vrlo fina stvar + sto je besplatan.

Naime, za moj SDR projekat bih zeleo da objavim i source code ali mi je malo glupo da forisiram neki komercialni kompajler ili da se skucim u limite koje imaju lite verzije pa sam mislio da ovaj SDCC mozda moze da zavrsi posao ali nisam imao prilike da radim sa njim do sad.

Evo slican moj pokusaj na ovu temu od pre nekoliko meseci :)
http://www.elitesecurity.org/t440440

[Ovu poruku je menjao mikikg dana 05.03.2012. u 11:10 GMT+1]
[ bogdan.kecman @ 05.03.2012. 08:04 ] @
prvi pokusaj repreap elektronike je bio sa sdcc-om, na kraju smo batalili celu microchip platformu i otisli na atmel zato sto je sdcc-ov kod za pic bio neverovatno bagovit
[ mikikg @ 05.03.2012. 10:07 ] @
@bogdan.kecman da, trebace vremena da to sve poprave ali mi je zanimljiva cela ideja. Mali off-topic, da li si koristio FORTH na PIC-u?
[ bogdan.kecman @ 05.03.2012. 10:12 ] @
[ mikikg @ 05.03.2012. 10:22 ] @
Forth Compilers Page http://www.forth.org/compilers.html, http://en.wikipedia.org/wiki/Forth_(programming_language), na ovo sam mislio, uopste na programski jezik FORTH? Taj jezik je cudo i radi opasno brzo, steta ako nisi probao, svideo bi ti se garant.
[ goran_68 @ 05.03.2012. 10:34 ] @
Ja sam se skućio u limite koje ima HI-TECH lite. Kod nije optimizovan i zna da bude prilično veći ali sa druge strane moje amaterske potrebe potpuno zadovoljava. Preporučujem ga svima.
[ bogdan.kecman @ 05.03.2012. 11:06 ] @
nesto se desilo sa mailom pa je izasao onaj upitnik, ja sam odgovorio tu sa NE :D a dal je mail.app nesto smorio ili je es mailing lista nesto smorila pa je izasao taj upitnik

u jednom trenutku sam hteo da pisem forth interpreter za pic ali sam odustao, kompajler za pic nisam znao ni da postoji (niti bi ga koristio ikad )

hitech je ok, ja vise volim picc.. imam placenu verziju za 10-12-14 i 16F picove kojoj je na zalost istekao period za free upgrade i support tako da je verzija malo bajata ali za te pateticne kontrolere ionako vise nego dovoljna .. u svakom slucaju, koristenje 16F picova u 21 veku potpuno nema nikakvu svrhu. 10F i 12F imaju donekle smisla sa svojim 8pinskim kucistima i posebno ovi novi sa malim cpld-om i malim rf-om na sebi, ali 14F i 16F su potpuno beskorisni posto u isto pinova za manje pare moze da se kupi 18F ili bolji mcu koji ima 100x bolje jezgro, vise periferije, vecu brzinu ... i dzaba C kompajler ... a 10 i 12F svejedno ima mnogo vise smisla programirati u asembleru tako da ... cela ta serija hitech/picc/mikroC za 16F nema preterano mnogo svrhe. Inace pre par godina sam pravio poredjenje kvaliteta koda picc-a, hitech-a i mikroC-a i mikroC je pravio ubedljivo najbolji kod za 16F .. jedini problem je sto su im sve biblioteke zatvorene sto je meni veliki problem u radu sa njima, i sto nisu kompatibilni sa pickit/icd/ice alatkama sto je takodje dosta znacajan problem (koji se doduse resi kupovinom picprog-a)
[ mikikg @ 05.03.2012. 11:35 ] @
ok, ja upravo mislim na 18F i USB podrsku koja sama po sebi pojede dosta code-a ... Koliki je limit za Hi-tech lite verziju?
[ goran_68 @ 05.03.2012. 11:37 ] @
Nema limit isključena je optimizacija. Skini demo za USB pa probaj da ga kompajliraš. Ako probaš javi rezultate baš me zanima..
[ bogdan.kecman @ 05.03.2012. 11:49 ] @
za 18F imas dzaba C18 koji je skroz ok i imas USB stek od mikrocip-a u MAL-u koji radi 1/1

HiTECH ova "nova" kombinacija koja nema limit u kodu je go*no neopevano !!! ne samo da nema optimizaciju nego ima "nameran bloating koda" .. dakle ladno u kodu imas petlje koje ne rade nista i gomilu stvari koje usporavaju i povecavaju kod ... tako da je prilicno beskoristan. Ako ces da koristis 18F - uzmi C18 i ne gledaj dalje, bolje nema
[ goran_68 @ 05.03.2012. 12:18 ] @
Kada sam ja prvi put probao Microhip C18 a to je bilo dosta davno (9-10 godina) bio je jako bagovit. Smučio mi se i od tada ga nisam koristio. Za HI-TECH lite je tačno da pravi ogroman kod (namerno!?) ali sigurno nije beskoristan. Možda je Microchip C18 sada bolji. Kad nađem vremena probaću da isti kod prevedem sa oba i uporedim.
[ bogdan.kecman @ 05.03.2012. 12:30 ] @
C18 je sada mnogo dobar kompajler. A hi-tech od kada su izbacili limit za kod namerno pravi los kod, i to zastrasujuce los, napravi hex malo komplikovanijeg koda i onda ga disasembliraj, zabolece te zeludac :(

C18 je extra stabilan, pravi odlican kod. MPLAB-X je odlican gui (zasnovan na netbeens-u sto je po meni 1000000x bolje od eclipse-a) ... probaj ... hitech ljudi koriste samo za 16F generalno a rekoh, za 16F sta mislim ...
[ goran_68 @ 05.03.2012. 12:42 ] @
Upravo sam probao da kompajliram kod koji sam legalnom verzijom radio ranije za prijatelja. Legalna varijanta kaže ovo:

Program statistics:

Total ROM used 3532 bytes (86.2%)
Total RAM used 84 bytes (16.4%) Near RAM used 15 bytes (11.7%)

kontroler je PIC18F2220.

Ovom LITE varijantom ni posle značajne redukcije koda nisam uspeo da ga prevedem što znači da bi u ovom slučaju zaista bio neupotrebljiv.
Probaću i Microchip C18.
[ bogdan.kecman @ 05.03.2012. 13:02 ] @
ako imas nerava probaj da prevedes isti kod sa C18 (moraces malo izmena posto nisu identicni) ...
[ mikikg @ 05.03.2012. 13:04 ] @
Na ovo mislis, C18? http://www.microchip.com/stell...eId=1406&dDocName=en010014
Ni meni se ne svidja Eclipse ni za PHP a kamoli za ovo ...
[ bogdan.kecman @ 05.03.2012. 13:33 ] @
da, samo bolje skini ceo mplabx + c18 (i c30 i c32 i ..)

http://www.microchip.com/mplabx/

[ goran_68 @ 06.03.2012. 12:19 ] @
Preveo sam kod za Microchip C18 i OK je. Definitivno je bar uspeo da strpa to u programsku memoriju PIC18F2220 za razliku od HI-TECH PICC18. Nesto me mrzi da sad sve to proveravam kako radi ali LITE varijanta je bolja.
[ bogdan.kecman @ 06.03.2012. 12:21 ] @
ne kontam, kako je lite verzija bolja kada ne moze da spakuje u mcu ono sto c18 spakuje ?
[ goran_68 @ 06.03.2012. 13:21 ] @
Greska moja lose sam napisao. Obe nose oznaku LITE stim da je MPLAB C spakovao a HITECH-PICC18 nije. Pod ovim nije mislim na to da sam pokusao i znacajno da redukujem kod iskljucivanjem nekih funkicja a da i dalje kompajliranje nije prolazilo.

[ mikikg @ 06.03.2012. 13:24 ] @
Ok cool, znaci pobednik je MPLAB C18 LITE ;)
[ bogdan.kecman @ 06.03.2012. 13:28 ] @
ocekivan rezultat. Sta je fora C18 je GCC koji pravi kod za 18F jezgro. C18 lite ima SVE optimizacije koje ima GCC !!! ono sto nema su specificne optimizacije koje je pravio microchip koje se odnose na pic18F, ali dakle sve klasicne optimizacije (izbacivanje mrtvog koda, preorganizacija petlji etc etc etc) koje ima gcc su tu. Hi-Tech sa druge strane ima "generator sra*a" koji insertuje bloat u kod. Zato moja izjava da je "hitech beskoristan"

pitanje je jos kako si bildovo sa C18, ako si bildovao debug mode (sto je default) tu su iskljucene sve GCC optimizacije takodje :D (-O0) tako da to moze jos bolje ...
[ mikikg @ 06.03.2012. 13:41 ] @
Razumem ... meni za ovaj moj projekat nije toliko kriticna sva ta fina optimizacija ... Samo sam hteo da izbegnem situaciju "evo vam source code, al' izvinte mora da kompajlirate sa tim-i-tim placenim kompajlerom" ili da ih upucujem na warez ili jos gore da prave donglove za pojedine kompajlere 8-)
[ bogdan.kecman @ 06.03.2012. 13:47 ] @
zato je bas C18 idealna varijanta - free, gcc... :D :D :D
[ ZAS011 @ 06.03.2012. 17:46 ] @
Sta fali donglici?
A moze i bez donglice, jedan .dll