Använder du Java för inbyggda system?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
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 »

säter skrev:Vad är anledningen till att man vill använda Java istället för C?
Enklare då allt är redan färdigt.
Jag vet inte hur populär Java är inom inbyggda system, men tydligen så finns det support för ARM v5/v6/v7, PowerPC e600, PowerPC e500, PowerPC e500v2, x86.

Undra om Java kan programmera 8-bits processorer, eller om gränsen går vid att det måste vara ett OS på processorn?
Användarvisningsbild
Kulla
Inlägg: 1325
Blev medlem: 7 januari 2010, 10:06:11
Ort: Sandared
Kontakt:

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

Inlägg av Kulla »

Al_Bundy skrev:
Mr Andersson skrev:Det är för långt bort från hårdvaran. I en miljö där din viktigaste resurs är tid går det inte att ha en runtime som när som helst kan avbryta din kod för att köra några varv med sopbilen.
Java är för webbsidor och desktop-applikationer.
Är det något problem med det eller?

Jag skulle kunna tänka mig programmera typ Raspberry Pi liknande kort för att styra dessa I/O pinnar. Nu försöker jag undvika Raspberry Pi i seriösa projekt på grund utav att dess "hårddisk" är ett simpelt SD kort. Det håller inte i längden med andra ord. :) Helst ska det vara en IDE disk ;) Tro mig, dem håller!

Jag har programmerat en hel del med Java och använder ALLTID JavaFX för att skapa dessa fantastiska applikationerna. Så enkelt, så smidigt och det blir så snyggt gjort. Kommande JavaFX 11 kommer ut snart på Gluon.
Det här med SD kort är dålig disk är lite skitsnack.

Jag kör i produktion routrar och servrar som har bara SD (och CF) kort som disk i dem och det var väldigt få som krånglat alls, mycket mindre än vanlig disk.

Cisco brandvägar kommer med CF kort, körs flera år från dem, en av de som körde som längst som jag har är över 10 år gammal och den är fortfarande i bruk på samma kortet. Sen har tiotals Vmware ESXi servrar som bootar från SD kortet och kör så i flera år.

Sen som svar på din fråga, Java har för mycket överhead att den ska användas på inbyggda system när man tänker på resurser. Sen att du måste köra den i JVM hjälper inte heller, bara lägger mer overhead på det hela. Också interaktion med hårdvaru är inte en av starkaste sidor som Java har.
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 »

Borde inte Java vara populärt med tanke på att jobbet går snabbare att slutföra?

Jag menar, om du ska ha grafisk gränsnitt på ett styrsystem så är det lättare att köpa en Raspberry Pi med LCD och styra GPIO pinnarna med Java, än att programmera allt med C.

Eller?
Användarvisningsbild
4kTRB
Inlägg: 20587
Blev medlem: 16 augusti 2009, 19:04:48

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

Inlägg av 4kTRB »

Jag tror det är ganska tungt att lära in java då det är objektorienterat om man kommer från c eller Pascal eller något traditionellt språk. Och kan man dessa traditionella språk så finns i nuläget ingen direkt anledning att byta till Java.
hummel
Inlägg: 2535
Blev medlem: 28 november 2009, 10:40:52
Ort: Stockholm

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

Inlägg av hummel »

Det beror på vilka resurser du har att tillgå i systemet.
Vilka hjälpbibliotek har du att tillgå?
kodar-holger
EF Sponsor
Inlägg: 967
Blev medlem: 26 maj 2014, 12:54:35
Ort: Karlskoga

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

Inlägg av kodar-holger »

Al_Bundy skrev:Borde inte Java vara populärt med tanke på att jobbet går snabbare att slutföra?
Fritt gissat ur luften är det kanske 2% av arbetstiden för att utveckla en produkt med "verkshöjd" som är själva kodningen av programvaran. Visst, att få den till 1% är kanske bra men om det gör att komponentpriserna stiger pga ökade hårdvarukrav så får du gissa vad som prioriteras.

För övrigt har objektorientering inget med programspråk att göra. Visst, java C++ C# mfl har några objektorienterade konstruktioner men det är bara en bråkdel av vad objektorientering går ut på. Kodningen av objektorienterad programvara kan lika gärna göras i assembler, fortran-IV eller Cobol för språket struntar man i när man gör sin objektorienterade analys.
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 »

