Systemy wbudowane. Wzorce projektowe dla twórców oprogramowania. Wydanie II - Karnawałowe ceny HITÓW z odbiorem za 0 zł lub wysyłka od 10,49 zł Międzyrzec Podlaski

Systemy wbudowane napędzają działanie urządzeń medycznych, samochodów, samolotów, sprzętów AGD, a nawet zabawek dla dzieci. Zazwyczaj pracują w środowiskach o ściśle określonych parametrach sprzętowych i często nie korzystają ze wsparcia systemów operacyjnych. Dlatego ich tworzenie wymaga dużej …

od 55,18 Najbliżej: 24 km

Liczba ofert: 1

Oferta sklepu

Opis

Systemy wbudowane napędzają działanie urządzeń medycznych, samochodów, samolotów, sprzętów AGD, a nawet zabawek dla dzieci. Zazwyczaj pracują w środowiskach o ściśle określonych parametrach sprzętowych i często nie korzystają ze wsparcia systemów operacyjnych. Dlatego ich tworzenie wymaga dużej precyzji, a także odmiennego podejścia do projektowania i implementacji oprogramowania. Lektura tej książki pozwoli Ci przyswoić kluczowe koncepcje i opanować dobre praktyki, które warto stosować podczas tworzenia kodu. Poznasz zarówno klasyczne wzorce projektowe, jak i te opracowane specjalnie z myślą o systemach wbudowanych. Znajdziesz tu rozdziały poświęcone nowoczesnym technologiom, takim jak systemy współpracujące z internetem rzeczy i czujniki sieciowe, a także omówienie zagadnień związanych z silnikami. Dokładnie zbadasz tematykę debugowania, strategii zarządzania danymi ... i wiele więcej! Dowiesz się, jak budować architekturę urządzenia z uwzględnieniem procesora, a nie systemu operacyjnego. Zapoznasz się również z technikami rozwiązywania problemów sprzętowych, modyfikowania projektów i definiowania wymagań produkcyjnych. Najciekawsze zagadnienia: optymalizacja systemu pod kątem kosztów i wydajności zapewnianie niezawodności w środowisku o ograniczonych zasobach czujniki, wyświetlacze, silniki i inne urządzenia wejścia-wyjścia redukcja zużycia pamięci RAM, przestrzeni kodu, cykli procesora i energii projektowanie systemów wbudowanych współdziałających z internetem rzeczy i czujnikami sieciowymi Dzięki książce zorientujesz się w zawiłościach procesów i wzorców budowy oprogramowania wbudowanego! Miro Samek, znawca systemów wbudowanych, autor książek i nauczyciel Spis treści: Przedmowa Rozdział 1. Wprowadzenie Tworzenie systemów wbudowanych Kompilatory i języki Debugowanie Ograniczenia zasobów Zasady radzenia sobie z tymi problemami Prototypy i płytki dla makerów Dalsza lektura Rozdział 2. Tworzenie architektury systemu Pierwsze kroki Tworzenie diagramów systemu Diagram kontekstowy Diagram blokowy Organigram Diagram warstwowy Projektowanie pod kątem zmian Enkapsulacja modułów Delegowanie zadań Interfejs sterownika: open, close, read, write, ioctl Wzorzec adaptera Tworzenie interfejsów Przykład: interfejs rejestrowania zdarzeń Zabawa w piaskownicy Z powrotem do tablicy Dalsza lektura Rozdział 3. Praca ze sprzętem Integracja sprzętu i oprogramowania Idealny przepływ projektu Projekt sprzętu Uruchamianie płytki Czytanie arkusza danych Sekcje arkusza danych, których będziesz potrzebować, kiedy coś pójdzie nie tak Sekcje arkusza danych przeznaczone dla twórców oprogramowania Ewaluacja komponentów z użyciem arkusza danych Twój procesor jest językiem Czytanie schematu Ćwiczenie z czytania schematów: Arduino! Bezpieczeństwo płytki Tworzenie własnego przybornika diagnostycznego Multimetr cyfrowy Oscyloskopy i analizatory stanów logicznych Przygotowywanie oscyloskopu do pracy Testowanie sprzętu (i oprogramowania) Budowanie testów Przykład testu pamięci flash Polecenie i odpowiedź Wzorzec polecenia Obsługa błędów Spójna metodyka Przepływ sprawdzania błędów Biblioteka do obsługi błędów Diagnozowanie błędów związanych z zależnościami czasowymi Dalsza lektura Rozdział 4. Wejścia, wyjścia i timery Obsługa rejestrów Matematyka binarna i szesnastkowa Operacje bitowe Testowanie, ustawianie, zerowanie i przełączanie Przełączanie wyjścia Konfigurowanie pinu jako wyjścia Włączanie diody LED Miganie diodą LED Rozwiązywanie problemów Oddzielanie sprzętu od działań Plik nagłówkowy specyficzny dla płytki Kod obsługi wejścia-wyjścia Pętla główna Wzorzec fasady Wejście w wejściu-wyjściu Chwilowe naciśnięcie przycisku Przerwanie przy naciśnięciu przycisku Konfigurowanie przerwania Eliminowanie drgań styków Niepewność w czasie wykonania Zwiększanie elastyczności kodu Wstrzykiwanie zależności Używanie timera Elementy timera Odrobina matematyki Więcej matematyki: trudna częstotliwość docelowa Długie oczekiwanie między tyknięciami timera Używanie timera Modulacja szerokości impulsów Oddawanie gotowego produktu Dalsza lektura Rozdział 5. Przerwania Kurczak naciska przycisk Wystąpienie przerwania Przerwania niemaskowalne Priorytet przerwań Zagnieżdżone przerwania Zapisywanie kontekstu Pobieranie ISR z tablicy wektorów Inicjalizacja tablicy wektorów Wyszukiwanie procedury ISR Wywoływanie procedury ISR Wiele źródeł jednego przerwania Wyłączanie przerwań Sekcje krytyczne Przywracanie kontekstu Konfigurowanie przerwań Kiedy używać przerwań, a kiedy nie Jak unikać używania przerwań Odpytywanie Tyknięcie systemowe Zdarzenia oparte na czasie Malutka usługa harmonogramowania Dalsza lektura Rozdział 6. Zarządzanie przepływem aktywności Harmonogramowanie i podstawy systemu operacyjnego Zadania Komunikacja między zadaniami Unikanie wyścigów Inwersja priorytetów Maszyny stanów Przykład maszyny stanów: kontroler sygnalizacji świetlnej Maszyna stanów skupiona na stanach Skupiona na stanach maszyna stanów z ukrytymi przejściami Maszyna stanów skupiona na zdarzeniach Wzorzec stanu Maszyna stanów sterowana tabelą Wybieranie implementacji maszyny stanów Watchdog Pętle główne Odpytywanie i czekanie Przerwanie timera Przerwania robią wszystko Przerwania powodują zdarzenia Malutka usługa harmonogramowania Obiekty aktywne Dalsza lektura Rozdział 7. Komunikacja z urządzeniami peryferyjnymi Komunikacja szeregowa Szeregowe łącze TTL Szeregowe łącze RS-232 SPI I2C i TWI 1-Wire Łącze równoległe Podwójna i poczwórna magistrala SPI USB Inne protokoły Komunikacja w praktyce Przykład użycia zewnętrznego przetwornika ADC: sygnalizacja gotowości danych w SPI Używanie kolejki FIFO (jeśli jest dostępna) Bezpośredni dostęp do pamięci (DMA) Przykład użycia zewnętrznego przetwornika ADC: SPI i DMA Bufory okrężne Dalsza lektura Rozdział 8. Budowanie systemu Macierze klawiszy Wyświetlacze segmentowe Wyświetlacze pikselowe Zasoby graficzne Zmienne dane? Wzorce pyłku i fabryki Zewnętrzna pamięć flash Zasoby graficzne Emulacja pamięci EEPROM i magazyny KV Małe systemy plików Przechowywanie danych Sygnały analogowe Czujniki cyfrowe Obsługa danych Zmienianie algorytmów: strategia Etapy algorytmu: potoki i filtry Obliczanie potrzeb: szybkości i przepustowości Przepustowość danych Przepustowość pamięci i buforowanie danych Dalsza lektura Rozdział 9. Wpadanie w kłopoty Walka z optymalizacjami kompilatora Niemożliwe usterki Odtwarzanie usterki Wyjaśnianie usterki Wywołanie chaosu i twardych błędów Dzielenie przez zero Mówienie do rzeczy, których nie ma Wykonywanie niezdefiniowanych instrukcji Niepoprawny dostęp do pamięci (niewyrównany dostęp) Zwracanie wskaźnika do pamięci na stosie Przepełnienia stosu i przepełnienia buforów Diagnozowanie twardych błędów Rejestry procesora: co poszło nie tak? Tworzenie zrzutu rdzenia Używanie zrzutu rdzenia Po prostu bardzo trudne usterki Konsekwencje pomysłowości Dalsza lektura Rozdział 10. Budowanie urządzeń podłączonych do sieci Zdalna łączność Połączenie bezpośrednie: Ethernet i WiFi Połączenie przez bramę Połączenie przez sieć kratową Niezawodna komunikacja Wersja! Sumy kontrolne, kody CRC, skróty Szyfrowanie i uwierzytelnianie Analiza ryzyka Aktualizowanie kodu Bezpieczeństwo aktualizacji oprogramowania Wiele części kodu Koło ratunkowe Wdrażanie etapowe Zarządzanie dużymi systemami Produkcja Dalsza lektura Rozdział 11. Więcej za mniej Za mało przestrzeni kodu Czytanie pliku mapy (część 1.) Proces eliminacji Biblioteki Funkcje kontra makra: które są mniejsze? Stałe i łańcuchy Za mało pamięci RAM Usuń wywołania malloc Czytanie pliku mapy (część 2.) Rejestry i zmienne lokalne Łańcuchy wywołań funkcji Zalety i wady zmiennych globalnych: pamięć RAM kontra stos Nakładająca się pamięć Za mało szybkości Profilowanie Optymalizacja pod kątem cykli procesora Podsumowanie Dalsza lektura Rozdział 12. Matematyka Identyfikowanie szybkich i powolnych operacji Obliczanie średniej Inne średnie: średnia kumulacyjna i mediana Użycie istniejącego algorytmu Projektowanie i modyfikowanie algorytmów Rozkład wielomianów na czynniki Szereg Taylora Dzielenie przez stałą Skalowanie wejścia Tabele wyszukiwania Udawane liczby zmiennoprzecinkowe Liczby wymierne Precyzja Dodawanie (i odejmowanie) Mnożenie i dzielenie Uczenie maszynowe Poszukaj odpowiedzi! Dalsza lektura Rozdział 13. Ograniczanie zużycia energii Pobór mocy Pomiar poboru mocy Projektowanie pod kątem niższego poboru mocy Wyłączaj światło, kiedy wychodzisz z pokoju Wyłącz urządzenia peryferyjne Wyłącz nieużywane linie wejścia-wyjścia Wyłącz podsystemy procesora Zwolnij, aby oszczędzić energię Usypianie procesora Model przepływu kodu opartego na przerwaniach Bliższe spojrzenie na pętlę główną Watchdog procesora Unikanie częstych pobudek Połączone procesory Dalsza lektura Rozdział 14. Silniki i ruch Powodowanie ruchu Kodowanie pozycji Sterowanie prostym silnikiem prądu stałego z użyciem PWM Sterowanie silnikiem Sterowanie PID Profile ruchu Dziesięć rzeczy, których nienawidzę w silnikach Dalsza lektura O autorze: Elecia White pracowała nad monitorami intensywnej terapii, systemami dla lotnictwa i samochodów wyścigowych, zabawkami edukacyjnymi i wieloma innymi urządzeniami. Obecnie pełni funkcję głównego inżyniera do spraw systemów wbudowanych. Współprowadzi Embedded.fm ... podcast poświęcony systemom wbudowanym i kreatywnym technologiom .

Specyfikacja

Podstawowe informacje

Wybrane wydawnictwa
  • Helion
Okładka
  • Miękka
Rok wydania
  • 2025
Ilość stron
  • 376
Tematyka
  • Systemy operacyjne
ISBN
  • 9788328918290