ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Освоение STM32. Пошаговое руководство по самой полной платформе ARM Cortex-M, использующей бесплатную и мощную среду разработки на основе Eclipse и GCC

دانلود کتاب تسلط بر STM32. راهنمای گام به گام کاملترین پلتفرم ARM Cortex-M با استفاده از یک محیط توسعه رایگان و قدرتمند مبتنی بر Eclipse و GCC

Освоение STM32. Пошаговое руководство по самой полной платформе ARM Cortex-M, использующей бесплатную и мощную среду разработки на основе Eclipse и GCC

مشخصات کتاب

Освоение STM32. Пошаговое руководство по самой полной платформе ARM Cortex-M, использующей бесплатную и мощную среду разработки на основе Eclipse и GCC

ویرایش:  
نویسندگان:   
سری:  
 
ناشر: Leanpub book 
سال نشر: 2018 
تعداد صفحات: [826] 
زبان: Russian 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 45 Mb 

قیمت کتاب (تومان) : 55,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 6


در صورت تبدیل فایل کتاب Освоение STM32. Пошаговое руководство по самой полной платформе ARM Cortex-M, использующей бесплатную и мощную среду разработки на основе Eclipse и GCC به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب تسلط بر STM32. راهنمای گام به گام کاملترین پلتفرم ARM Cortex-M با استفاده از یک محیط توسعه رایگان و قدرتمند مبتنی بر Eclipse و GCC نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی درمورد کتاب به خارجی



فهرست مطالب

Оглавление
Предисловие
	Почему я написал книгу?
	Для кого эта книга?
	Как использовать эту книгу?
	Как организована книга?
	Об авторе
	Ошибки и предложения
	Поддержка книги
	Как помочь автору
	Отказ от авторского права
	Благодарность за участие
	Перевод
