Program bez systemu operacyjnego

0

Hej. Czasem nie wymaga się aby urządzenie na którym działa aplikacja robił coś jeszcze. Ale musi mieć system operacyjny. Który zżera zasoby i ma luki w zabezpieczeniach. Przez kwadryliony funkcji w nim wbudowanych. Moje rozwiązanie to instalacja naj lżejszego systemu. Czyli androida bo łatwo mieć dostęp do zasobów sprzętowych jak bluetooth. Łatwo mi tworzyć programy . Np na raspberry pi (to chyba najlepszy dla niego wybór.). Ale czy są lepsze rozwiązania?. Chciałbym aby dało się komunikować po ethernet itd. Dobrze mi się wydaje że takie rozwiązanie było by bardzo bezpieczne?. Bo atakujący nic nie może wiedzieć ani nie ma jak znaleźć luk ? W końcu łatwiej popełnić błąd przy kodzie 50 000 000 linii w windowsie i zrobić lukę w zabezpieczeniach niż przy 2000 linii. Bez systemu.

4

Bardzo. Podobają mi. Się Twoje. Kropki.

Czyli sugerujesz, że Android to ten mało zasobożerny system bez luk?

2

Oczywiście, że można napisać aplikację bez systemu operacyjnego i to nawet na PC - pytanie czy warto...
Musisz ogarnąć procedurę ładowania systemu i napisać własny boot-loader.
Z czym należy się zmierzyć.

  • o ile bios może CI dać wsparcie dla standardowej klawiatury i myszy to z pozostałymi urządzeniami może być większy problem,
  • raczej nie wykorzystasz pełnych możliwości karty graficznej nie mając sterowników producenta,
  • samodzielne napisanie obsługi TCP/IP to spore wyzwanie zatem raczej będziesz musiał korzystać z gotowych bibliotek a tu już wystawiasz się na "dziury", które zrobił ktoś inny.

Na rynku jest dostępna cała masa miniaturowych systemów operacyjnych z otwartym kodem źródłowym (cały rynek Embedded) i myślę, że warto się tym zainteresować.
Osobiście jednak wolałbym odpalić przynajmniej DOS'a niż się męczyć bez systemu plików i jakiegokolwiek zarządzania pamięcią...
Możesz też napisać swój core systemu i na nim budować aplikację.

Dróg jest wiele. Może napisz co i po co chciałbyś osiągnąć?

kamil kowalski napisał(a):

W końcu łatwiej popełnić błąd przy kodzie 50 000 000 linii w windowsie i zrobić lukę w zabezpieczeniach niż przy 2000 linii. Bez systemu.

Nie byłbym taki pewien :-) Jak grzebiesz blisko sprzętu to podatność Twojej aplikacji na ataki dramatycznie wzrasta. Trzeba się dobrze znać na rzeczy żeby dobrze zabezpieczyć np. komunikację sieciową czy dostęp do pamięci...

2
kamil kowalski napisał(a):

Hej. Czasem nie wymaga się aby urządzenie na którym działa aplikacja robił coś jeszcze. Ale musi mieć system operacyjny. Który zżera zasoby i ma luki w zabezpieczeniach.

Kiedyś czytałem że żeby mieć komputer z pojedynczym programem najlepiej wziąć jakąś maksymalnie okrojoną dystrybucję linuksa. Zdaje się że tam polecali Debiana jako wedłuch nich najlżejszego

Co do raspberry pi to jeszcze nie widziałem żeby ktoś odpalał na nim androida, ale możesz popróbować który z okrojonych linuksów jest najmniejszy.

Co do jeszcze mniejszych architektur to tam też można odpalać komunikacje po eternecie. Pewnie nawet na iśmiobitowcach się uda. Wiec wszystko zależy od tego

  • co ma robić twój program
  • na jakiej architekturze chcesz go odpalać

Co w zasadzie daje dość dużo niewiadomych :D

0

@katakrowa: Te miniaturowe systemy wydają się ciekawe.
Znalazłem Windows Lean. Ale to tylko 2 GB mniej.

0
kamil kowalski napisał(a):

@katakrowa: Te miniaturowe systemy wydają się ciekawe.
Znalazłem Windows Lean. Ale to tylko 2 GB mniej.

Nie Windowsa miałem na myśli:
Raczej jakieś alternatywne systemy typu:

  1. FreeDos : https://www.freedos.org/
  2. http://www.tinycorelinux.net/
