Rafał Kozik
W poprzednim artykule (wydanie numer 6/2018 (73)) opisałem podstawowe instrukcje arytmetyczne, logiczne oraz warunkowe realizowane przez rdzeń Cortex-M0. Przedstawiłem także sposób uruchamiania wybranych peryferiów oraz konfigurację środowiska programistycznego. Dzisiaj chciałbym bardziej skupić się na samym rdzeniu i omówić implementację stosu oraz działanie podprogramów i przerwań. Opisane eksperymenty, tak jak poprzednio, mogą być wykonane na platformie Nucleo-F031K6.
7/2018 (74)
Tym razem chciałbym wraz z czytelnikami zabawić się w „full-stack developera”. Zaczniemy od znalezienia odpowiednich części, a następnie zaprojektujemy i wykonamy własne urządzenie podłączane do portu USB. Krok po kroku skomunikujemy się ze sterownikiem za pomocą podstawowych programów dostępnych w konsoli Linuxa, a na końcu stworzymy minimalistyczny, ale funkcjonalny graficzny interfejs użytkownika w języku Python.
8/2018 (75)
W poprzednich artykułach (numery 6/2018 (73) i 7/2018 (74)) opisałem działanie mikrokontrolerów z rdzeniem ARM Cortex-M0 oraz przedstawiłem sposób ich programowania w asemblerze. Jednak tworzenie większych projektów w tym języku jest raczej mało praktyczne, dlatego postanowiłem przedstawić krok po kroku, w jaki sposób skompilować i uruchomić programy napisane w języku C. Opisane eksperymenty, tak jak poprzednio, mogą być wykonane na platformie Nucleo-F031K6.
8/2018 (75)
EtherCAT nie pochodzi od angielskiej nazwy bardzo popularnego w sieci stworzenia, czyli kota domowego (łac. felis catus), ale jest rozwinięciem angielskiego skrótu Ethernet for Control Automation Technology, co można przetłumaczyć jako „Ethernet dla technologii sterowania i automatyzacji”. Jest to sprytna modyfikacja protokołu Ethernet dostosowująca go do potrzeb sieci przemysłowych. Chciałbym przedstawić kilka eksperymentów, które pozwolą czytelnikom zapoznać się z podstawowymi zasadami jego działania.
11/2018 (78)
Sieć Ethernet stanowi obecnie jeden z najbardziej popularnych sposobów przesyłania danych. W tym artykule przyjrzymy się połączeniu pomiędzy warstwą fizyczną a warstwą łącza danych, wykorzystując do eksperymentów układ FPGA. Najpierw za pomocą wbudowanego w środowisko programistyczne analizatora stanów logicznych zaobserwujemy przebiegi na magistrali RMII, a następnie, korzystając z wcześniejszych obserwacji, zaimplementujemy własną obsługę połączenia z prędkością 100 Mb/s.
4/2020 (91)
Układy FPGA zyskują coraz większą popularność. W poniższym artykule zapoznamy się z ich wewnętrzną budową, a także zastanowimy, do jakich zastosowań mogą być przydatne. Ponadto przyjrzymy się przykładowemu urządzeniu, w których układy te zostały wykorzystane.
1/2021 (95)
ARM Cortex-M0 jest najmniejszym mikrokontrolerem z rodziny ARM. Jego główne obszary zastosowania to drobna elektronika użytkowa oraz czujniki dla internetu rzeczy. Postaram się przedstawić trzy przykładowe programy, które powinny pomóc rozpocząć zabawą z tym sprzętem. Aby poznać go bliżej, programy przygotowano w języku asembler. Z tego powodu tekst może okazać się także interesujący dla osób, które chciałyby przyjrzeć się trochę dokładniej, jak działają współczesne mikrokontrolery.
6/2018 (73)
Utarło się, iż za przetwarzanie pakietów odpowiedzialny jest stos sieciowy będący częścią systemu operacyjnego. Jednak istnieje też alternatywne rozwiązanie, polegające na obsłudze ruchu w przestrzeni użytkownika. Jednym z narzędzi służącym do tego celu jest framework DPDK. W artykule postaram się przedstawić sposób uruchomienia demonstracyjnej aplikacji test-pmd i generatora pakietów pktgen-dpdk oraz tworzenie własnego programu realizującego dekapsulację tunelu IP.
5/2018 (72)
Najszybszym i najprostszym sposobem rozpoczęcia przygody z Raspberry Pi jest uruchomienie gotowego obrazu karty SD, który można pobrać ze strony producenta. Ponieważ jednak nie dla wszystkich komputerów wbudowanych taka opcja jest dostępna, warto zobaczyć, w jaki sposób można utworzyć swoją dystrybucję. Pozwoli to na lepsze zrozumienie działania systemu operacyjnego.
5/2019 (84)