Använder du Java för inbyggda system?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Använder du Java för inbyggda system?

Inlägg av lillahuset »

Det verkar som om ST har lagt ner projektet att köra Java på STM32.

Jag rekommenderar att du registrerar dig i STs "community" och frågar där.
Användarvisningsbild
Icecap
Inlägg: 26105
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Använder du Java för inbyggda system?

Inlägg av Icecap »

Självklart kan en µC programmeras i Java - eller BASIC, Pascal, C, C#, C++, Forth eller vad man vill joxa med!

Grejen är att den programmeras inte i några av de språk alls - den programmeras med den maskinkod som en kompiler översätter de olika språk till.

Eller jo, BASIC & Java är ju interpeterade språk vilket kan betyda att det läggs en interpeter-funktion in - varefter det valda språket tolkas i sakta mak. Men oftast blir programmet kompilerat helt ner till maskinkod och då är det bara en frågan om vad man föredrar att skriva i.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Använder du Java för inbyggda system?

Inlägg av Al_Bundy »

lillahuset skrev:Det verkar som om ST har lagt ner projektet att köra Java på STM32.

Jag rekommenderar att du registrerar dig i STs "community" och frågar där.
MicroEJ erbjuder support för dessa plattformar. Även fler också. Nackdelen är att MicroEJ kostar pengar. Inge fel med det. Men jag är en GNU kille :)
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Använder du Java för inbyggda system?

Inlägg av Al_Bundy »

Icecap skrev:Självklart kan en µC programmeras i Java - eller BASIC, Pascal, C, C#, C++, Forth eller vad man vill joxa med!

Grejen är att den programmeras inte i några av de språk alls - den programmeras med den maskinkod som en kompiler översätter de olika språk till.

Eller jo, BASIC & Java är ju interpeterade språk vilket kan betyda att det läggs en interpeter-funktion in - varefter det valda språket tolkas i sakta mak. Men oftast blir programmet kompilerat helt ner till maskinkod och då är det bara en frågan om vad man föredrar att skriva i.
Jag föredrar alltid att skriva i Java dels för att Java är ett enklare språk då jag gillar objektorienteringen. Med C och objektorientering så måste man vara mer slipad på att förstå minneshanteringen.

Jag brukar dela in CPU i två delar - Mikroprocessorer och mikrocontroller.
Mikroprocessorer uppfattar jag som enkortsdatorer, dvs dem som har ett operativsystem som ligger och snurrar på som läser instruktioner från ett program. Mikrokontrollers uppfattar jag som enstaka IC-kretsar som har ett inbyggt minne som man bränner in maskinkod på.

En ellärare till mig för dryga 5 år sedan sade till mig: Vill du bli klar snabbt så välj Java. Vill du ha optimalt så välj C.

Jag menar, ska man bygga en funktion som har WiFi och kan skriva till databaser och styra lampor, då skulle jag personligen inte valt C. Jag hade hellre valt Java med tanke på hur mycket som finns färdigt. Men det är jag det.
Användarvisningsbild
mrfrenzy
Co Admin
Inlägg: 14818
Blev medlem: 16 april 2006, 17:04:10

Re: Använder du Java för inbyggda system?

Inlägg av mrfrenzy »

Om du bygger maskimer i små serier om 1-10st kan du gott fortsätta med java som du redan kan.

Den lilla kostnadsbesparingen på 100kr per maskin motiverar sällan 100-1000 timmar för att lära sig ett språk till och bli duktig på det.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Använder du Java för inbyggda system?

Inlägg av Al_Bundy »

Ja. Jag har inte serieproduktion. Mest bara experiment och ibland händer det att ett företag/enskild person kommer till oss för att beställa typ 10 stycken likadana produkter.

Oftast vill våra kunder ha webbapplikationer som kan styra elektronik. Detta har blivit en rätt populär sak att sälja. :o
Bo.Siltberg
Inlägg: 357
Blev medlem: 30 juli 2018, 06:46:13