0

W autobusach są takie wyświetlacze z przystankami. Na nich jest jakiś system. Musze mu się przyglądnąć. Może wy wiecie co tam jest. Jak autobus zapala to tam widać jak się to wszystko uruchamia.

3

To chcesz pisać program, czy spędzić czas na budowaniu systemu?

Odpalisz łatwo taki program, ale musisz się liczyć z tym, że na start nie będziesz miał wszystkiego, żadnych rzeczy dostępnych, bibloteka C i inne bazują na wywołaniach systemowych.
Taki C bez bibliotek ci zostanie, sam wszystko musisz zrobić od obsługiwania wyjątków procesora, stronicowanie, zarządzanie pamięcią, rysowanie po ekranie, obsługa praktycznie wszystkiego od zera.
Dodatkowo na różnych procesorach może być to inaczej do zrobienia i będziesz musiał wertować manual procesora dla danej architektury jakie specjalne instrukcje są, żeby coś ustawić.

Lepiej już użyć gotowego jądra systemu, możesz sobie zrobić Linux from scratch, jajko sobie skompilujesz na daną architekturę jaki procesor będziesz miał.
Potem do instalujesz, co potrzebujesz jak w zwykłym systemie.
Mam jeden egzemplarz tak wykonany i wszystko fajnie działa, ale po za wirtualną maszyną tego nie używałem.

I najlepiej to debiana jak Kamil pisał, bez trybu graficznego i na końcu system jak się załaduje wszystko, to uruchamia /bin/init, to możesz sobie podmienić, na swoją aplikację.

Były jeszcze fajne platformy do kreowania swojego systemu i pod embedded, ale kompletnie mi nazwa uciekła, cały taki projekt był.

Androida możesz skompilować na dowolną platformę, więc też to nie problem.

4
kamil kowalski napisał(a):

W autobusach są takie wyświetlacze z przystankami. Na nich jest jakiś system. Musze mu się przyglądnąć. Może wy wiecie co tam jest. Jak autobus zapala to tam widać jak się to wszystko uruchamia.

Jak czasami się wywalą to widać, że jest czasami Linux (chyba Arch), a czasami Windows 7. Przynajmniej z tych, które widziałem w Krakowie i Warszawie

1

DOS tak działał. W dzisiejszych czasach jest to bez sensu, bo nie użyjesz gotowych rozwiązań, które w porównaniu do własnego kodu są bezpieczne, szybkie i dobrze udokumentowane. Do tego wiele rozwiązań pomaga w wydajności np. asynchroniczne IO po stronie kernela. Jakbyś chciał zaklepać to wszystko po swojej stronie to stracisz mnóstwo czasu i w sumie to tyle

1
KamilAdam napisał(a):

Co do raspberry pi to jeszcze nie widziałem żeby ktoś odpalał na nim androida, ale możesz popróbować który z okrojonych linuksów jest najmniejszy.

https://www.komputerswiat.pl/aktualnosci/programy/android-11-trafia-na-raspberry-pi-4-dzieki-omnirom/e4e8mq3

1

@kamil kowalski:

kamil kowalski napisał(a):

Czyli androida bo łatwo mieć dostęp do zasobów sprzętowych jak bluetooth. Łatwo mi tworzyć programy

ke? Android to najgorszy system na dedykowaną aplikację i najgorszy system jeśli chodzi o dostęp do zasobów sprzętowych. Na androidzie aplikacja jest z domysłu traktowana jako intruz, musi prosić o wszystko, jest problem z uruchomieniem długotrwałego serwisu żeby system go nie ubił, najpopularniejsze telefony po prostu ubijają wszystko jak leci jeśli można w ten sposób oszczędzić trochę baterii
https://dontkillmyapp.com/
Chyba że czysty, zrootowany android i natywne aplikacje, ale w tym przypadku to zwykły linux

2

Koncepcja oprogramowania bez systemu operacyjnego jest dość popularna w sprzęcie embedded.
Z rozrzewnieniem wspominam czasy gdy nie musiałem walczyć OS
ale wtedy nie było w aplikacji BT, TCP, AVI, JPG, PNG, UNICODE, TTF, GL, synchronizacji z chmura , aktualizacji online i wielu wielu innych drobiazgów bez których użytkownik nie wyobraża sobie życia :)

A wracając do tematu:
Zacznij od tych linków:
https://lvgl.io/boards
https://www.qt.io/product/develop-software-microcontrollers-mcu