Благодарности
I Введение
	1. Введение в ассортимент микроконтроллеров STM32
		1.1. Введение в процессоры на базе ARM
			1.1.1. Cortex и процессоры на базе Cortex-M
				1.1.1.1. Регистры ядра
				1.1.1.2. Карта памяти
				1.1.1.3. Технология битовых лент (bit-banding)
				1.1.1.4. Thumb-2 и выравнивание памяти
				1.1.1.5. Конвейер
				1.1.1.6. Обработка прерываний и исключений
				1.1.1.7. Системный таймер SysTick
				1.1.1.8. Режимы питания
				1.1.1.9. CMSIS
				1.1.1.10. Внедренные функции Cortex-M в ассортименте STM32
		1.2. Введение в микроконтроллеры STM32
			1.2.1. Преимущества ассортимента STM32….
			1.2.2. ….И его недостатки
		1.3. Краткий обзор подсемейств STM32
			1.3.1. Серия F0
			1.3.2. Серия F1
			1.3.3. Серия F2
			1.3.4. Серия F3
			1.3.5. Серия F4
			1.3.6. Серия F7
			1.3.7. Серия H7
			1.3.8. Серия L0
			1.3.9. Серия L1
			1.3.10. Серия L4
			1.3.11. Серия L4+
			1.3.12. Серия STM32WB
			1.3.13. Как правильно выбрать для себя микроконтроллер?
		1.4. Отладочная плата Nucleo
	2. Установка инструментария
		2.1. Почему выбирают Eclipse/GCC в качестве инструментария для STM32
			2.1.1. Два слова о Eclipse…
			2.1.2. … и о GCC
		2.2. Windows – Установка инструментария
			2.2.1. Windows – Установка Eclipse
			2.2.2. Windows – Установка плагинов Eclipse
			2.2.3. Windows – Установка GCC ARM Embedded
			2.2.4. Windows – Установка инструментов сборки
			2.2.5. Windows – Установка OpenOCD
			2.2.6. Windows – Установка инструментов ST и драйверов
				2.2.6.1. Windows – Обновление микропрограммного обеспечения ST-LINK
		2.3. Linux – Установка инструментария
			2.3.1. Linux – Установка библиотек среды выполнения i386 на 64-разрядную ОС Ubuntu
			2.3.2. Linux – Установка Java
			2.3.3. Linux – Установка Eclipse
			2.3.4. Linux – Установка плагинов Eclipse
			2.3.5. Linux – Установка GCC ARM Embedded
			2.3.6. Linux – Установка драйверов Nucleo
				2.3.6.1. Linux – Обновление микропрограммного обеспечения ST-LINK
			2.3.7. Linux – Установка OpenOCD
			2.3.8. Linux – Установка инструментов ST
		2.4. Mac – Установка инструментария
			2.4.1. Mac – Установка Eclipse
			2.4.2. Mac – Установка плагинов Eclipse
			2.4.3. Mac – Установка GCC ARM Embedded
			2.4.4. Mac – Установка драйверов Nucleo
				2.4.4.1. Mac – Обновление микропрограммного обеспечения ST-LINK
			2.4.5. Mac – Установка OpenOCD
			2.4.6. Mac – Установка инструментов ST
	3. Hello, Nucleo!
		3.1. Прикоснитесь к Eclipse IDE
		3.2. Создание проекта
		3.3. Подключение Nucleo к ПК
		3.4. Перепрограммирование Nucleo с использованием STM32CubeProgrammer
		3.5. Изучение сгенерированного кода
	4. Инструмент STM32CubeMX
		4.1. Введение в инструмент CubeMX
			4.1.1. Представление Pinout
				4.1.1.1. Представление Chip
				4.1.1.2. IP tree pane
			4.1.2. Представление Clock Configuration
			4.1.3. Представление Configuration
			4.1.4. Представление Power Consumption Calculator
		4.2. Генерация проекта
			4.2.1. Генерация проекта Си при помощи CubeMX
				4.2.1.1. Изучение сгенерированного кода
			4.2.2. Создание проекта Eclipse
			4.2.3. Ручное импортирование сгенерированных файлов в проект Eclipse
			4.2.4. Автоматический импорт файлов, созданных с помощью CubeMX, в проект Eclipse
		4.3. Изучение сгенерированного кода приложения
			4.3.1. Добавим что-нибудь полезное в микропрограмму
		4.4. Загрузка исходного кода примеров книги
	5. Введение в отладку
		5.1. Начало работы с OpenOCD
			5.1.1. Запуск OpenOCD
				5.1.1.1. Запуск OpenOCD на Windows
				5.1.1.2. Запуск OpenOCD на Linux и на MacOS X
			5.1.2. Подключение к OpenOCD Telnet Console
			5.1.3. Настройка Eclipse
			5.1.4. Отладка в Eclipse
		5.2. Полухостинг ARM
			5.2.1. Включение полухостинга в новом проекте
				5.2.1.1. Использование полухостинга со Стандартной библиотекой Си
			5.2.2. Включение полуохостинга в существующем проекте
			5.2.3. Недостатки полухостинга
			5.2.4. Как работает полухостинг
