Sida 2 av 4

Re: uPic Compiler

Postat: 10 april 2011, 11:25:43
av TomasL
PIC18 är inriktad för högnivåspråk, såsom C.
De mindre är lite småstruliga, men även till dessa finns det C-kompilatorer, Exvis FED-C och HI-TECH, vilka finns i gratisversioner, FED-C är bregränssad i kod-storlek (2 kWord), HI-TECH Lite kan inte optimera mm..
Å andra sidan kostar bara FED-C en femhundring, för en full obegränsad version, vilket nog de flesta plånböcker klarar.
Den hanterar PIC12,16 och 18

Re: uPic Compiler

Postat: 10 april 2011, 11:53:47
av DarkSilver
@Icecap
Tanken med uPic var aldrig att den skulle konkurrera med de större kompilatorerna eller med assembler för den delen. Det är mer ett projekt för min(och kanske) andras fördel, speciellt nybörjare som vill komma igång med PIC processorer och inte orkar sätta sig ner och lära sig assembler direkt.
Vi för väl se vart det hela leder :)

@TomasL
Mm, jag har i och med den här tråden fått reda på mycket om de kompilatorerna som redan existerar. Sen är en femhundrnig för mig ganska mycket pengar, i och med att jag håller på med både elektronik och bågskytte. Varken av dem är billiga att hålla på med, speciellt med tanken på att man fortfarande lever på CSN bidrag(ålder < 18).

Re: uPic Compiler

Postat: 10 april 2011, 12:01:24
av TomasL
Och i det läget finns gratisversionerna.

Re: uPic Compiler

Postat: 10 april 2011, 12:11:41
av DarkSilver
Jo, det är sant, men vart vill du komma med denna diskussion? Du vet mycket väl att jag ändå kommer att fortsätta med uPic eftersom jag ändå inte har något vettigare projekt för mig just nu och för att jag vill utmana mig själv lite.

Re: uPic Compiler

Postat: 10 april 2011, 12:31:41
av TomasL
Ingenstans egentligen, det kan ju vara en bra övning att göra det själv, bara man inte biter sig själv i svansen.
Vad jag menar är, om orsaken till projektet är att få ett fungerande verktyg, som man sedan skall använda i "produktion" sas, så är projektet nog tveksamt, om det är för att lära sig så är det naturligtvis en bra projekt.

Tror dessutom att det finns en del kompilatorprojekt för PICar på sourceforge.
Kan ju vara värt att titta på.
Sedan är det väl inte fel att testa de olika kostnadsfria alternativen som ändå finns, för att få lite känsla och tipps.

Re: uPic Compiler

Postat: 10 april 2011, 12:52:30
av Icecap
Summan är nog:
* Mycket bra projekt för att lära sig! Det innehåller mycket kunnande om hur högnivåspråk kan köra på en mikroprocessor vilket i slutändan ger ett kunnande om hur man "trillar den rätt". Mycket stor fördel!!! Och anledning nog att ge sig på det, målet är alltså själva resan till ändstationen.
* Slutresultatet finns redan på olika sätt vilket kan kännas lite tråkigt.
* Att bygga en egen variant av ett språk kan vara mycket effektivt - men samtidig är det en evolutionär ändstation. Vill du hjälpa nybörjare ville en riktig bra tutorial i C på svenska vara en enorm hjälp för många men ett eget programmeringsspråk kommer bara att vara ett hinder på vägen.

Sedan var det gratisversionerna med t.ex. 2k kodordsbegränsning (t.ex. MikroElektronika). 2K kodord är MYCKET! Man kan göra riktigt mycket om man låter bli floating point & printf och alla möjliga "smarta" rutiner...

I min erfarenhet är det så att det finns "små" projekt med mindre program där t.ex. PIC räcker alldeles fint till, annars behövs det oftast en del mer än de mindre PIC kan erbjuda av hårdvara och/eller programplats/RAM osv. Det är ganska sällan jag har stött på "medel-storlek" projekt.

Re: uPic Compiler

Postat: 10 april 2011, 13:26:03
av sodjan
> PIC 16/18 är inte speciellt inriktat på högnivåspråk...

Förrutom PIC18 som redan har nämnts så har PIC16F1xxx serien
många tillägg i arkitekturen som dels gör de mer lika PIC18 och
även gör de enklare för kompilatorer att hantera.

http://ww1.microchip.com/downloads/en/D ... 41560a.pdf
"Enhanced Mid-Range Architecture
Offers higher performance, C-friendly code development,
effi cient code execution, automatic context savings on
interrupts, higher memory and RAM support, among
other enhancements."

http://ww1.microchip.com/downloads/en/D ... 41424B.pdf
"...C Compiler Optimized Architecture..."

Re: uPic Compiler

Postat: 10 april 2011, 13:35:29
av DarkSilver
@sodjan
Mysigt, det hade jag ingen aning om. Då har jag alltså något att se fram emot

Nu har jag i alla fall lyckats komma så pass långt att jag kan genera ett fungerande program som tänder en LED lampa :D
Än så länge är det inget avancerat, men det är ändå väldigt roligt att det funkar rätt så bra än så länge.
Förhoppningsvis ska jag vara klar med variabel och funktionshanteringen idag, i alla fall den grundläggande biten.

Så här ser min test kod ut än så länge:

Kod: Markera allt

processor 16F886;
init _CONFIG1, _LVP_OFF & _FCMEN_ON & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT;
init _CONFIG2, _WRT_OFF & _BOR21V;

int hello;
int hello2;

function void main() {

	hello = 1;

	TRISA = 0;
	PORTA = 255;

}

Re: uPic Compiler

Postat: 10 april 2011, 16:25:40
av AndLi
DarkSilver skrev:
  • USART, PWM, SPI, I2C o.s.v...
Hur tänker du runt detta?Varför ska kompilatorn ha koll på vad SPI är? Eller är det något funktionsbibliotek du tänker ha?

Re: uPic Compiler

Postat: 10 april 2011, 17:18:43
av DarkSilver
Nej, det är helt enkelt hårdvaru bibliotek som jag ska sätta ihop och ha som standard där det är möjligt.

Re: uPic Compiler

Postat: 10 april 2011, 23:12:46
av jesse
Du kanske kan "låna" microchip's egna hårdvarubibliotek.... så slipper du knacka så mycket data för varje krets.

Re: uPic Compiler

Postat: 13 april 2011, 08:15:25
av DarkSilver
Det skulle man ju kunna göra :D

En liten snabb uppdatering på projektet:
- Nu fungerar funktioner hyfsat bra, allt genereras korrekt och parameters funkar precis som de ska, i alla fall för byte variabler. Sen är int och char varibler kvar.
- Förbättrade variabelhantering
- Upprensning av input kod
- Felmeddelanden

Re: uPic Compiler

Postat: 17 april 2011, 21:19:26
av arte
LLVM tror jag har en port till PIC.

Den är nog nästan lika bra som Microchips.

Re: uPic Compiler

Postat: 18 april 2011, 09:30:07
av blueint
DarkSilver, Skitbra projekt :tumupp:

Vad ska din kompilator göra som inte SDCC klarar?

Hanteringen av att minnet är uppdelat i bankar lär väl bli en av dom faktorerna som komplicerar det ordentligt.

Re: uPic Compiler

Postat: 18 april 2011, 17:12:15
av DarkSilver
@arte
Länk? Det lät lite spännande faktiskt :)

@blueint
Troligtvis kommer den klara samma saker, eller lite mindre. Tanken med projektet just nu är att jag ska lära mig nya saker(både inom assembler och C++) men också som ett enkelt sätt för nybörjare att komma igång med PIC processorer. Därav kommer mitt språk vara förenklat, men förhoppningsvis funktionellt.
Japp, jag har redan märkt det :)

Lite nyheter om projektet:
- Ännu mer optimering av både variabelkoden samt funktionshanteringen
- Liten logga byggd med # tecken
- Kommentarer
Logga.JPG