Może coś ci podpasuje !

Ewentualnie nakresl trochę potrzeby to mogę podać bardziej precyzyjne rozwiązanie

6

Commodore 64 polecam. Ma on nawet jakiś bardzo prymitywny system operacyjny (kernal), ale i tak go się olewa i pisze bezpośrednio po pamięci, jak ludzie. Nikt się przez sieć nie włamie.

1

W sumie ciekawy problem.
Jak w ogóle na czystym PC z Biosem uruchomić jakiegoś hello world, który zapyta o imię i je wyświetli? Wykonalne to jest?

0
NeutrinoSpinZero napisał(a):

W sumie ciekawy problem.
Jak w ogóle na czystym PC z Biosem uruchomić jakiegoś hello world, który zapyta o imię i je wyświetli? Wykonalne to jest?

Nie jest tak źle, na pc x86_64 w ramie pod adresem 0xB8000 jak zaczniesz wpisywać bajt litery, bajt koloru i tak po kolej wypiszesz litery tekstu jaki chcesz wyświetlić to ci się pojawią na ekranie, to jest taka opcja pisania dostępna, potem możesz przełączyć się w tryb graficzny i modyfikować pixele bezpośrednio, wtedy trzeba mapować klawisz ascii na czcionkę i ją rysować.

A wczytujesz dane za pomocą przerwań, dodajesz funkcję do listy przerwań, procesor potem odpala twoją funkcję jak coś naciśniesz na klawiaturze, a w niej robisz in al, 0x60 wczytujesz bajt znaku wciśniętego na klawiaturze, potem robisz mapowanie klawiatury, bo każda klawiatura inaczej reprezentuje znaki i trzeba je przemapować na ascii standard.

Reszta wygląda podobnie, warunki logiczne są takie same, jedynie obchodzenie się ze sprzętem jest ręczne.

1

@obscurity: ten hello world os to coś podejrzany jest. bardziej jakiś troll.

screenshot-20220711210602.png

1

@kamil kowalski:

Bardzo łatwo o sądy i opinie, bez zagłębienia się w podstawy.
Brakło investigation n/t embedded, nie palnął byś tak bardzo kulą w płot.

Ciekawym projektem Embedded z polskim dużym akcentem jest Distortos
https://www.elektroda.pl/rtvforum/topic3000396-210.html

Zwykle ten poziom jest określany słowem scheduler, w każdym razie twórcy i propagatorzy zwykle uczciwie komunikują, że to nie jest pełnoprawny system operacyjny, to coś pośredniego.

kamil kowalski napisał(a):

Dobrze mi się wydaje że takie rozwiązanie było by bardzo bezpieczne?. Bo atakujący nic nie może wiedzieć ani nie ma jak znaleźć luk ? W końcu łatwiej popełnić błąd przy kodzie 50 000 000 linii w windowsie i zrobić lukę w zabezpieczeniach niż przy 2000 linii. Bez systemu.

Moje 2000 będzie na pewno lepsze, niż 50mln wyjadaczy, z setkami par oczu wnikającym w to z krytycznym oglądem.

Typowa wiara na początku ścieżki.
Bezpieczny system bedzie taki, który nic nie robi, napierniczajacy w pełli po odłączeniu przerwań.
za stalowym pancerzem (za PRL był taki system w resorce MSW, stalowe drzwi, dwóch z pistoletami td)

2

Kup Arduino. Tam nawet nie masz miejsca na wgranie systemu operacyjnego. Później juz wystarczy napisać własne biblioteki go obsługi sieci, ekranu, klawiatury i wszystkiego, co chcesz do tego podłączyć. Tylko jakimś cudem, to właśnie oprogramowanie wbudowane jest z punktu widzenia bezpieczeństwa największym syfem w którym mało kto nawet próbuje załatać dziury. Całkiem niedawno np. sporą część NAS'ów bodajże QNAP zaatakowało ransomware. Chociaż trzeba powiedzieć, że tam akurat jest system operacyjny.

1

Chyba Cię kojarzę z perełek, ale pewien nie jestem.
No a co do wpisu to myślę, że nie rozumiesz czym w ogóle jest system operacyjny. Polecam od tego zacząć.

1
piotrpo napisał(a):

