Ada på en AVR

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
autonomnerd
Inlägg: 8
Blev medlem: 17 september 2013, 18:30:58

Ada på en AVR

Inlägg av autonomnerd »

Tjenixen,

Håller på att planera en multirotor baserat på ett custom-kort med en ATmel32u4 på. Jag tänkte mig då använda mig av det programspråk som ligger mig näsmast hjärtat, nämligen Ada

Jag hittade en liten guide på detta, http://wiki.kucia.net/doku.php?id=projects:avrada

Guiden är lite smått ofullständig, jag har hållt på med mikroprocessorer förut och då också kört ada på ett custom-kort. För att putta över koden från datorn så kompilerade man helt enkelt koden som vanlig x86-kod och körde den genom någon slags cross-compiler eller nått som sedan magiskt puttade koden till kortet.

Så vitt jag förstått det så ska det altså gå i den här ordningen: Programmera, Kompilera till ett format som AVRen förstår, putta till kortet.

Programmeringen är inget problem med, det är resten som jag är lite ringrostig på, har försökt hitta info på det men det är rätt dålgit med det iomed att det är bara AVRen och ett rätt så ovanligt programmspråk...

Specifikt makefilen är jag intresserad av, den som finns där känns som att den är rätt allmän och att jag måste modifiera den efter mina spec. Men jag vet inte riktigt hur, jag vet ju vad chippet heter men inte så mycket mer.

Även om ni kanske inte vet så kanske ni kan peka mig i rätt riktning :)

autonomnerd
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Ada på en AVR

Inlägg av sodjan »

> med en ATmel32u4

ATmega32... kanske?
Eller syftar det på AVR32... någonting?

> Så vitt jag förstått det så ska det altså gå i den här ordningen:
> Programmera, Kompilera till ett format som AVRen förstår, putta till kortet.

Så brukar det gå till ja. Steget i mitten kan vara mer eller mindre komplext
och bestå av ett eller flera steg.

Sen så får man väl vara väldigt motiverad för att köra Ada spåret "all in",
så att säga. D.v.s istället för att läras sig lite C och köra det istället. :-)
Så du får kanske bestämma dig för om det är Ada eller multirotorn som
ligger dig "närmast hjärtat", som du säger. :-)
autonomnerd
Inlägg: 8
Blev medlem: 17 september 2013, 18:30:58

Re: Ada på en AVR

Inlägg av autonomnerd »

Sorry, vart lite vimsigt där, menar självklart ATmega32u4 som tillverkas av atmel ;)

Altså, själva programmeringsdelen i Ada är nog inte det svåraste, det är jag väll rätt hajj på. Men om nu mellanstegen från koden till en fungerande produkt är så knepig så kanske jag får överge skeppet och ta till mig lite C, borde ju inte vara allt för svårt med syntaxen förhoppningsvis...

Jag har kikat lite och det är då ATmel Studio som gäller eller? Hittade nått som hette Programmers notepad som såg snarlika ut, men verkade ha stöd för Ada?

Plankan som chippet sitter på har bara en microUSB port så jag antar att den har en programmerare placerad rätt på brädan, frågan är då, hur specifierar jag vilken programmerare jag väljer när jag väl ska peta över koden från datorn till chippet?

här är chippet förresten, http://www.atmel.com/devices/atmega32u4.aspx
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Re: Ada på en AVR

Inlägg av thepirateboy »

ATmega32u4 har inbyggd bootloader och brukar programmeras via USB och programmet FLIP.

http://www.atmel.com/tools/FLIP.aspx
autonomnerd
Inlägg: 8
Blev medlem: 17 september 2013, 18:30:58

Re: Ada på en AVR

Inlägg av autonomnerd »

pirateboy, tackar :) Ett steg närmare målet!

Såg nu att FLIP endast tar HEX och A90 filer, vilket, vad jag känner till, en IDE för C inte genererar, altså krävs någon slag cross compiler för HEX eller är det något jag missar?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Ada på en AVR

Inlägg av sodjan »

De flesta utvecklingsverktyg brukar skapa vanliga standard HEX filer.

> ...en IDE för C inte genererar...

Hm, det där är lite oegentligt uttryckt. Det är kompilatorer
(och ibland länkare) som skapar HEX filerna. Dessa anropas
från en IDE som man kör (t.ex Atmel Studio) när man väljer
någon "build" funktion i IDE'n.

Spontant vore det lite märkligt om inte Atmels egen "Studio"
med de vanliga kompilatorerna kan skapa filer som kan läsas
av FLIP direkt...

Men å andra sidan, det som är intressant är ju vad de *Ada*
verktyg som du kollar på skapar, och det är ju i princip helt
skillt från Atmel Studio eller Programmers Notepad eller vilken
annan generell IDE som helst. Du får en del intregrationsjobb om
du inte väljer en IDE som redan har det förberätt, antingen av
leverantören av IDE't eller av leverantörern av Ada verktygen.

Det *jag* skulle vara mest orolig för här om jag vore i din sits,
vore support för och kvalliteten på Ada verktygen. Jag har inte
kollat närmare, men om du tycker att det verkar stabilt, och du
känner förtroende för det, så kör så det ryker! :-)
autonomnerd
Inlägg: 8
Blev medlem: 17 september 2013, 18:30:58

Re: Ada på en AVR

Inlägg av autonomnerd »

Såg nu att Atmel Studio genererar en .hex fil, bara det att den inte syns på direkten :)

