Automotive MISRA-C kompatibilan jezik za embedded razvoj

Rimac Automobili, razgovori i sve ostalo
Odgovori
Hacker
Postovi: 3
Pridružen/a: 11 stu 2014, 20:40
Kontakt:

Automotive MISRA-C kompatibilan jezik za embedded razvoj

Post Postao/la Hacker »

Od kolege koji se bavi razvojem hardware-a dobio sam info o ovom forumu kao mjestu gdje se skupljaju ljudi koji razvijaju jako zanimljive stvari, pa kako se bavim razovojem software-a koji targetira i električne automobile nadam se da bi nekome moglo biti interesantno.

Trenutno sam pred beta testiranjem domain specifičnog jezika i kompajlera koji generira efikasan i MISRA-C kompatibilan kod.
Možete pogledati detalje na http://www.tinkeringsoftware.com, tutorial je u završnoj fazi, a službena dokumentacija će još malo pričekati.

Ako netko ima koga zanima ova problematika ili ako bi netko bio zainteresiran za beta-test (planiram pustiti verziju negdje u siječnju) slobodno nek se javi.
Avatar
Cose
Postovi: 5271
Pridružen/a: 13 kol 2007, 13:14
Lokacija: Zagreb
Kontakt:

Re: Automotive MISRA-C kompatibilan jezik za embedded razvoj

Post Postao/la Cose »

Hacker je napisao/la:Ako netko ima koga zanima ova problematika ili ako bi netko bio zainteresiran za beta-test (planiram pustiti verziju negdje u siječnju) slobodno nek se javi.
U letimicnom pregledu stranice nisam nasao nikakve informacije o opisu toga sto je domain-specific u tom jeziku, pa ako moze malo pojasnjenje?
Avatar
Pero
Postovi: 4363
Pridružen/a: 29 vel 2008, 14:57
Lokacija: Rijeka

Post Postao/la Pero »

Compound assignment operators (+=, *=, &=, etc.), as well as increment and decrement operators (++, --), are not supported. Instead, the inc and dec statements are introduced as a convenience. Precedence rules and levels of C operators are preserved.
Za mene dovoljno...

BTW pre i post inkrement/dekrement se koristi čak i u strojnom kodu kod većine DSPa,
:oci:
Hacker
Postovi: 3
Pridružen/a: 11 stu 2014, 20:40
Kontakt:

Post Postao/la Hacker »

Ima malo više na ovoj stranici, ali bit će još u narednim postovima.

Domain specifičini stvari za embedded razvoj su:
* Generirani kod zadovoljava MISRA C:2012 zahtjeve.
* Podrška za direktan deklarativni opis hijerarhijskih state-machina u jeziku.
* Mogu se definirati "svoje" fizikalne veličine i jedinice.
* Podrška za bit-vektore proizvoljne dužine i osnovne operacije (set, clr, mask, flp, test) ali i za rank i select (podrška postoji i za basic unsigned tipove).
* Serijalizacija, na ovo se veže permanent storage, messaging i deklaracija protokola.
* Podrška i generiranje koda za proizvoljne CRC polinome.
* Podrška i generiranje koda za forward error correction (reed solomon za sada, ako se pokaže potreba može se proširivati).
* Podrška za timer-e.
* Analogni signali (offset, gain, normalizacija)
Hacker
Postovi: 3
Pridružen/a: 11 stu 2014, 20:40
Kontakt:

Post Postao/la Hacker »

@Pero

Increment i decrement nisu podržani kao operatori, ali jesu kao statements, da se izbjegnu side-effects unutar izraza.

Npr, inc, dec su savršeno validni statementi, dapače može se staviti i atomic ispred za thraed-safety:

inc x
inc x, 2
dec y
Odgovori

Natrag na “Hrvatska”