Kup Arduino. Tam nawet nie masz miejsca na wgranie systemu operacyjnego. Później juz wystarczy napisać własne biblioteki go obsługi sieci, ekranu, klawiatury i wszystkiego, co chcesz do tego podłączyć. Tylko jakimś cudem, to właśnie oprogramowanie wbudowane jest z punktu widzenia bezpieczeństwa największym syfem w którym mało kto nawet próbuje załatać dziury.

"Kody" czy "biblioteki" w arduindo np te zajmujące się ethernetem to jeden wielki buffer overflow / denial service / stack overflow.

Że sprzęt jest limitujący, to jedno (choć na arduino ESP32 limitujący 100x mniej), ale autorzy "bibliotek", czyli jednak guru wychowujące "następne pokolenia" nie znający języka, najprostszych patternów programowania. Dobrego kodu C++ nie widzieli nawet przez ramię.
Złoszczą się na elektrodzie, jak się poda w przykładzie nieznane im operatory języka C - ludzie komercyjnie sprzedający swoje "kody". Endianess procesorów jak chce transmitować dwa bajty w integerze? Nie słyszeli.

To sie przebija na jakość oprogramowania embedded. U jednego z klientów był ekspres, który brak kawy meldował -> "dosyp kawy", brak wody -> "nalej wody". Brak obu -> zwis na twardo, odsuwaj regał i wyjmuj wtyczkę. Pewnie programista jeszcze else nie przerabiał.

Śmieszne jest, bo nawet C++ namespace jest tam nieznane - a jesli klasa nazywa sie jak wiodących chip, który obsługuje, konflikty sa nieuniknione. Bosch, jakie modły odprawiają żeby z konfliktów wyjść. Nawet komunikować (międzyludzko) naród się to nie potrafi. NP używam biblioteki (de facto nagłowka) ABC_1234, gdy na rynku jest ięć bilbliotek na te chip.
Stosy TCP łaskawie nie są dociążane na testach, otrzymują 1 request o miłościwej długości.

Sądzę, ze nie każde embedded musi być syfem. Wierzę, że RTOS-y od zawodowych programistów np jawnie odmawiają wykonania funkcji, gdy nie mają zasobów itd ...

0
Szalony Programista2 napisał(a):
NeutrinoSpinZero napisał(a):

W sumie ciekawy problem.
Jak w ogóle na czystym PC z Biosem uruchomić jakiegoś hello world, który zapyta o imię i je wyświetli? Wykonalne to jest?

Nie jest tak źle, na pc x86_64 w ramie pod adresem 0xB8000 jak zaczniesz wpisywać bajt litery, bajt koloru i tak po kolej wypiszesz litery tekstu jaki chcesz wyświetlić to ci się pojawią na ekranie, to jest taka opcja pisania dostępna, potem możesz przełączyć się w tryb graficzny i modyfikować pixele bezpośrednio, wtedy trzeba mapować klawisz ascii na czcionkę i ją rysować.

Czy programowanie w stosunku do maszyny z BIOS-em (0xB800 jest konwencją BIOS-u, działa wobec już uruchomionych chipów na płycie głownej i grafie) - czy nadal należy nazywac "bez systemu operacyjnego" ?? Osobiście wątpię.

A są już przypadki, ze nie ma znakowej pamięci obszaru grafiki, nawet ekrany powitalne "BIOS" są już w emulacji, np niektóre serwery.

0

@ZrobieDobrze: Ja tam wielkim programistą embeded nie jestem, ale w wolnych chwilach piszę sobie jakiś tam własny kontroler wentylatorów w PC i też zauważyłem, że większość tutoriali pokazuje programowanie na żenującym poziomie, a użycie wskaźnika, albo klasy w jakimś miejscu, gdzie jest to wydawałoby się to oczywiste jest zastępowane różnej maści własnymi dziwactwami. Myślę, że bierze się to z bardzo dużej liczby majsterkowiczów w tzw. "społeczności". Oczywiście, jeżeli ktoś chce sobie zbudować własne mrygadełko LED, to nie ma najmniejszego problemu, fajnie że się ludzie bawią. Gorzej, że jak mi się wydaje, stosują później taką samą metodologię w sprzęcie konsumenckim sprzedawanym za miliony.
Wciąż mnie dziwi, że ktoś ładuje miliony dolarów w uruchomienie produkcji jakiegoś sprzętu RTV/AGD typu TV, pralka, robo-odkurzacz i wgrywa do środka żałośnie kiepskie oprogramowanie. Później, w najlepszym razie trzeba miesiącami czekać na poprawki, w najgorszym szukać jakiegoś zamiennika, bo przecież sprzęt, który trzeba czasami zresetować, to norma.