Altså, Ada har ju en bit av mitt hjärta, skulle det finnas en större databas av användare så skulle jag självklart köra på det. Men tyvärr är det ju inte så :(

Tackar för all hjälp i alla fall, bara gräva ned mig i C nu då!
autonomnerd
Inlägg: 8
Blev medlem: 17 september 2013, 18:30:58

Re: Ada på en AVR

Inlägg av autonomnerd »

Slänger på en ytterligare fråga om Atmel Studio. Vet att Arduino IDE'n har ganska många trevliga paket så som servo-styrning, Digital IO, analog IO osv, vilket förenklar styrningen av pins riktigt jäkla mycket.

Hittade en guide på hur man får in dessa paket från Arduino IDE till Atmel studio, frågan är dock, hur översätts pin-nummren? Om jag specar att jag skall köra programmet på en ATmega32u4 (som även sitter i Arduino Leonardo, så det borde inte vara något problem) så blir pin 3 tex alltid 3, oavsett vad som är på den, eller blir "pin 3" översatt till något annat?

Frågan är väll egentligen om jag kan använda dessa paket på alla AVRer?

Länk, från Arduinos hemsida:http://www.engblaze.com/tutorial-using- ... s/#prepare

Återigen, tack för all hjälp :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Ada på en AVR

Inlägg av sodjan »

> Hittade en guide på hur man får in dessa paket från Arduino IDE till Atmel studio...

Jag är inte helt säker men handlar inte det där om att bygga program
till just en Arduino mijlö med hjälp av Atmel Studio? Inte att använda
Arduino libbarna för att bygga progam till valfri AVR miljö (?).

Pinnumren i en Arduino miljö är en abstraktion. Pin nr si och så syftar
till en viss anslutningspunkt på en Arduino-hårdvara. Sedan mappar
konfig-filer m.m det hela till en specifik pinne på själva processorn,
men det ser användaren aldrig (eller behöver inte se i alla fall).
autonomnerd
Inlägg: 8
Blev medlem: 17 september 2013, 18:30:58

Re: Ada på en AVR

Inlägg av autonomnerd »

Jo jag är medveten om att pin nummren går till en adt, men det jag tänker på är att jag skall programmera en avr som redan finns i arduino-utförande. Vad jag förstår arduino som så är det bara en avr på ett kort med lite kopplingsplintar etc? Så länge det handlar om en avr som finns i arduino-utförande så borde ju paketen fungera, det är ju trots allt samma pinnar på avr-en oavset vad den sitter på?

Altdå, arduino-paketen borde fungera på de avrer som sitter på arduino-korten oavsett om avren sitter på ett arduinokort eller inte?
Användarvisningsbild
Icecap
Inlägg: 26648
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Ada på en AVR

Inlägg av Icecap »

Då en Arduino ju bara består av en ATmega är det klart att pinnarna som finns är de vanliga portpinnar.

Om man har så pass med IQ att man kan klura ut vilken portpinne som sitter till vilken kretskortpinne är det hela i grunden extremt enkelt. Arduinon är inget speciellt alls faktisk!
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Ada på en AVR

Inlägg av sodjan »

> Vad jag förstår arduino som så är det bara en avr på ett kort med lite kopplingsplintar etc?

Den är också en annan viktig sak ! Den innhåller en programvara ("bootloader") som
gör att den kan programmeras direkt från Arduinos utvecklingsmiljö! Vill man köra
direkt på en "naken" AVR så ställer det lite andra krav på programmeraren (d.v.s
den hårdvara som ser till att koden hamnar i AVR'en).

Det finns beskrivningar för att bygga Arduino-kod för att programmeras traditionellt
(d.v.s utan bootloadern).

Det jag menade med pinnummer var att det som i koden kallas "Pin5" alltså är
"Pin5" i kontakterna på ett Arduino kortet. På själva processorn kan det vara
"Port A, pinne 2" eller i princip vad som helst. Det är en annan förenkling som
man har gjort, man har pinnar som heter t.ex "pin1" till "pin16" eller något sådant.
De verkliga portarna på processorn har så klart bara 8 bitar som kallas 0-7.
autonomnerd
Inlägg: 8
Blev medlem: 17 september 2013, 18:30:58

Re: Ada på en AVR

Inlägg av autonomnerd »

Atmega32u4 kommer med en bootloader och använder FLIP för att föra över kod, sagt tidigare i tråden, den biten är avklarad.

Altså, kan vi enas om att arduino-paketen för Atmega32u4(som sitter i Arduiono Leonardo) fungerar oavsett var chippet befinner sig?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Ada på en AVR

Inlägg av sodjan »

> Altså, kan vi enas om att...

Jag vet inte vilka som "vi" syftar på, men du får väl prova!

Men ja, processorn vet ju inte hur det ser ut runtomkring den.
Så, så länge som allt annat är lika så spelar det fysiska
utseendet på hårdvaran ingen roll.

Men jag fick intryck av att du ville använda Arduino libbarna i
någon annan utvecklingsmiljö än Arduinos egen. Kanske funkar...
autonomnerd
Inlägg: 8
Blev medlem: 17 september 2013, 18:30:58

Re: Ada på en AVR

Inlägg av autonomnerd »

"Men jag fick intryck av att du ville använda Arduino libbarna i
någon annan utvecklingsmiljö än Arduinos egen. Kanske funkar..."

Mina tankar verkar gå fortare än vad jag hinner med, vart lite tvärt kast där. Var det där om hårdvaran som var det egentliga nu, men det verkar ju ha löst sig :)

Åter igen, tack för all hjälp och snabba svar!
Skriv svar