Re: Dotazy k STM32F103C8T6 a multiplexované řw616ZW7DrSBMRUQgZGlzcGxlamUu

Miroslav Mraz mrazik na volny.cz
Pátek Březen 12 10:58:21 CET 2021


Do nativního kódu jde přeložit ledacos, třeba i java. Pokud chcete 
experimentovat, doporučuji vyzkoušet Rust. Řeší některé problémy C/C++, 
především bezpečnost - takové ty pravidla MISRA pro C máte de facto 
zakompovány (a o mnoho lépe) už v jazyce.
Před časem jsem to zkoušel, ale moc mě to nenadchlo, pro bare-metal je 
Rust příliš restriktivní, C++ mně poskytuje daleko větší volnost. Což 
samozřejmě znamená i větší prostor pro to udělat chybu.
Ale hodně dynamicky se to rozvíjí a od té doby to udělalo dost velký 
skok dopředu. Co jsem tak koukal, tak už je v tom udělaný i nějaký RTOS 
a začíná to vypadat trochu použitelně. Dokonce je v tom i nějaké jakoby 
Arduino.
Opět to asi nebude univerzální všelék, nějaké problémy to řeší a na 
druhou stranu to jiné bude přinášet. Protože je to myšleno jako jazyk 
dost univerzální, tedy i low-level, umožňuje spojit Rust + C/C++ 
(dokonce i assembler), takže možná by bylo schůdné udělat nějaké "jádro" 
pro přístup na železo v C a logiku aplikace pak psát bezpečně v Rustu. 
Ale zřejmě je v tom nějaký čertík skrytý v detailu, co jsem zatím 
zkoumal, tak je spíš snaha vše udělat v Rustu (což mi připadá poměrně 
komplikované).

Mrazík

Dne 12. 03. 21 v 10:29 Marek Sembol napsal(a):
> Jen poznamka: pokud vam ten nativni kod pripada jako vyhoda, tak vam nic 
> nebrani si ten C# (obecne .NET) nechat prelozit do nativu. A treba pro 
> Micro.NET (pro embeded) se to taky prekladalo do nativu (nevim jestli se 
> to nezmenilo, ale spis ne, prece jen neni tam prostor ani vykon)
> Na velke masine je ten nenativni kod .NET spis vyhodou :)
> BR,
> Marek
> 
> On Fri, Mar 12, 2021 at 8:30 AM Jiří Nesvacil <nesvacil na posys.eu 
> <mailto:nesvacil na posys.eu>> wrote:
> 
>     Psát kousek programu v C, struktury, mraky pointeru se dá, ale při
>     větším projektu to bývá neudržitelné. Při porovnání verzí, commitu se
>     jednoduše nějaká * či & ztratí.
> 
>     Mimochodem,  šlo tady spoustu emailů na Pascal a ten je daleko
>     čistější.
>     Oproti C se vypořádal dobře i s řetězci a ne jako dnes v C je spoustu
>     kódování, převodů, zkoumání délek, indexací,... . Nemá taky pro neznalé
>     pointery přes * & a je to daleko čistější. Navíc je to nativní kód na
>     rozdíl od Java,C#. Pro u embedded systémů je taky, že nemá garbadge
>     collector. Jsou tady novější jazyky jako GO, ale ten má garbadge
>     collector, to je pro embedded zařízení trošku moc. Takže pascal by
>     mohla
>     být lepší forma než C až na úplně nejnižší volání.
> 
>     V c++ se zápisu občas dá vyhnout použitím pointerů zápisů přes
>     referencování a následně na properties čistě přes ".", to považuji za
>     čistější.
> 
>     Psát komplexnější projekt v ARMu čistě v C má své limity dle mého soudu.
> 
>     Jirka
> 


Další informace o konferenci Hw-list