2

Słowo kluczowe: bare metal. Czasem się tak robi, ale to jest bardzo bardzo specyficzny przypadek, bo nie licząc naprawdę prostych (lub krytycznych) aplikacji, zastąpienie czymś systemu operacyjnego jest znacznie bardziej kosztowne niż ewentualne korzyści z tego. Już to, że piszesz o tym, że chciałbyś Ethernet i Bluetooth oznacza, że raczej nie unikniesz choćby jądra Linuksa. To jest ilość pracy, która przekracza możliwości jednego programisty, nawet jeśli kodowałbyś pod konkretny sprzęt. Z resztą pisząc to samemu i tak byłoby to pewnie wolniejsze i bardziej dziurawe niż bardzo odchudzone jądro Linuksa z twoją aplikacją zamiast inita. Z tego co kojarzę to jest biblioteka pełniąca funkcję OSa, ale nie mam pojęcia na ile ona pozwala.
Dla prostszych rozwiązań, sporo można rzeczywiście zrobić bez OSa na x86, bo UEFI ma bardzo rozbudowane API (Tianocore/EDK2). Na innych platformach, możesz próbwać zainstalować na nim Coreboota i użyć libpayload, ale to już bardzo bardzo podstawowe rzeczy, jest jakiś okrojony port biblioteki curses i tyle. EDK2 chociaż wspiera ethernet i system plików FAT. :)

2
kamil kowalski napisał(a):

Który zżera zasoby i ma luki w zabezpieczeniach.

elwis napisał(a):

To jest ilość pracy, która przekracza możliwości jednego programisty, nawet jeśli kodowałbyś pod konkretny sprzęt.

Tak mi się jeszcze przypomniało. Był kiedyś audyt opensource'u od amerykanskiej armii. Wyszło że Linux jest jednym z najbezpieczniejszych projektów opensorce'owych

0
ZrobieDobrze napisał(a):

"Kody" czy "biblioteki" w arduindo np te zajmujące się ethernetem to jeden wielki buffer overflow / denial service / stack overflow.

Że sprzęt jest limitujący, to jedno (choć na arduino ESP32 limitujący 100x mniej), ale autorzy "bibliotek", czyli jednak guru wychowujące "następne pokolenia" nie znający języka, najprostszych patternów programowania. Dobrego kodu C++ nie widzieli nawet przez ramię.
Złoszczą się na elektrodzie, jak się poda w przykładzie nieznane im operatory języka C - ludzie komercyjnie sprzedający swoje "kody". Endianess procesorów jak chce transmitować dwa bajty w integerze? Nie słyszeli.

To sie przebija na jakość oprogramowania embedded. U jednego z klientów był ekspres, który brak kawy meldował -> "dosyp kawy", brak wody -> "nalej wody". Brak obu -> zwis na twardo, odsuwaj regał i wyjmuj wtyczkę. Pewnie programista jeszcze else nie przerabiał.

Śmieszne jest, bo nawet C++ namespace jest tam nieznane - a jesli klasa nazywa sie jak wiodących chip, który obsługuje, konflikty sa nieuniknione. Bosch, jakie modły odprawiają żeby z konfliktów wyjść. Nawet komunikować (międzyludzko) naród się to nie potrafi. NP używam biblioteki (de facto nagłowka) ABC_1234, gdy na rynku jest ięć bilbliotek na te chip.
Stosy TCP łaskawie nie są dociążane na testach, otrzymują 1 request o miłościwej długości.

Sądzę, ze nie każde embedded musi być syfem. Wierzę, że RTOS-y od zawodowych programistów np jawnie odmawiają wykonania funkcji, gdy nie mają zasobów itd ...

Różni są programiści w Embedded bo różne są potrzeby. Myślę, że rozkład partaczy i profesjonalistów jest podobny jak w każdym innym obszarze programowania.
Po Twoim kategorycznym osądzie widać jednak, że te nie do końca rozumiesz specyfikę i wymagania dla tego typu aplikacji a są one często całkiem odmienne od aplikacji na komputery czy przeglądarki.

. Nawet komunikować (międzyludzko) naród się to nie potrafi. NP używam biblioteki (de facto nagłowka) ABC_1234, gdy na rynku jest ięć bilbliotek na te chip.

