Robotyka, Embedded, C
Mamy już za sobą wprowadzenie do języka Ada. Pora więc coś w niej napisać. W tym artykule pokażę całą drogę od instalacji toolchaina aż do napisania pierwszego programu – kolejki FIFO opartej na buforze cyklicznym. W trakcie implementacji poznamy kilka podstawowych “ficzerów” Ady Artykuł powstał w ramach “Tygodnia z Adą” podczas którego od poniedziałku do […]
Ada to najbardziej zalecany język do systemów safety-critical. Zainteresowałem się nim bardziej już jakiś czas temu, ale do tej pory nie było okazji się w niego bardziej zagłębić. Sytuacja zmieniła się podczas Embedded World, kiedy to otrzymałem dwie książki o Adzie. Po ich lekturze nabrałem przekonania, że więcej systemów (nie tylko safety-critical) powinno powstawać w […]
Event Storming to bardzo modny ostatnio termin. Co się pod nim kryje? Do czego może być przydatny? W ostatnim czasie słyszałem wiele na ten temat, czytałem, oglądałem różne prezentacje. Jednak podczas SegFault University Gdańsk nadarzyła się okazja, żeby uczestniczyć w warsztatach z Event Stormingu i zobaczyć jak to wygląda w praktyce. W tym poście opiszę […]
Ostatnie tygodnie upłynęły mi pod znakiem konferencji. Byłem w Gdańsku na SegFault University, we Wrocławiu na Boiling Frogs i w Warszawie na 4Developers. A wcześniej jeszcze w Norynberdze na Embedded World, co już zdążyłem opisać na blogu. Na trzech pierwszych występowałem ze swoją prezentacją o systemach safety-critical. Przy okazji dodałem nową stronę, gdzie można znaleźć […]
Pod koniec lutego byłem na targach i konferencji Embedded World 2019. Poza relacją z samego wydarzenia (do przeczytania pod tym linkiem) postanowiłem opisać tematy poruszane na prezentacjach z części konferencyjnej. Było już więc o Embedded Security i o systemach operacyjnych czasu rzeczywistego. Dzisiaj pora na kolejny duży temat jakim jest jakość oprogramowania. Będzie więc o […]
Podczas Embedded World jednym z często powtarzających się tematów były systemy operacyjne czasu rzeczywistego, czyli RTOSy. Nie zabrakło także Linuxa. W tym wpisie opiszę kilka prezentacji na ten temat. Jakob Benningo – “42 Reasons Using FreeRTOS Should Scare Developers” Tytuł prezentacji był trochę click-baitowy. Większość z tych 42 powodów nie była jakaś wielce odkrywcza. Poza […]
Podczas Embedded World 2019 dużo miejsca poświęcono tematowi Embedded Security. To wyraźne odwrócenie trendu ignorowania problemów podatności i zabezpieczeń tego typu systemów, które dominowało do tej pory. Na pewno duży wpływ na to ma rozwój Internet Of Things zapewniający nam stały dopływ niezabezpieczonych urządzeń. Swoje w tym temacie na pewno zrobiły też podatności związane z […]
W dniach 26-28 lutego byłem w Norynberdze na targach i konferencji Embedded World 2019. Jest to jedno z największych wydarzeń tego typu w Europie. Na liście mailingowej oraz w social mediach pisałem już co nieco na ten temat. Teraz pora na obszerniejszą relację. Główne trendy Już po przejściu przez kilka stoisk można było zauważyć pewne […]
Po ostatnim artykule, gdzie opisałem, co trzeba umieć do pierwszej pracy, dostałem od Was pytania jak zdobyć wymaganą wiedzę. Z jakich kursów korzystać? Jakie książki czytać? Jakie projekty robić? Od czego zacząć? W tym wpisie znajdziesz odpowiedź na powyższe pytania. Dla kompletnie zielonych – podstawy elektroniki i Arduino Na sam początek polecam spróbować swoich sił […]
Pytania o wymagania na pozycję junior developera są bardzo popularne. Dotyczą one zwykle frontendu, Javy, czy C# i w internecie można znaleźć na ten temat już całkiem sporo, o embedded natomiast takich informacji brakuje. Są osoby, które traktują systemy embedded jako hobby – lubią sobie dłubać przy Arduino, czy Raspberry Pi, ale pracy szukają w […]
Wzorce projektowe są bardzo popularnym tematem wśród programistów. Zwykle rozmawia się o nich w kontekście języków obiektowych i dużych systemów. Jednak podobnie jak z innymi zagadnieniami dotyczącymi architektury – część wzorców da się z powodzeniem przenieść na grunt systemów embedded. W dzisiejszym wpisie opowiem o trzech wzorcach z najpopularniejszego katalogu wzorców – książki “Gang of […]
Dobra architektura nie powstaje od razu. Jest ona raczej wypracowana na bazie różnych doświadczeń. Jednak w większości systemów jest ona określana na sztywno na samym początku, kiedy jeszcze nie mamy wystarczającej wiedzy, aby zrobić ją dobrze. Jest to źródłem wielu problemów z utrzymaniem. Zamiast tego powinniśmy pogodzić się z faktem, że dobre rozwiązania wymagają czasu […]
Z czego składa się architektura? Z modułów i warstw. To jest intuicyjny podział wynikający z potrzeby dzielenia złożonych problemów na mniejsze i grupowania podobnych zadań. Jednak o ile co do samego istnienia warstw i modułów nikt nie ma zastrzeżeń, to strategie ich wydzielania zależą często tylko od naszej fantazji. Dzisiaj zdefiniujemy sobie czym są owe […]
W systemach embedded zwykle skupiamy się na niskopoziomowych interakcjach ze sprzętem. Poznajemy nowe interfejsy, wykorzystujemy kolejne zewnętrzne układy i wykorzystujemy nowe rodziny procesorów. Jednak to z czym sobie naprawdę nie radzimy to poskromienie rosnącej złożoności tworzonych przez nas systemów. W większości systemów prawdziwym problemem jest architektura, czyli systematyczne podejście do radzenia sobie z tą złożonością. […]
Distortos to system operacyjny czasu rzeczywistego (RTOS) napisany w C++ z myślą o procesorach ARM Cortex-M, a szczególnie STM32. Pisałem już o nim przy okazji ciekawych projektów C++ Embedded i łazika na NASA Space Apps. Aplikacja na STM w łaziku chyba jednak będzie za prosta, żeby dawać do niej RTOSa, ale ostatnio zacząłem przepisywać Micromouse […]
Robotyka, Embedded, C
Programowaniem zajmuję się zawodowo od 2012 roku. Moją specjalnością są systemy embedded, pracowałem już nad systemami safety critical, inteligentymi budynkami, czy Internet of Things. Jestem również wielkim fanem robotyki i w wolnym czasie robię własnego robota micromouse.