eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingEmbedded language - jaki ?
Ilość wypowiedzi w tym wątku: 22

  • 1. Data: 2010-04-17 20:12:44
    Temat: Embedded language - jaki ?
    Od: Sebastian Biały <h...@p...onet.pl>

    Witam.

    Sprawa jest nie do końca związana z konkretnym językiem, więc pozwalam
    sobie tutaj zasięgnąc rady.

    Mam CPU z 64kB RAM i 128kB ROM w którym około 80kB jest w tej chwili
    wolne. Jest to ARM.

    Ze względu na specyfikę zastosowania chciałbym umieścić wewnatrz jakiś
    wygodny język programowania embedded ktory w szczególności:

    a) nie wymaga kompilacji w sposob jawny - dostarczam do CPU kod źrodlowy.

    b) blizej mu do językow skryptowych niż silnie typowanych

    c) ma skladnię zbliżoną do C/C++/Java/Javascript - "klamrowy" lub
    podobny w sensie wyglądu kodu

    d) jesli BASIC to jakiś normalny (przykaład nienormalnego - TigerBasic).

    e) Możliwie nie zaczyna się na "Fort..." ;)

    f) nie uzywa malloc/free (nie ma tam MMU), _idealnie_ jesli posiada
    kompaktujący GC.

    g) jesli to ja dostarczam abstrakcję pamięci, to można sie pokusić o coś
    w rodzaju swapa tylko dla niego (w systemie istnieje dysk hdd).

    h) prędkośc bez znaczenia (w granicach rozsądku).

    Niestety z punktu widzenia mojego punkt f) jest dośc istotny,
    fragmentacja pamieci jest katastrofą dla mojego CPU, a wsadzenie czegoś
    z MMU oznacza zasadniczy skok kosztów.

    Teraz pytanie, czy ktoś ma pomysł co wklepać w google? Najbardziej
    chciałbym JavaScript, ale wszystkie jego engine które oglądałem
    zakładają że istnieje malloc/free/new/delete i używają tego bardzo
    rozrzutnie (nie jest też możliwe zrobienie kompaktującego GC).

    PS. Pytalem kiedyś o coś podobnego, ale teraz mam _wypasioną_ pamięć
    64kB więc zmieniają się warunki ;)


  • 2. Data: 2010-04-17 20:59:46
    Temat: Re: Embedded language - jaki ?
    Od: Sławomir Szczyrba <c...@o...the.night>

    Welcome to the desert of the real, Sebastian Biały...
    > Witam.
    >
    > Sprawa jest nie do końca związana z konkretnym językiem, więc pozwalam
    > sobie tutaj zasięgnąc rady.
    >
    > Mam CPU z 64kB RAM i 128kB ROM w którym około 80kB jest w tej chwili
    > wolne. Jest to ARM.
    > Ze względu na specyfikę zastosowania chciałbym umieścić wewnatrz jakiś
    > wygodny język programowania embedded ktory w szczególności:
    >
    Whoa, dejavu...
    Jakiś czas temu prowadziłem podobne poszukiwania.
    W rezultacie na placu boju pozostały z dwie maszyny wirtualne (NVM i nanoVM),
    basic jeszcze z czasów 8052 (jesli ktoś ma dość zapału na konwersję, to niech
    da znać jak mu poszło ;) oraz uBasic < http://www.sics.se/~adam/ubasic/ >
    Mozesz też rzucić okiem na pakiety : nesla, ee, probasic czy picoc.

    Sławek
    --
    ________
    _/ __/ __/ Ooooo, jesst mały problem. -- Sid
    \__ \__ \___________________________________________________
    ____________
    /___/___/ Sławomir Szczyrba steev/AT/hot\dot\pl


  • 3. Data: 2010-04-17 21:31:18
    Temat: Re: Embedded language - jaki ?
    Od: Jacek Czerwinski <...@...z.pl>

    Sławomir Szczyrba pisze:
    > Welcome to the desert of the real, Sebastian Biały...
    >> Witam.
    >>
    >> Sprawa jest nie do końca związana z konkretnym językiem, więc pozwalam
    >> sobie tutaj zasięgnąc rady.
    >>
    >> Mam CPU z 64kB RAM i 128kB ROM w którym około 80kB jest w tej chwili
    >> wolne. Jest to ARM.
    >> Ze względu na specyfikę zastosowania chciałbym umieścić wewnatrz jakiś
    >> wygodny język programowania embedded ktory w szczególności:
    >>
    > Whoa, dejavu...
    > Jakiś czas temu prowadziłem podobne poszukiwania.
    > W rezultacie na placu boju pozostały z dwie maszyny wirtualne (NVM i nanoVM),
    > basic jeszcze z czasów 8052

    Z kolei moja myśl idąc przez interpretery na tak slaby sprzet,
    zauwazyla, że jedyny sposób na ograniczone potzreby RAM ze wzgledu na
    kompilacje i ładowanie, to jezyk niestrukturalny (w praktyce Basic z
    numerami linii lub Forth - jednostką kompilacji jest pojedyncza linia
    lub podobny byt). Posiadanie bloków, instrukcji strukturalnych (klamerek
    z C) wymusza pojawienie się drzewa programu (AST) o rozmiarze
    odwzorowującym potencjalnie cały program.

    Maszyna wirtualna to co innego jeśli chodzi o spojrzenie przez RAM.

    Co nie zmienia faktu że historycznie na 64kB RAM bywały już kompilatory
    (zwykle jednak z nakładkami lub etapami), może jakies szkolne w jednym
    "kawałku"


  • 4. Data: 2010-04-17 21:36:23
    Temat: Re: Embedded language - jaki ?
    Od: Sebastian Biały <h...@p...onet.pl>

    Sławomir Szczyrba wrote:
    > W rezultacie na placu boju pozostały z dwie maszyny wirtualne (NVM i nanoVM),

    maszyne wirtualną Javy z kompaktacją pamięci sobie wlasnie skrobie na
    boku, ale chodzi mi raczej o trywialny język typu procedura, pętla,
    zmienna ktory jest wygodny w zapisie dla tumanisty który to będzie misla
    czasem z lekka poprawić.

    > Mozesz też rzucić okiem na pakiety : nesla, ee, probasic czy picoc.

    Dzieki. Acz basica staram się uzyć w ostateczności.


  • 5. Data: 2010-04-17 21:46:14
    Temat: Re: Embedded language - jaki ?
    Od: Sebastian Biały <h...@p...onet.pl>

    Jacek Czerwinski wrote:
    > Z kolei moja myśl idąc przez interpretery na tak slaby sprzet,

    50MHz i słaby sprzęt :P

    > zauwazyla, że jedyny sposób na ograniczone potzreby RAM ze wzgledu na
    > kompilacje i ładowanie, to jezyk niestrukturalny (w praktyce Basic z
    > numerami linii lub Forth - jednostką kompilacji jest pojedyncza linia
    > lub podobny byt).

    Słabo znam się na interpretatortach, ale zanim zaczne zastanawiać się
    nad JVM/Dalvik i pośrednią kompilacją (co jest wyjsciem chyba dość
    rozsądnym na tyle RAMu) wole wybadac, bo może akurat nie muszę męczyć
    się z Javą jeśli jest jakiś gotowieć w rodzaju ładnego embedded BASICa
    na "już".

    > Co nie zmienia faktu że historycznie na 64kB RAM bywały już kompilatory
    > (zwykle jednak z nakładkami lub etapami), może jakies szkolne w jednym
    > "kawałku"

    Nie spodziewam się że ktoś zrobi szybki, wydajny i mały interpretter
    JavaScriptu mieszczący się w 64kB RAM. Choć na nim zależało by mi
    najbardziej, nawet wycinając funkcjonalność :)


  • 6. Data: 2010-04-19 06:21:59
    Temat: Re: Embedded language - jaki ?
    Od: Jacek Czerwinski <...@...z.pl>

    Sebastian Biały pisze:
    > Jacek Czerwinski wrote:
    >> Z kolei moja myśl idąc przez interpretery na tak slaby sprzet,
    >

    > Nie spodziewam się że ktoś zrobi szybki, wydajny i mały interpretter
    > JavaScriptu mieszczący się w 64kB RAM. Choć na nim zależało by mi
    > najbardziej, nawet wycinając funkcjonalność :)

    Z języków 'z klamerkami' o jakim-takim przyjęciu na rynku, czy
    zainteresowałeś się http://www.lua.org/ ręcznie wykonany (podawany w
    rankingach jako szybki), o nieprzesadnym zuzyciu RAM (co nie znaczy, że
    obiecuję zmieszczenie się w Twoich kryteriach), bardzo dużo
    funkcjonalności wyniesione do opcjonalnych modułów. Nawet 'podstawowy
    typ liczbowy' da się podmieniać.

    Wbudowywałem kiedyś do aplikacji C++, więc jest znacznie mniejszy od
    SpiderMonkey-a.


  • 7. Data: 2010-04-19 06:44:32
    Temat: Re: Embedded language - jaki ?
    Od: Sebastian Biały <h...@p...onet.pl>

    Jacek Czerwinski wrote:
    > Z języków 'z klamerkami' o jakim-takim przyjęciu na rynku, czy
    > zainteresowałeś się http://www.lua.org/

    Używałem go już kilka razy w róznych okoliocznościach i nie przekonuje
    mnie składnią, choć jest lepiej niz w BASICu oczywiście. Niestety będą
    kłopoty z pamięcią, o ile pamiętam engine lua robi malloc/free podczas
    pracy co w moim wypadku oznacza szatkowanie skromnej pamięci.


  • 8. Data: 2010-04-19 07:11:31
    Temat: Re: Embedded language - jaki ?
    Od: Jacek Czerwinski <...@...z.pl>

    Sebastian Biały pisze:
    > Jacek Czerwinski wrote:
    >> Z języków 'z klamerkami' o jakim-takim przyjęciu na rynku, czy
    >> zainteresowałeś się http://www.lua.org/
    >
    > Używałem go już kilka razy w róznych okoliocznościach i nie przekonuje
    > mnie składnią, choć jest lepiej niz w BASICu oczywiście. Niestety będą
    > kłopoty z pamięcią, o ile pamiętam engine lua robi malloc/free podczas
    > pracy co w moim wypadku oznacza szatkowanie skromnej pamięci.
    a) przez wrapper(pojedynczy interfejs) więc jest na to jakiś wpływ
    (sub-alokator, te wzorce).
    b) wg mojej intuicji (nie mam twardych dowodów) chyba nie da się
    intepretera zrobić do języka strukturalnego (tzw nie basic tylko z
    numerami linii typu ZxSpectrum, Commodore lub z innej strony Forth) bez
    alokowania (być może podmienionym alokatorem). Nos mówi mi, że to
    związane. Jednak np radykalnie stosowa koncepcja Forth'a ułatwia
    nieszatkowanie pamięci. Nigdy nie przeprowadziłem z kims dyskusji, czy
    taki wymyślony związek to tylko moja chora wyobraźnia, czy realia tzw
    'życia'.





  • 9. Data: 2010-04-19 08:18:38
    Temat: Re: Embedded language - jaki ?
    Od: Grzegorz Krukowski <r...@o...pl>

    On Sat, 17 Apr 2010 23:36:23 +0200, Sebastian Biały
    <h...@p...onet.pl> wrote:

    >Sławomir Szczyrba wrote:
    >> W rezultacie na placu boju pozostały z dwie maszyny wirtualne (NVM i nanoVM),
    >
    >maszyne wirtualną Javy z kompaktacją pamięci sobie wlasnie skrobie na
    >boku, ale chodzi mi raczej o trywialny język typu procedura, pętla,
    >zmienna ktory jest wygodny w zapisie dla tumanisty który to będzie misla
    >czasem z lekka poprawić.
    >
    >> Mozesz też rzucić okiem na pakiety : nesla, ee, probasic czy picoc.
    >
    >Dzieki. Acz basica staram się uzyć w ostateczności.

    Ależ Basic był w tym celu stworzony. To że Tobie to nie pasuje to
    jedno ;) wczuj się w użytkownika, Basicowate są proste jak tylko mogą
    być. Na dodatek dla Basica masz bardzo dużą bazę tutoriali i na
    podstawowym poziomie są bardzo przenośne.
    --
    Grzegorz Krukowski


  • 10. Data: 2010-04-19 13:38:29
    Temat: Re: Embedded language - jaki ?
    Od: Sebastian Biały <h...@p...onet.pl>

    Grzegorz Krukowski wrote:
    >>Dzieki. Acz basica staram się uzyć w ostateczności.
    > Ależ Basic był w tym celu stworzony. To że Tobie to nie pasuje to
    > jedno ;) wczuj się w użytkownika, Basicowate są proste jak tylko mogą
    > być.

    Nie. BASIC w implementacjach embedded zazwyczaj nie ma procedur ( a
    tylko głupie bezparametrowe gosub), pojecia zmiennych lokalnych, trzeba
    pamiętać o różnicach miedzy zmiennymi nie string a string (to śmieszne
    $), brzydką składnię z numeracją linii itd. Program w javaScripcie
    wyglada znacznie bardziej przejrzyście niż w BASICu. Przetestowalem to
    na humanistach, tumanistach i innych nie inżynierach i wnioski są
    właśnie takie. Łatwiej tumaniscie poprawić coś w JavaScricie niż w BASICu.

    > Na dodatek dla Basica masz bardzo dużą bazę tutoriali i na
    > podstawowym poziomie są bardzo przenośne.

    E tam, BASIC ma chyba najwięcej niezgodnych z sobą implementacji. Nie
    wiem czy przebija to jakikolwiek inny język na świecie, na pewno na
    kilkanascie jakie miałem w ręku różnice były kolosalne. Po ostanich
    przejściach z TigerBasic-em wolałbym oszczędzić userowi całego stada
    problemów jakie napotkałem. Dlaetgo basic tak, ale to ostatczenośc,
    prędzej napiszę to JVM ...

strony : [ 1 ] . 2 . 3


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: