Wydajne systemy wbudowane w j - Helion

Tytuł oryginału: Bare-Metal Embedded C Programming: Develop high-performance embedded systems with C for Arm microcontrollers
Tłumaczenie: Grzegorz Werner
ISBN: 978-83-289-3345-3
stron: 384, Format: ebook
Data wydania: 2026-03-03
Księgarnia: Helion
Cena książki: 55,44 zł (poprzednio: 99,00 zł)
Oszczędzasz: 44% (-43,56 zł)
Osoby które kupowały "Wydajne systemy wbudowane w j", wybierały także:
- Język C. Solidna wiedza w praktyce. Wydanie VIII 199,00 zł, (99,50 zł -50%)
- J 77,00 zł, (38,50 zł -50%)
- Język C. Programowanie mikrokontrolerów i komputerów 24,90 zł, (12,45 zł -50%)
- Tablice informatyczne. C 16,98 zł, (8,49 zł -50%)
- Unreal Engine. Nauka pisania gier dla kreatywnych 57,00 zł, (28,50 zł -50%)
Spis treści
Wydajne systemy wbudowane w języku C. Niskopoziomowe programowanie mikrokontrolerów ARM eBook -- spis treści
O autorze
O recenzencie
Przedmowa
Wstęp
Rozdział 1. Przygotowywanie warsztatu pracy
- Wymagania techniczne
- Podstawowe narzędzia do tworzenia oprogramowania dla mikrokontrolerów
- Instalacja STM32CubeIDE
- Instalacja GNU Arm Embedded Toolchain
- Instalacja OpenOCD
- Płytka rozwojowa
- Funkcje płytki rozwojowej
- Przegląd płytki rozwojowej NUCLEO-F411
- Karty katalogowe i instrukcje - odkrywanie szczegółów
- Dokumentacja STMicroelectronics
- Ogólny przewodnik użytkownika ARM
- Pobieranie dokumentów
- Praca w środowisku STM32CubeIDE
- Ikony sterujące
- Podsumowanie
Rozdział 2. Konstruowanie rejestrów układów peryferyjnych na podstawie adresów pamięci
- Wymagania techniczne
- Różne metody tworzenia oprogramowania układowego
- HAL
- LL
- Programowanie niskopoziomowe w C
- Asembler
- Komponenty na płytce rozwojowej
- Lokalizowanie połączenia diody LED
- Lokalizowanie połączenia przycisku użytkownika
- Lokalizowanie goldpinów i złączy kompatybilnych z Arduino
- Definiowanie i tworzenie rejestrów na podstawie dokumentacji
- Lokalizowanie portu GPIO PORTA
- Bramkowanie zegara
- AHB1 ENR
- Ustawianie i zerowanie bitów w rejestrach
- Rejestr trybu portu GPIO (GPIOx_MODER)
- Rejestr danych wyjściowych portu GPIO (GPIOx_ODR)
- Manipulowanie rejestrami - od konfiguracji do uruchomienia pierwszego programu
- Definicje rejestrów
- Przyrostek UL
- Funkcja main
- Podsumowanie
Rozdział 3. Proces budowania programów i eksplorowanie narzędzi GNU
- Wymagania techniczne
- Podstawy - proces budowania oprogramowania wbudowanego
- Etap przetwarzania wstępnego
- Etap kompilacji
- Etap asemblacji
- Etap konsolidacji
- Etap lokalizacji
- Przegląd narzędzi GNU dla systemów wbudowanych
- arm-none-eabi-gcc
- Często używane flagi kompilatora
- Niektóre flagi specyficzne dla architektury
- Inne polecenia w zestawie narzędzi GNU Arm Embedded Toolchain
- Od IDE do wiersza poleceń - analiza procesu budowania programu
- Proces budowania oprogramowania z perspektywy IDE
- Kompilacja plików asemblera i C
- Praca z narzędziami binarnymi GNU
- Wgrywanie oprogramowania układowego do mikrokontrolera za pomocą OpenOCD
- Podsumowanie
Rozdział 4. Tworzenie skryptu linkera i pliku startowego
- Wymagania techniczne
- Model pamięci STM32
- Pamięć flash
- SRAM
- Pamięć układów peryferyjnych
- Skrypt linkera
- Proces konsolidacji
- Kluczowe elementy skryptu linkera
- Dyrektywy w skrypcie linkera
- Stałe w skryptach linkera
- Symbole w skryptach linkera
- Pisanie skryptu linkera i pliku startowego
- Regiony pamięci, do których wczytywane są poszczególne sekcje
- Przerwania i tablica wektorów
- Pisanie skryptu linkera
- Pisanie pliku startowego
- Testowanie skryptu linkera i pliku startowego
- Podsumowanie
Rozdział 5. System Make
- Wymagania techniczne
- Wprowadzenie do systemów budowania oprogramowania
- Make
- Maven
- System budowania Make
- Podstawy systemu Make
- Instalowanie i konfigurowanie systemu Make
- Tworzenie plików Makefile dla projektów oprogramowania układowego
- Testowanie pliku Makefile
- Stosowanie zmiennych specjalnych i zdefiniowanych przez użytkownika
- Podsumowanie
Rozdział 6. Common Microcontroller Software Interface Standard (CMSIS)
- Wymagania techniczne
- Definiowanie rejestrów układów peryferyjnych za pomocą struktur C
- Uzyskiwanie adresu bazowego i przesunięć rejestrów
- Implementowanie struktur układów peryferyjnych
- Dostęp do rejestrów oparty na strukturach
- Omówienie CMSIS
- Czym jest CMSIS?
- Kluczowe elementy CMSIS
- Zasady kodowania CMSIS
- Pliki CMSIS-Core
- Przygotowywanie wymaganych plików CMSIS
- Dołączanie odpowiednich plików nagłówkowych
- Praca z plikami CMSIS
- Podsumowanie
Rozdział 7. Wejście-wyjście ogólnego przeznaczenia (GPIO)
- Wymagania techniczne
- Układ peryferyjny GPIO
- Rejestry GPIO w mikrokontrolerach STM32
- Rejestr trybu GPIO (GPIOx_MODER)
- Rejestr danych wyjściowych GPIO (GPIOx_ODR) oraz rejestr danych wejściowych GPIO (GPIOx_IDR)
- Rejestr ustawiania/zerowania bitów GPIO (GPIOx_BSRR)
- Rejestry alternatywnych funkcji GPIO (GPIOx_AFRL i GPIOx_AFRH)
- Tworzenie sterowników wejścia i wyjścia
- Sterownik wyjścia GPIO wykorzystujący rejestr BSRR
- Sterownik wejścia GPIO
- Podsumowanie
Rozdział 8. Timer systemowy (SysTick)
- Wymagania techniczne
- Wprowadzenie do timera SysTick
- Przegląd timera SysTick
- Rejestry timera SysTick
- Tworzenie sterownika timera SysTick
- Podsumowanie
Rozdział 9. Timery ogólnego przeznaczenia (TIM)
- Wymagania techniczne
- Wprowadzenie do timerów i ich zastosowań
- Typowe zastosowania timerów
- Pomiar interwałów czasowych
- Generowanie opóźnień
- Wyzwalanie zdarzeń
- Timery STM32
- Wprowadzenie do timerów ogólnego przeznaczenia i timerów zaawansowanych
- Jak działają timery w mikrokontrolerach STM32?
- Tworzenie sterownika timera
- Podsumowanie
Rozdział 10. Protokół uniwersalnego asynchronicznego odbiornika-nadajnika (UART)
- Wymagania techniczne
- Wprowadzenie do protokołów komunikacyjnych
- Czym są protokoły komunikacyjne?
- Porównanie interfejsów UART, SPI i I2C
- Typowe zastosowania protokołów UART, SPI i I2C
- Przegląd protokołu UART
- Czym jest UART?
- Interfejs
- Jak działa UART?
- Układ peryferyjny UART w mikrokontrolerze STM32F4
- Tworzenie sterownika UART
- Podsumowanie
Rozdział 11. Przetwornik analogowo-cyfrowy (ADC)
- Wymagania techniczne
- Podstawy konwersji analogowo-cyfrowej
- Czym jest konwersja analogowo-cyfrowa?
- Kluczowe parametry ADC - rozdzielczość, wielkość kroku kwantyzacji oraz napięcie referencyjne (VREF)
- Układ peryferyjny ADC w mikrokontrolerze STM32F4
- Kanały ADC
- Kanały zwykłe i wstrzykiwane w przetwornikach ADC mikrokontrolerów STM32F411
- Kluczowe rejestry i flagi ADC
- 1. rejestr sterujący ADC (ADC_CR1)
- 2. rejestr sterujący ADC (ADC_CR2)
- Rejestr sekwencji zwykłej ADC (ADC_SQRx)
- Rejestr danych ADC (ADC_DR)
- Rejestr statusu ADC (ADC_SR)
- Kluczowe flagi ADC
- Tworzenie sterownika ADC
- Identyfikowanie pinów GPIO na użytek ADC
- Podsumowanie
Rozdział 12. Serial Peripheral Interface (SPI)
- Wymagania techniczne
- Przegląd protokołu SPI
- Czym jest SPI?
- Kluczowe cechy protokołu SPI
- Interfejs SPI
- Jak działa SPI?
- CPHA i CPOL
- Tryby danych
- Prędkość SPI
- Układ peryferyjny SPI w mikrokontrolerze STM32F4
- Kluczowe cechy
- Kluczowe rejestry SPI
- Tworzenie sterownika SPI
- Zdefiniowane makra
- Inicjalizacja pinów GPIO na użytek SPI
- Konfiguracja SPI1
- Wysyłanie danych przez SPI
- Odbieranie danych przez SPI
- Zarządzanie linią SS
- Plik nagłówkowy
- Akcelerometr ADXL345
- Kluczowe pojęcia - statyczne przyspieszenie grawitacyjne, wykrywanie nachylenia oraz przyspieszenie dynamiczne
- Tworzenie sterownika akcelerometru ADXL345
- Podsumowanie
Rozdział 13. Inter-Integrated Circuit (I2C)
- Wymagania techniczne
- Przegląd protokołu I2C
- Czym jest I2C?
- Układ peryferyjny I2C w mikrokontrolerach STM32F4
- Kluczowe rejestry I2C
- Tworzenie sterownika I2C
- Podsumowanie
Rozdział 14. Przerwania i zdarzenia zewnętrzne (EXTI)
- Wymagania techniczne
- Przerwania i ich rola w oprogramowaniu układowym
- Czym są przerwania?
- Jak działają przerwania?
- Znaczenie przerwań w oprogramowaniu układowym
- Przerwania a wyjątki
- Analiza porównawcza: rozwiązania oparte na przerwaniach a rozwiązania oparte na odpytywaniu
- Kontroler EXTI w STM32
- Kluczowe cechy EXTI
- Odwzorowywanie zewnętrznych linii przerwań/zdarzeń
- Tworzenie sterownika EXTI
- EXTI_IMR
- EXTI_RTSR
- EXTI_FTSR
- Rejestr przerwań oczekujących (EXTI_PR)
- Sterownik EXTI
- Podsumowanie
Rozdział 15. Zegar czasu rzeczywistego (RTC)
- Wymagania techniczne
- Zegary RTC
- Jak działają zegary RTC?
- Typowe zastosowania zegarów RTC
- Moduł RTC w mikrokontrolerach STM32
- Główne cechy modułu RTC w STM32F4
- Kluczowe elementy modułu RTC w STM32F4
- Kluczowe rejestry RTC
- Rejestr czasu RTC (RTC_TR)
- Rejestr daty RTC (RTC_DR)
- Rejestr sterujący RTC (RTC_CR)
- Rejestr inicjalizacji i statusu RTC (RTC_ISR)
- Rejestr preskalera RTC (RTC_PRER)
- Rejestry alarmów RTC (RTC_ALRMAR i RTC_ALRMBR)
- Rejestr timera wybudzania RTC (RTC_WUTR)
- Tworzenie sterownika RTC
- Plik implementacji RTC
- Format BCD
- Plik nagłówkowy
- Główny plik
- Podsumowanie
Rozdział 16. Niezależny watchdog (IWDG)
- Wymagania techniczne
- Watchdogi
- Czym są watchdogi?
- Jak działa watchdog?
- Typowe zastosowania
- Typy watchdogów
- IWDG w mikrokontrolerach STM32
- Kluczowe cechy IWDG
- Jak działa IWDG?
- Rejestry IWDG
- Tworzenie sterownika IWDG
- Plik implementacji IWDG
- Plik nagłówkowy
- Główny plik
- Testowanie projektu
- Podsumowanie
Rozdział 17. Bezpośredni dostęp do pamięci (DMA)
- Wymagania techniczne
- Bezpośredni dostęp do pamięci (DMA)
- Jak działa DMA?
- Kluczowe cechy
- Typowe zastosowania
- Moduły DMA mikrokontrolera STM32F4
- Kluczowe cechy kontrolera DMA w mikrokontrolerze STM32F4
- Tryby transferu
- Tryby danych DMA
- Schemat blokowy modułu DMA w mikrokontrolerze STM32F4
- Kluczowe rejestry DMA w mikrokontrolerach STM32
- Tworzenie sterownika DMA
- Sterownik DMA dla przetwornika ADC
- Sterownik DMA dla układu UART
- Sterownik DMA do transferu danych między obszarami pamięci
- Podsumowanie
Rozdział 18. Zarządzanie energią i efektywność energetyczna w systemach wbudowanych
- Wymagania techniczne
- Przegląd technik zarządzania energią
- Dynamiczne skalowanie napięcia i częstotliwości (DVFS)
- Bramkowanie zegara
- Bramkowanie zasilania
- Tryby niskiego poboru mocy
- Studium przypadku 1. Energooszczędny smartwatch
- Studium przypadku 2. Monitor środowiskowy zasilany energią słoneczną
- Tryby niskiego poboru mocy w mikrokontrolerze STM32F4
- Źródła i wyzwalacze wybudzania w STM32F4
- Źródła wybudzania
- Kwestie praktyczne
- Tworzenie sterownika do wchodzenia w stan gotowości i wybudzania mikrokontrolera
- Podsumowanie
Skorowidz