II Погружение в HAL
	6. Управление GPIO
		6.1. Отображение периферийных устройств STM32 и дескрипторы HAL
		6.2. Конфигурация GPIO
			6.2.1. Режимы работы GPIO
			6.2.2. Режим альтернативной функции GPIO
			6.2.3. Понятие скорости GPIO
		6.3. Управление GPIO
		6.4. Деинициализация GPIO
	7. Обработка прерываний
		7.1. Контроллер NVIC
			7.1.1. Таблица векторов в STM32
		7.2. Разрешение прерываний
			7.2.1. Линии запроса внешних прерываний и контроллер NVIC
			7.2.2. Разрешение прерываний в CubeMX
		7.3. Жизненный цикл прерываний
		7.4. Уровни приоритета прерываний
			7.4.1. Cortex-M0/0+
			7.4.2. Cortex-M3/4/7
			7.4.3. Установка уровня прерываний в CubeMX
		7.5. Реентерабельность прерываний
		7.6. Разовое маскирование всех прерываний или на приоритетной основе
	8. Универсальные асинхронные последовательные средства связи
		8.1. Введение в UART и USART
		8.2. Инициализация UART
			8.2.1. Конфигурация UART с использованием CubeMX
		8.3. UART-связь в режиме опроса
			8.3.1. Установка консоли последовательного порта в Windows
			8.3.2. Установка консоли последовательного порта в Linux и MacOS X
		8.4. UART-связь в режиме прерываний
			8.4.1. Прерывания, относящиеся к UART
		8.5. Обработка ошибок
		8.6. Перенаправление ввода-вывода
	9. Управление DMA
		9.1. Введение в DMA
			9.1.1. Необходимость DMA и роль внутренних шин
			9.1.2. Контроллер DMA
				9.1.2.1. Реализация DMA в микроконтроллерах F0/F1/F3/L1
				9.1.2.2. Реализация DMA в микроконтроллерах F2/F4/F7
				9.1.2.3. Реализация DMA в микроконтроллерах L0/L4
		9.2. Модуль HAL_DMA
			9.2.1. DMA_HandleTypeDef в HAL для F0/F1/F3/L0/L1/L4
			9.2.2. DMA_HandleTypeDef в HAL для F2/F4/F7
			9.2.3. DMA_HandleTypeDef в HAL для L0/L4
			9.2.4. Как выполнять передачи в режиме опроса
			9.2.5. Как выполнять передачи в режиме прерываний
			9.2.6. Как выполнять передачи типа периферия-в-периферию
			9.2.7. Использование модуля HAL_UART для передачи в режиме DMA
			9.2.8. Разнообразные функции модулей HAL_DMA и HAL_DMA_Ex
		9.3. Использование CubeMX для конфигурации запросов к DMA
		9.4. Правильное выделение памяти буферам DMA
		9.5. Пример из практики: анализ производительности передачи типа память-в-память модулем DMA
	10. Схема тактирования
		10.1. Распределение тактового сигнала
			10.1.1. Обзор схемы тактирования STM32
				10.1.1.1. Многочастотный внутренний RC-генератор в семействах STM32L
			10.1.2. Конфигурирование схемы тактирования с помощью CubeMX
			10.1.3. Варианты источников тактового сигнала в платах Nucleo
				10.1.3.1. Подача тактового сигнала от высокочастотного генератора
				10.1.3.2. Подача тактового сигнала от 32кГц генератора
		10.2. Обзор модуля HAL_RCC
			10.2.1. Вычисление тактовой частоты во время выполнения
			10.2.2. Разрешение Выхода синхронизации
			10.2.3. Разрешение Системы защиты тактирования
		10.3. Калибровка HSI-генератора
	11. Таймеры
		11.1. Введение в таймеры
			11.1.1. Категории таймеров в микроконтроллере STM32
			11.1.2. Доступность таймеров в ассортименте STM32
		11.2. Базовые таймеры
			11.2.1. Использование таймеров в режиме прерываний
				11.2.1.1. Генерация временного отсчета в таймерах расширенного управления
			11.2.2. Использование таймеров в режиме опроса
			11.2.3. Использование таймеров в режиме DMA
			11.2.4. Остановка таймера
			11.2.5. Использование CubeMX для конфигурации базового таймера
		11.3. Таймеры общего назначения
			11.3.1. Генератор временного отсчета с внешними источниками тактового сигнала
				11.3.1.1. Режим внешнего тактирования 2
				11.3.1.2. Режим внешнего тактирования 1
				11.3.1.3. Использование CubeMX для конфигурации источника тактового сигнала таймера общего назначения
			11.3.2. Режимы синхронизации ведущего/ведомого таймеров
				11.3.2.1. Разрешение прерываний, относящихся к триггерной цепи
				11.3.2.2. Использование CubeMX для конфигурации синхронизации ведущего/ведомого устройств
			11.3.3. Программная генерация связанных с таймером событий
			11.3.4. Режимы отсчета
			11.3.5. Режим захвата входного сигнала
				11.3.5.1. Использование CubeMX для конфигурации режима захвата входного сигнала
			11.3.6. Режим сравнения выходного сигнала
				11.3.6.1. Использование CubeMX для конфигурации режима сравнения выходного сигнала
			11.3.7. Генерация широтно-импульсного сигнала
				11.3.7.1. Генерация синусоидального сигнала при помощи ШИМ
				11.3.7.2. Использование CubeMX для конфигурации режима ШИМ
			11.3.8. Одноимпульсный режим
				11.3.8.1. Использование CubeMX для конфигурации одноимпульсного режима
			11.3.9. Режим энкодера
				11.3.9.1. Использование CubeMX для конфигурации режима энкодера
			11.3.10. Другие функции, доступные в таймерах общего назначения и расширенного управления
				11.3.10.1. Режим датчика Холла
				11.3.10.2. Комбинированный режим трехфазной ШИМ и другие функции управления двигателем
				11.3.10.3. Вход сброса таймера и блокировка регистров таймера
				11.3.10.4. Предварительная загрузка регистра автоперезагрузки
			11.3.11. Отладка и таймеры
		11.4. Системный таймер SysTick
			11.4.1. Использование другого таймера в качестве источника системного временного отсчета
		11.5. Пример из практики: как точно измерить микросекунды с помощью микроконтроллеров STM32
	12. Аналого-цифровое преобразование
		12.1. Введение в АЦП последовательного приближения
		12.2. Модуль HAL_ADC
			12.2.1. Режимы преобразования
				12.2.1.1. Режим однократного преобразования одного канала
				12.2.1.2. Режим сканирования с однократным преобразованием
				12.2.1.3. Режим непрерывного преобразования одного канала
				12.2.1.4. Режим сканирования с непрерывным преобразованием
				12.2.1.5. Режим преобразования инжектированных каналов
				12.2.1.6. Парный режим
			12.2.2. Выбор канала
			12.2.3. Разрядность АЦП и скорость преобразования
			12.2.4. Аналого-цифровые преобразования в режиме опроса
			12.2.5. Аналого-цифровые преобразования в режиме прерываний
			12.2.6. Аналого-цифровые преобразования в режиме DMA
				12.2.6.1. Многократное преобразование одного канала в режиме DMA
				12.2.6.2. Многократные и не непрерывные преобразования в режиме DMA
				12.2.6.3. Непрерывные преобразования в режиме DMA
			12.2.7. Обработка ошибок
			12.2.8. Преобразования, управляемые таймером
			12.2.9. Преобразования, управляемые внешними событиями
			12.2.10. Калибровка АЦП
		12.3. Использование CubeMX для конфигурации АЦП
	13. Цифро-аналоговое преобразование
		13.1. Введение в периферийное устройство ЦАП
		13.2. Модуль HAL_DAC
			13.2.1. Управление ЦАП вручную
			13.2.2. Управление ЦАП в режиме DMA с использованием таймера
			13.2.3. Генерация треугольного сигнала
			13.2.4. Генерация шумового сигнала
	14. I2C
		14.1. Введение в спецификацию I²C
			14.1.1. Протокол I²C
				14.1.1.1. START- и STOP-условия
				14.1.1.2. Формат байта
				14.1.1.3. Кадр адреса
				14.1.1.4. Биты «Подтверждено» (ACK) и «Не подтверждено» (NACK)
				14.1.1.5. Кадры данных
				14.1.1.6. Комбинированные транзакции
				14.1.1.7. Удержание синхросигнала
			14.1.2. Наличие периферийных устройств I²C в микроконтроллерах STM32
		14.2. Модуль HAL_I2C
			14.2.1. Использование периферийного устройства I²C в режиме ведущего
				14.2.1.1. Операции I/O MEM
				14.2.1.2. Комбинированные транзакции
				14.2.1.3. Замечание о конфигурации тактирования в семействах STM32F0/L0/L4
			14.2.2. Использование периферийного устройства I²C в режиме ведомого
		14.3. Использование CubeMX для конфигурации периферийного устройства I²C
	15. SPI
		15.1. Введение в спецификацию SPI
			15.1.1. Полярность и фаза тактового сигнала
			15.1.2. Управление сигналом Slave Select
			15.1.3. Режим TI периферийного устройства SPI
			15.1.4. Наличие периферийных устройств SPI в микроконтроллерах STM32
		15.2. Модуль HAL_SPI
			15.2.1. Обмен сообщениями с использованием периферийного устройства SPI
			15.2.2. Максимальная частота передачи, достижимая при использовании CubeHAL
		15.3. Использование CubeMX для конфигурации периферийного устройства SPI
	16. Циклический контроль избыточности
		16.1. Введение в расчет CRC
			16.1.1. Расчет CRC в микроконтроллерах STM32F1/F2/F4/L1
			16.1.2. Периферийное устройство CRC в микроконтроллерах STM32F0/F3/F7/L0/L4
		16.2. Модуль HAL_CRC
	17. Независимый и оконный сторожевые таймеры
		17.1. Независимый сторожевой таймер
			17.1.1. Использование CubeHAL для программирования таймера IWDG
		17.2. Системный оконный сторожевой таймер
			17.2.1. Использование CubeHAL для программирования таймера WWDG
		17.3. Отслеживание системного сброса, вызванного сторожевым таймером
		17.4. Заморозка сторожевых таймеров во время сеанса отладки
		17.5. Выбор сторожевого таймера, подходящего для вашего приложения
	18. Часы реального времени
		18.1. Введение в периферийное устройство RTC
		18.2. Модуль HAL_RTC
			18.2.1. Установка и получение текущей даты/времени
			18.2.1.1. Правильный способ чтения значений даты/времени
			18.2.2. Конфигурирование будильников
			18.2.3. Блок периодического пробуждения
			18.2.4. Генерация временной отметки и обнаружение несанкционированного доступа
			18.2.5. Калибровка RTC
				18.2.5.1. Грубая калибровка RTC
				18.2.5.2. Тонкая калибровка RTC
				18.2.5.3. Обнаружение опорного тактового сигнала
		18.3. Использование резервной SRAM
