reklama - zainteresowany?

Systemy wbudowane. Wzorce projektowe dla tw - Helion

Systemy wbudowane. Wzorce projektowe dla tw
ebook
Autor: Elecia White
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

Tagi: Inne

Systemy wbudowane nap

 

Zobacz także:

  • Windows Media Center. Domowe centrum rozrywki
  • Przywództwo w świecie VUCA. Jak być skutecznym liderem w niepewnym środowisku
  • Mapa Agile & Scrum. Jak si
  • Sztuka podst
  • Lean dla bystrzaków. Wydanie II

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

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.