hummel skrev:Det beror på vilka resurser du har att tillgå i systemet.
Vilka hjälpbibliotek har du att tillgå?
Enligt Oracle så kan man programmera ARM processorer med Java utan att gå ned på en sådan låg nivå som C är på.
Användarvisningsbild
SeniorLemuren
Inlägg: 8394
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

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

Inlägg av SeniorLemuren »

Antalet läsningar från SD kortet påverkar inte dess livslängd, det är antal skrivningar som begränsar. Ett SD kort som man bara botar ifrån håller i många år.

Mer info här
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 »

Mitt mål är att köpa färdiga kort och snabbt programmera I/O pinnarna. Jag har programmerat lite processorer från Texas i C, men jag kände att det var en hel del jobb för att blinka med en lampa.
Shimonu
Inlägg: 321
Blev medlem: 21 oktober 2015, 22:44:33

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

Inlägg av Shimonu »

Al_Bundy skrev:Borde inte Java vara populärt med tanke på att jobbet går snabbare att slutföra?

Jag menar, om du ska ha grafisk gränsnitt på ett styrsystem så är det lättare att köpa en Raspberry Pi med LCD och styra GPIO pinnarna med Java, än att programmera allt med C.

Eller?
Finns ingen poäng att göra något snabbare och billigare om det inte funkar I slutändan. Hur garanterar du realtidskraven I styrsystemet om du kör Java?
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 »

Du menar att Java är inte funktionellt med inbyggda system om det finns en kompilator för detta system?

Oracle har ju släppt kompilatorer för ARM, PowerPC och x86 processorer. Bland annat så fungerar så går det styra alla GPIO pinnar med Raspberry Pi.

Documentation från Oracle: https://docs.oracle.com/javame/8.0/api/ ... index.html
Shimonu
Inlägg: 321
Blev medlem: 21 oktober 2015, 22:44:33

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

Inlägg av Shimonu »

Nej, jag frågar hur garanterat du att du kan styra pinnarna med ett bestämt tidsintervall? Och jag pratar mikro- eller millisekunder.
Användarvisningsbild
maDa
Inlägg: 4080
Blev medlem: 11 november 2005, 22:13:16
Ort: Malmö
Kontakt:

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

Inlägg av maDa »

Al_Bundy skrev:Du menar att Java är inte funktionellt med inbyggda system om det finns en kompilator för detta system?

Oracle har ju släppt kompilatorer för ARM, PowerPC och x86 processorer. Bland annat så fungerar så går det styra alla GPIO pinnar med Raspberry Pi.

Documentation från Oracle: https://docs.oracle.com/javame/8.0/api/ ... index.html
Om det går att kompilera om din Java-kod till en binär med maskinkod som du kan flasha på din ARM Cortex-M0 eller vad som, så skulle jag säga att Java absolut fungerar för embedded.

Många missbrukar termen embedded något väldigt. En Windows PC utan tangentbord är embedded helt plötsligt.
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 »

Med tanke på att dessa enkortsdatorer programmeras med Python och det fungerar riktigt bra, så bör Java fungera ännu bättre då Java är snabbare än Python.
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 »

maDa skrev:
Al_Bundy skrev:Du menar att Java är inte funktionellt med inbyggda system om det finns en kompilator för detta system?

Oracle har ju släppt kompilatorer för ARM, PowerPC och x86 processorer. Bland annat så fungerar så går det styra alla GPIO pinnar med Raspberry Pi.

Documentation från Oracle: https://docs.oracle.com/javame/8.0/api/ ... index.html
Om det går att kompilera om din Java-kod till en binär med maskinkod som du kan flasha på din ARM Cortex-M0 eller vad som, så skulle jag säga att Java absolut fungerar för embedded.

Många missbrukar termen embedded något väldigt. En Windows PC utan tangentbord är embedded helt plötsligt.
Ja. Det går att kompilera Javakod till maskinkod enligt Oracle för processorer dem stödjer.

Inbyggda system för mig är en uppsättning utav olika IC-kretsar, t.ex Raspberry Pi, PowerPC osv. Mikrokontroller är endast en enda IC-krets. Det är som jag tolkar det som.
Skriv svar