III Дополнительные темы
	19. Управление питанием
		19.1. Управление питанием в микроконтроллерах на базе Cortex-M
		19.2. Как микроконтроллеры Cortex-M управляют рабочим и спящим режимами
			19.2.1. Переход в/выход из спящих режимов
				19.2.1.1. «Спящий режим по выходу»
			19.2.2. Спящие режимы в микроконтроллерах на базе Cortex-M
		19.3. Управление питанием в микроконтроллерах STM32F
			19.3.1. Источники питания
			19.3.2. Режимы питания
				19.3.2.1. Рабочий режим
					19.3.2.1.1. Динамическое изменение напряжения в микроконтроллерах STM32F4/F7
					19.3.2.1.2. Режим высоко-/малоинтенсивной работы в микроконтроллерах STM32F4/F7
				19.3.2.2. Спящий режим
				19.3.2.3. Режим останова
				19.3.2.4. Режим ожидания
				19.3.2.5. Пример работы в режимах пониженного энергопотребления
			19.3.3. Важное предупреждение о микроконтроллерах STM32F1
		19.4. Управление питанием в микроконтроллерах STM32L
			19.4.1. Источники питания
			19.4.2. Режимы питания
				19.4.2.1. Рабочие режимы
				19.4.2.2. Спящие режимы
					19.4.2.2.1. Режим пакетного сбора данных
				19.4.2.3. Режимы останова
				19.4.2.4. Режимы ожидания
				19.4.2.5. Режим выключенного состояния
			19.4.3. Переходы между режимами питания
			19.4.4. Периферийные устройства с пониженным энергопотреблением
				19.4.4.1. LPUART
				19.4.4.2. LPTIM
		19.5. Инспекторы источников питания
		19.6. Отладка в режимах пониженного энергопотребления
		19.7. Использование калькулятора энергопотребления CubeMX
		19.8. Пример из практики: использование сторожевых таймеров в режимах пониженного энергопотребления
	20. Организация памяти
		20.1. Модель организации памяти в STM32
			20.1.1. Основы процессов компиляции и компоновки
		20.2. Действительно минимальное приложение STM32
			20.2.1. Исследование бинарного ELF-файла
			20.2.2. Инициализация секций .data и .bss
				20.2.2.1. Пара слов о секции COMMON
			20.2.3. Секция .rodata
			20.2.4. Области Стека и Кучи
			20.2.5. Проверка размера Кучи и Стека на этапе компиляции
			20.2.6. Различия с файлами скриптов инструментария
		20.3. Как использовать CCM-память
			20.3.1. Перемещение таблицы векторов в CCM-память
		20.4. Как использовать модуль MPU в микроконтроллерах STM32 на базе Cortex-M0+/3/4/7
			20.4.1. Программирование MPU с использованием CubeHAL
	21. Управление Flash-памятью
		21.1. Введение во Flash-память STM32
		21.2. Модуль HAL_FLASH
			21.2.1. Разблокировка Flash-памяти
			21.2.2. Стирание Flash-памяти
			21.2.3. Программирование Flash-памяти
			21.2.4. Доступ к чтению Flash-памяти во время программирования и стирания
		21.3. Байты конфигурации
			21.3.1. Защита от чтения Flash-памяти
		21.4. Дополнительные памяти OTP и EEPROM
		21.5. Задержка чтения Flash-памяти и ускоритель ART™ Accelerator
			21.5.1. Роль TCM-памятей в микроконтроллерах STM32F7
				21.5.1.1. Как обратиться к Flash-памяти через интерфейс TCM
				21.5.1.2. Использование CubeMX для конфигурации интерфейса  Flash-памяти
	22. Процесс начальной загрузки
		22.1. Единая система памяти Cortex-M и процесс начальной загрузки
			22.1.1. Программное физическое перераспределение памяти
			22.1.2. Перемещение таблицы векторов
			22.1.3. Запуск микропрограммы из SRAM с помощью инструментария GNU MCU Eclipse
		22.2. Встроенный загрузчик
			22.2.1. Запуск загрузчика из встроенного программного обеспечения
			22.2.2. Последовательность начальной загрузки в инструментарии GNU MCU Eclipse
		22.3. Разработка пользовательского загрузчика
			22.3.1. Перемещение таблицы векторов в микроконтроллерах STM32F0
			22.3.2. Как использовать инструмент flasher.py
	23. Запуск FreeRTOS
		23.1. Введение в концепции, лежащие в основе ОСРВ
		23.2. Введение во FreeRTOS и в оболочку  CMSIS-RTOS
			23.2.1. Структура файлов с исходным кодом FreeRTOS
				23.2.1.1. Как импортировать FreeRTOS вручную
				23.2.1.2. Как импортировать FreeRTOS с использованием CubeMX и CubeMXImporter
				23.2.1.3. Как разрешить поддержку FPU в ядрах Cortex-M4F и Cortex-M7
		23.3. Управление потоками
			23.3.1. Состояния потоков
			23.3.2. Приоритеты потоков и алгоритмы планирования
			23.3.3. Добровольное освобождение от управления
			23.3.4. Холостой поток idle
		23.4. Выделение памяти и управление ею
			23.4.1. Модель динамического выделения памяти
				23.4.1.1. heap_1.c
				23.4.1.2. heap_2.c
				23.4.1.3. heap_3.c
				23.4.1.4. heap_4.c
				23.4.1.5. heap_5.c
				23.4.1.6. Как использовать malloc() и связанные с ней функции Си с FreeRTOS
				23.4.1.7. Определение кучи FreeRTOS
			23.4.2. Модель статического выделения памяти
				23.4.2.1. Выделение памяти потоку idle при использовании модели статического выделения памяти
			23.4.3. Пулы памяти
			23.4.4. Обнаружение переполнения стека
		23.5. Примитивы синхронизации
			23.5.1. Очереди сообщений
			23.5.2. Cемафоры
			23.5.3. Сигналы потоков
		23.6. Управление ресурсами и взаимное исключение
			23.6.1. Мьютексы
				23.6.1.1. Проблема инверсии приоритетов
				23.6.1.2. Рекурсивные мьютексы
			23.6.2. Критические секции
			23.6.3. Обработка прерываний совместно с ОСРВ
				23.6.3.1. Приоритеты прерываний и API-функций FreeRTOS
		23.7. Программные таймеры
			23.7.1. Как FreeRTOS управляет таймерами
		23.8. Пример из практики: Управление энергосбережением с ОСРВ
			23.8.1. Перехват холостого потока idle
			23.8.2. Бестиковый режим во FreeRTOS
				23.8.2.1. Схема для бестикового режима
				23.8.2.2. Пользовательский алгоритм бестикового режима
		23.9. Возможности отладки
			23.9.1. Макрос configASSERT()
			23.9.2. Статистика среды выполнения и информация о состоянии потоков
		23.10. Альтернативы FreeRTOS
			23.10.1. ChibiOS
			23.10.2. ОС Contiki
			23.10.3. OpenRTOS
	24. Продвинутые методы отладки
		24.1. Введение в исключения отказов Cortex-M
			24.1.1. Последовательность перехода в исключения Cortex-M и Соглашение ARM о вызовах
				24.1.1.1. Как инструментарий GNU MCU Eclipse обрабатывает исключения отказов
				24.1.1.2. Как интерпретировать содержимое регистра LR при переходе в исключение
			24.1.2. Исключения отказов и их анализ
				24.1.2.1. Исключение Memory Management
				24.1.2.2. Исключение Bus Fault
				24.1.2.3. Исключение Usage Fault
				24.1.2.4. Исключение Hard Fault
				24.1.2.5. Разрешение дополнительных обработчиков отказов
				24.1.2.6. Анализ отказов в процессорах на базе Cortex-M0/0+
		24.2. Продвинутые возможности отладки в Eclipse
			24.2.1. Представление Expressions
			24.2.1.1. Мониторы памяти
			24.2.2. Точки наблюдения
			24.2.3. Режим Instruction Stepping Mode
			24.2.4. Keil Packs и представление Peripheral Registers
			24.2.5. Представление Core Registers
		24.3. Средства отладки от CubeHAL
		24.4. Внешние отладчики
			24.4.1. Использование SEGGER J-Link для отладчика ST-LINK
			24.4.2. Использование интерфейса ITM и трассировка SWV
		24.5. STM Studio
		24.6. Одновременная отладка двух плат Nucleo
	25. Файловая система FAT
		25.1. Введение в библиотеку FatFs
			25.1.1. Использование CubeMX для включения в ваши проекты библиотеки FatFs
				25.1.1.1. API-интерфейс Generic Disk Interface
				25.1.1.2. Реализация драйвера доступа к SD-картам по SPI
			25.1.2. Наиболее важные структуры и функции FatFs
				25.1.2.1. Монтирование файловой системы
				25.1.2.2. Открытие файлов
				25.1.2.3. Чтение и запись файла
				25.1.2.4. Создание и открытие каталога
			25.1.3. Как сконфигурировать библиотеку FatFs
	26. Разработка IoT-приложений
		26.1. Решения, предлагаемые ST для разработки IoT-приложений
		26.2. Ethernet контроллер W5500
			26.2.1. Как использовать шилд W5500 и модуль ioLibrary_Driver
				26.2.1.1. Конфигурирование интерфейса SPI
				26.2.1.2. Настройка буферов сокетов и сетевого интерфейса
			26.2.2. API-интерфейсы сокетов
				26.2.2.1. Управление сокетами в режиме TCP
				26.2.2.2. Управление сокетами в режиме UDP
			26.2.3. Перенаправление ввода-вывода на сокет TCP/IP
			26.2.4. Настройка HTTP-сервера
				26.2.4.1. Веб-осциллограф
	27. Начало работы над новым проектом
		27.1. Проектирование оборудования
			27.1.1. Послойная разводка печатной платы
			27.1.2. Корпус микроконтроллера
			27.1.3. Развязка выводов питания
			27.1.4. Тактирование
			27.1.5. Фильтрация вывода сброса RESET
			27.1.6. Отладочный порт
			27.1.7. Режим начальной загрузки
			27.1.8. Обратите внимание на совместимость с выводами…
			27.1.9. …и на выбор подходящей периферии
			27.1.10. Роль CubeMX на этапе проектирования платы
			27.1.11. Стратегии разводки платы
		27.2. Разработка программного обеспечения
		27.2.1. Генерация бинарного образа для производства