Re: Använder du Java för inbyggda system?

Inlägg av Bo.Siltberg »

Al_Bundy skrev:Så ska jag fortsätta mitt spår med Java + enkortsdatorer, eller ska jag använda mig utav andra mikrokontroller som programmeras med C? Jag vet inte riktigt vad jag vinner på det, förutom att kan ta på mig fler kunder. Men dessa kunder kräver troligtvis folk som är expert på C och jag kan inte vara expert på Java och C samtidigt.
Kan du Java så kan du C. Språket i sig lär du dig snabbt. Svårigheten är det du ska styra med C, gränssnitten mot omgivningen. Java har en gigantisk hord av klassbibliotek som man inte har någon kontroll över medan C har en väl definierad uppsättning lib. Man kanske inte kan vara expert på alla språk men tillräckligt bra för att jobba med dem. Jag kan C, C++, C#, SystemC, Java, Tcl, Python, html, xml, 5-10 assemblerspråk, Pascal, REXX, EXEC, sh, bash, tcsh, awk, PLEX, lisp, .... i högst varierande grad. Man lär sig det som behövs för stunden. Det språk som gett mig mest huvudvärk är java...
Användarvisningsbild
AndLi
Inlägg: 17045
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Använder du Java för inbyggda system?

Inlägg av AndLi »

Visst en Java programmerare lär sig säkert C syntaxen rätt snabbt, men det är inte syntaxen som är problemet, det är förståelsen för hur en µC funkar och de begränsade resurserna... Fråga random Java utvecklare vad en interrupt är, och vad man bör tänka på runt dessa....
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Använder du Java för inbyggda system?

Inlägg av lillahuset »

En kunds programmerare frågade mig en gång hur mycket RAM det var i processorerna vi använde för att styra korskopplingarna vi konstruerade åt dem.
368 (?) byte svarade jag. Inte byte va, du menar väl megabyte, sa kunden. Nej byte, svarade jag.
Jag fick en känsla av att han trodde jag drev med honom. Javamänniska. Processorn var en PIC16F870 tror jag de hette. :)
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Använder du Java för inbyggda system?

Inlägg av Al_Bundy »

Finns massvis med lyssnare och handlingar inom java som går direkt importera sin så man slipper ha någon while-loop som ständigt lyssnar utav.
Jag bedömer att Java är ett mer utvecklat språk än C, men C passar sina syften då C är ett teoretiskt språk. :)
Användarvisningsbild
AndLi
Inlägg: 17045
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Använder du Java för inbyggda system?

Inlägg av AndLi »

Jag skulle inte kalla C för ett teoretiskt språk, utan ett väldigt i verkligheten användbart språk.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Använder du Java för inbyggda system?

Inlägg av Al_Bundy »

Det finns en anledning varför alla kurser inom datastrukturer och algoritmer använder C.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Använder du Java för inbyggda system?

Inlägg av lillahuset »

Ja och den anledningen är inte att det är ett "teoretiskt" språk.
Anledningen är nog snarare att det finns åtminstone en liten chans att eleverna lär sig hur saker hänger ihop när det inte är en massa lull-lull som döljer detaljerna.
Användarvisningsbild
4kTRB
Inlägg: 18283
Blev medlem: 16 augusti 2009, 19:04:48

Re: Använder du Java för inbyggda system?

Inlägg av 4kTRB »

https://www.beyondjava.net/java-program ... r-language

Här finns info om hur olika saker fungerar och hur jit-kompilatorn optimerar.
Shimonu
Inlägg: 294
Blev medlem: 21 oktober 2015, 22:44:33

Re: Använder du Java för inbyggda system?

Inlägg av Shimonu »

Al_Bundy skrev:Det finns en anledning varför alla kurser inom datastrukturer och algoritmer använder C.
Så ironiskt, vi använde Java i den kursen :D Det var på LiU
Skriv svar