Systemy wbudowane. Wzorce projektowe dla tw - Helion
Tytuł oryginału: Making Embedded Systems: Design Patterns for Great Software, 2nd Edition
Tłumaczenie: Grzegorz Werner
ISBN: 978-83-289-1830-6
stron: 376, Format: ebook
Księgarnia: Helion
Cena książki: 89,00 zł
Książka będzie dostępna od grudnia 2024
Systemy wbudowane nap
Zobacz także:
- Windows Media Center. Domowe centrum rozrywki 66,67 zł, (8,00 zł -88%)
- Przywództwo w świecie VUCA. Jak być skutecznym liderem w niepewnym środowisku 58,64 zł, (12,90 zł -78%)
- Mapa Agile & Scrum. Jak si 57,69 zł, (15,00 zł -74%)
- Sztuka podst 53,46 zł, (13,90 zł -74%)
- Lean dla bystrzaków. Wydanie II 49,62 zł, (12,90 zł -74%)
Spis treści
Systemy wbudowane. Wzorce projektowe dla twórców oprogramowania. Wydanie II eBook -- 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