Приложение
	A. Прочие функции HAL и особенности STM32
		Принудительный сброс микроконтроллера из микропрограммы
		96-битный уникальный идентификатор ЦПУ STM32
	B. Руководство по поиску и устранению неисправностей
		Проблемы с установкой GNU MCU Eclipse
		Проблемы, связанные с Eclipse
			Eclipse не может найти компилятор
			Eclipse постоянно прерывается при выполнении каждой инструкции во время сеанса отладки
			Пошаговая отладка очень медленная
			Микропрограмма работает только в режиме отладки
		Проблемы, связанные с STM32
			Микроконтроллер не загружается корректно
			Невозможно загрузить микропрограмму или отладить микроконтроллер
	C. Схема выводов Nucleo
		Nucleo-F446RE
			Разъемы, совместимые с Arduino
			Morpho-разъемы
		Nucleo-F411RE
			Разъемы, совместимые с Arduino
			Morpho-разъемы
		Nucleo-F410RB
			Разъемы, совместимые с Arduino
			Morpho-разъемы
		Nucleo-F401RE
			Разъемы, совместимые с Arduino
			Morpho-разъемы
		Nucleo-F334R8
			Разъемы, совместимые с Arduino
			Morpho-разъемы
		Nucleo-F303RE
			Разъемы, совместимые с Arduino
			Morpho-разъемы
		Nucleo-F302R8
			Разъемы, совместимые с Arduino
			Morpho-разъемы
		Nucleo-F103RB
			Разъемы, совместимые с Arduino
			Morpho-разъемы
		Nucleo-F091RC
			Разъемы, совместимые с Arduino
			Morpho-разъемы
		Nucleo-F072RB
			Разъемы, совместимые с Arduino
			Morpho-разъемы
		Nucleo-F070RB
			Разъемы, совместимые с Arduino
			Morpho-разъемы
		Nucleo-F030R8
			Разъемы, совместимые с Arduino
			Morpho-разъемы
		Nucleo-L476RG
			Разъемы, совместимые с Arduino
			Morpho-разъемы
		Nucleo-L152RE
			Разъемы, совместимые с Arduino
			Morpho-разъемы
		Nucleo-L073R8
			Разъемы, совместимые с Arduino
			Morpho-разъемы
		Nucleo-L053R8
			Разъемы, совместимые с Arduino
			Morpho-разъемы
	D. Корпусы STM32
		LFBGA
		LQFP
		TFBGA
		TSSOP
		UFQFPN
		UFBGA
		VFQFP
		WLCSP
	E. Изменения книги
		Выпуск 0.1 – Октябрь 2015
		Выпуск 0.2 – 28 октября 2015
			Выпуск 0.2.1 – 31 октября 2015
			Выпуск 0.2.2 – 1 ноября 2015
		Выпуск 0.3 – 12 ноября 2015
		Выпуск 0.4 – 4 декабря 2015
		Выпуск 0.5 – 19 декабря 2015
		Выпуск 0.6 – 18 января 2016
			Выпуск 0.6.1 – 20 января 2016
			Выпуск 0.6.2 – 30 января 2016
		Выпуск 0.7 – 8 февраля 2016
		Выпуск 0.8 – 18 февраля 2016
			Выпуск 0.8.1 – 23 февраля 2016
		Выпуск 0.9 – 27 марта 2016
			Выпуск 0.9.1 – 28 марта 2016
		Выпуск 0.10 – 26 апреля 2016
		Выпуск 0.11 – 27 мая 2016
			Выпуск 0.11.1 – 3 июня 2016
			Выпуск 0.11.2 – 24 июня 2016
		Выпуск 0.12 – 4 июля 2016
		Выпуск 0.13 – 18 июля 2016
		Выпуск 0.14 – 12 августа 2016
		Выпуск 0.15 – 13 сентября 2016
		Выпуск 0.16 – 3 октября 2016
		Выпуск 0.17 – 24 октября 2016
		Выпуск 0.18 – 15 ноября 2016
		Выпуск 0.19 – 29 ноября 2016
		Выпуск 0.20 – 28 декабря 2016
		Выпуск 0.21 – 29 января 2017
		Выпуск 0.22 – 2 мая 2017
		Выпуск 0.23 – 20 июля 2017
		Выпуск 0.24 – 11 декабря 2017
		Выпуск 0.25 – 3 января 2018
		Выпуск 0.26 – 7 мая 2018




نظرات کاربران