Bo czasem taka biblioteka jest zbyt duża i nie jest potrzebna pełna ogólna funkcjonalność. Jak masz 4Kb na program i 128 bajtów RAM a chcesz obsłużyć 5 urządzeń to zaczyna się robić ciasno i trzeba oprogramować tylko to co niezbędne - właśnie pisząc własną bibliotekę.

Generalnie jeśli ktoś kto programował tylko na PC/Serwery w Java, C# czy innych wysokopoziomowych rozwiązaniach nie liczących się praktycznie w ogóle z ograniczeniami sprzętowymi to wiem, że długo nie będzie potrafił zrozumieć sposobu programowania, którego celem jest maksymalna optymalizacja pod kątem poboru mocy przez urządzenie... a na to wpływa ilość RAM ilość wykonywanych przez program taktów minimalizacja komunikacji itp.. itd...
Jak chcesz żeby na jednej bateryjce wielkości monety 1zł licznik rowerowy działał Ci 4 lata to trzeba to ogarniać...

0
katakrowa napisał(a):

Różni są programiści w Embedded bo różne są potrzeby. Myślę, że rozkład partaczy i profesjonalistów jest podobny jak w każdym innym obszarze programowania.
Po Twoim kategorycznym osądzie widać jednak, że te nie do końca rozumiesz specyfikę i wymagania dla tego typu aplikacji a są one często całkiem odmienne od aplikacji na komputery czy przeglądarki.

. Nawet komunikować (międzyludzko) naród się to nie potrafi. NP używam biblioteki (de facto nagłowka) ABC_1234, gdy na rynku jest ięć bilbliotek na te chip.

Bo czasem taka biblioteka jest zbyt duża i nie jest potrzebna pełna ogólna funkcjonalność. Jak masz 4Kb na program i 128 bajtów RAM a chcesz obsłużyć 5 urządzeń to zaczyna się robić ciasno i trzeba oprogramować tylko to co niezbędne - właśnie pisząc własną bibliotekę.

Mówił byś o bibliotece, mając wiedzę lub uzasadnione przypuszczenia że nazwa się powtarza - po nazwie czy autorze / URL do githuba? Toż to nawet nie przedszkole, a żłobek.

A użycia C++ namespace nie kosztuje ani ćwierć nanosekundy, ani bita pamięci.
A niech się klasy nazywają jak chip ABC_1234, ale w namespace autora

wu::ping::lu:ABC_1234
i
pierre:dolinski:ABC_1234

Nie mam nic do mikro-bibliotek header only, ale niechby autorzy znali podstawy języka (i w ekosystemie panowały minimalne profesjonalne zasady)

katakrowa napisał(a):

Jak chcesz żeby na jednej bateryjce wielkości monety 1zł licznik rowerowy działał Ci 4 lata to trzeba to ogarniać...

Jeszcze takiego projektu arduino nie wiedziałem.
(a AVRka sobie umiem ślicznie usypiać, wiem o czym mówisz)

0

Watek za bardzo robi się filozoficzny !
Lepiej rozwiązywać prawdziwe problemy a nie wymyślać nowe hipotetyczne ;)

1
ZrobieDobrze napisał(a):

Mówił byś o bibliotece, mając wiedzę lub uzasadnione przypuszczenia że nazwa się powtarza - po nazwie czy autorze / URL do githuba? Toż to nawet nie przedszkole, a żłobek.

Pokaż przykład to porozmawiamy.

A użycia C++ namespace nie kosztuje ani ćwierć nanosekundy, ani bita pamięci.

Ale też nie jest do niczego potrzebne.

Nie mam nic do mikro-bibliotek header only, ale niechby autorzy znali podstawy języka (i w ekosystemie panowały minimalne profesjonalne zasady)

Nie rozumiesz elektroniki ale chcesz na siłę aby w świecie programów wielkości kilku kilobajtów zaczęli używać rozwiązań dla systemów, które nie mieściły się na dyskach twardych (np. namespaces).
Po prostu w elektronice trzeba wiedzieć co się robi a nie brać na pałę biblioteki i mieć nadzieję, że zadziałają. Elektronika to nie miejsce dla programistów CTRL+C / CTRL+V choć przez pryzmat świata Arduino czy RPI może wydawać się, że tak jest.

0

może arduino, erp lub rpi pico to rozwiązanie, którego szukasz

1 użytkowników online, w tym zalogowanych: 0, gości: 1