Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 639176)
Контекстум
Руконтекст антиплагиат

Программирование встроенных систем на C++17 (4000,00 руб.)

0   0
Первый авторПош
ИздательствоМ.: ДМК Пресс
Страниц396
ID795205
АннотацияИз этой книги вы узнаете, как создавать автономные и сетевые встроенные системы, обеспечивать их безопасность и рациональное использование памяти. Язык программирования C++ расширяет возможности сопровождения и обладает многочисленными преимуществами по сравнению с другими языками программирования, поэтому прекрасно подходит для такой разработки. В книге описывается методика создания удобных графических интерфейсов пользователя (GUI) для встроенных систем, а также методы интеграции проверенных стратегий в конкретные проекты для достижения оптимальной производительности аппаратуры. Рассмотрены разнообразные аппаратные платформы — у вас есть возможность выбрать наилучший вариант для своего проекта. Издание будет полезно архитекторам встроенных систем и опытным разработчикам на C++.
ISBN978-5-97060-785-5
УДК4.4
ББК32.973.202
Пош, М. Программирование встроенных систем на C++17 / М. Пош .— Москва : ДМК Пресс, 2020 .— 396 с. — ISBN 978-5-97060-785-5 .— URL: https://rucont.ru/efd/795205 (дата обращения: 19.06.2024)

Предпросмотр (выдержки из произведения)

Программирование_встроенных_систем_на_C++17.pdf
Стр.5
Стр.6
Стр.7
Стр.8
Стр.9
Стр.10
Программирование_встроенных_систем_на_C++17.pdf
УДК 004.4 ББК 32.973.202 П66 П66 Программирование встроенных систем на C++17 / пер. с анг. А. В. Снастина. – М.: ДМК Пресс, 2020. – 394 с.: ил. Пош М. ISBN 978-5-97060-785-5 Из этой книги вы узнаете, как создавать автономные и сетевые встроенные системы, обеспечивать их безопасность и рациональное использование памяти. Язык программирования C++ расширяет возможности сопровождения и обладает многочисленными преимуществами по сравнению с другими языками программирования, поэтому прекрасно подходит для такой разработки. В книге описывается методика создания удобных графических интерфейсов пользователя (GUI) для встроенных систем, а также методы интеграции проверенных стратегий в конкретные проекты для достижения оптимальной производительности аппаратуры. Рассмотрены разнообразные аппаратные платформы – у вас есть возможность выбрать наилучший вариант для своего проекта. Издание будет полезно архитекторам встроенных систем и опытным разработчикам на С++. УДК 004.4 ББК 32.973.202 Original English language edition published by Packt Publishing Ltd., UK. Copyright © 2019 Packt Publishing. Russian-language edition copyright © 2020 by DMK Press. All rights reserved. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978-1-78862-930-0 (анг.) ISBN 978-5-97060-785-5 (рус.) Copyright © 2019 Packt Publishing © Оформление, издание, перевод, ДМК Пресс, 2020
Стр.5
Содержание Об авторе ................................................................................................................10 О рецензентах ......................................................................................................11 Предисловие .........................................................................................................12 Часть I. ОСНОВЫ ПРОГРАММИРОВАНИЯ ВСТРОЕННЫХ СИСТЕМ И РОЛЬ C++ ......................................................................................17 Глава 1. Что такое встроенные системы ....................................................18 Разнообразие встраиваемых систем ........................................................................18 Микроконтроллеры ...................................................................................................20 TMS 1000 .................................................................................................................20 Intel MCS-48 ...........................................................................................................22 Intel MCS-51 ...........................................................................................................24 PIC ...........................................................................................................................27 AVR ..........................................................................................................................33 M68k и микроконтроллеры на основе Z80 ...........................................................38 ARM Cortex-M .........................................................................................................38 H8 (SuperH) .............................................................................................................39 ESP8266/ESP32 .......................................................................................................39 Другие микроконтроллеры ...................................................................................41 Особенности...........................................................................................................42 Одноплатный компьютер, или система на кристалле ............................................42 Особенности...........................................................................................................43 Резюме ........................................................................................................................44 Глава 2. C++ как язык программирования встроенных систем .......45 Связь C++ с C ..............................................................................................................45 C++ как язык программирования встроенных систем ...........................................47 Функциональные возможности языка C++ ..............................................................50 Пространства имен ................................................................................................50 Строгая типизация ................................................................................................51 Преобразование типов ..........................................................................................52 Классы ....................................................................................................................52 Наследование .........................................................................................................55 Виртуальные базовые классы ...............................................................................56 Встроенные функции ............................................................................................57 Информация о типах во время выполнения .......................................................58 Обработка исключений .........................................................................................58
Стр.6
6  Содержание Шаблоны .................................................................................................................58 Стандартная библиотека шаблонов .........................................................................59 Удобство сопровождения ..........................................................................................59 Резюме ........................................................................................................................60 Глава 3. Разработка для встроенной ОС Linux и подобных систем .......................................................................................................................61 Встроенные операционные системы .......................................................................61 Операционные системы реального времени ..........................................................64 Специализированные периферийные устройства и драйверы .............................65 Добавление часов реального времени .................................................................65 Специализированные драйверы ..........................................................................67 Ограничение ресурсов ..............................................................................................68 Пример: мониторинг клубного зала ........................................................................69 Аппаратные устройства ........................................................................................69 Реализация .............................................................................................................77 Конфигурация сервиса ........................................................................................101 Права доступа ......................................................................................................102 Окончательные результаты ................................................................................102 Пример: простой медиа-плеер ...............................................................................103 Резюме ......................................................................................................................105 Глава 4. Встроенные системы с ограниченными ресурсами ...........106 Общий обзор применения малых систем ..............................................................106 Пример: устройство управления лазерным резаком ........................................108 Функциональная спецификация ........................................................................110 Проектные требования .......................................................................................111 Варианты выбора реализации ............................................................................112 Интегрированные среды разработки и рабочие среды для встроенных систем .......................................................................................................................118 Программирование микроконтроллеров ..............................................................119 Программирование памяти и отладка устройства ...........................................120 Загрузчик..............................................................................................................124 Управление памятью ...............................................................................................124 Стек и динамически распределяемая память ...................................................126 Прерывания, ESP8266 IRAM_ATTR......................................................................127 Параллельный режим выполнения ........................................................................129 Разработка для AVR с использованием Nodate ......................................................130 Вводная информация о Nodate ...........................................................................131 Пример: инструмент тестирования интегральной микросхемы CMOS ..........132 Практическое использование .............................................................................137 Разработка для ESP8266 с использованием Sming ................................................141 Разработка для микроконтроллеров ARM .............................................................142 Использование операционной системы реального времени ...............................142 Резюме ......................................................................................................................143
Стр.7
Содержание  7 Глава 5. Пример: монитор влажности почвы с использованием протокола Wi-Fi ...........................................................145 Уход за растениями .................................................................................................145 Предлагаемое решение ...........................................................................................147 Аппаратура ...............................................................................................................148 Специализированное программное обеспечение ................................................152 Настройка рабочей среды Sming ........................................................................152 Код модуля для растения (plant) .........................................................................154 Компиляция и запись в ПЗУ ...............................................................................182 Первоначальное конфигурирование .................................................................183 Использование системы .....................................................................................184 Дальнейшие действия .............................................................................................184 Сложности ................................................................................................................185 Резюме ......................................................................................................................185 Часть II. ТЕСТИРОВАНИЕ, МОНИТОРИНГ .........................................186 Глава 6. Тестирование приложений, предназначенных для конкретных ОС ..........................................................................................187 Почему следует избегать разработки на реальной аппаратуре ...........................187 Кросс-компиляция для одноплатных компьютеров .............................................189 Комплексный тест для сервиса управления состоянием клубного помещения ...............................................................................................................190 Имитация или реальная аппаратура ..................................................................198 Тестирование с использованием Valgrind ..............................................................200 Многоцелевая система сборки ...............................................................................201 Удаленное тестирование на реальной аппаратуре ...............................................210 Резюме ......................................................................................................................212 Глава 7. Тестирование платформ с ограниченными ресурсами .....213 Снижение степени износа оборудования ..............................................................213 Планирование проектного решения ......................................................................214 Системы сборки, независимые от платформы ......................................................215 Использование кросс-компиляторов .....................................................................216 Локальная отладка и отладка на микросхеме ........................................................216 Пример: комплексный тест ESP8266 ......................................................................217 Сервер ...................................................................................................................218 Узел .......................................................................................................................239 Сборка проекта ....................................................................................................265 Резюме ......................................................................................................................266 Глава 8. Пример: информационно-развлекательная система на основе ОС Linux ...........................................................................................268 Одно устройство выполняет все задачи .................................................................268 Необходимая аппаратура ........................................................................................269
Стр.8
8  Содержание Требования к программному обеспечению ..........................................................270 Bluetooth-источники и приемники аудио .............................................................271 Организация потока в режиме онлайн ..................................................................272 Управляемый голосом пользовательский интерфейс ..........................................273 Использование сценариев ......................................................................................273 Исходный код ...........................................................................................................274 Сборка проекта ........................................................................................................282 Расширение системы ..............................................................................................283 Резюме ......................................................................................................................284 Глава 9. Пример: мониторинг и управление внутренним микроклиматом в здании ..............................................................................285 Растения, помещения и прочее ..............................................................................285 История разработки ................................................................................................286 Функциональные модули ........................................................................................288 Исходный код специализированного ПО ..............................................................288 Ядро ......................................................................................................................288 Модули ..................................................................................................................289 Сервер управления и контроля ...............................................................................318 Инструментальное средство администрирования ...............................................329 Система кондиционирования воздуха ..................................................................329 База данных InfluxDB для записи показаний датчиков ........................................332 Вопросы обеспечения безопасности ......................................................................334 Дальнейшие разработки .........................................................................................335 Резюме ......................................................................................................................335 Часть III. ИНТЕГРАЦИЯ С ДРУГИМИ ИНСТРУМЕНТАЛЬНЫМИ СРЕДСТВАМИ И РАБОЧИМИ СРЕДАМИ ...........................................................................337 Глава 10. Разработка встроенных систем с использованием Qt ...338 Главное преимущество правильно выбранной рабочей среды ...........................338 Использование Qt для приложений с интерфейсом командной строки .............339 Приложения с использованием графического пользовательского интерфейса Qt ..........................................................................................................341 Qt для встроенных систем ......................................................................................344 Графические пользовательские интерфейсы с использованием таблиц стилей .......................................................................................................................345 QML ...........................................................................................................................345 3D Designer ...............................................................................................................345 Пример добавления графического пользовательского интерфейса в информационно-развлекательную систему .......................................................346 Основной файл исходного кода (main) ..............................................................347 QmlInterface .........................................................................................................347 Резюме ......................................................................................................................364
Стр.9
Содержание  9 Глава 11. Разработка для гибридных систем SoC/FPGA ...................365 Организация исключительно параллельного выполнения ..................................365 Языки описания аппаратуры ..................................................................................367 Архитектура ППВМ ..................................................................................................368 Гибридные микросхемы FPGA/SoC ........................................................................368 Пример: простой осциллограф ...............................................................................369 Аппаратура ...........................................................................................................370 Код VHDL ..............................................................................................................371 Код C++ .................................................................................................................376 Сборка проекта ........................................................................................................379 Резюме ......................................................................................................................379 Приложение А. Эффективные практические методики ....................380 Тщательно продуманные планы ............................................................................380 Работа с аппаратурой ..............................................................................................381 Огромный мир периферийных устройств .............................................................381 Изучайте свои инструментальные средства ..........................................................382 Выбор асинхронных методов .................................................................................382 Изучение спецификаций ........................................................................................383 Обеспечение краткости обработчиков прерываний .............................................383 8 бит означает 8 бит .................................................................................................383 Не следует заново изобретать колесо .....................................................................384 Подумайте, прежде чем начать оптимизацию ......................................................384 Требования – это основа, а не дополнение ............................................................384 Документация жизненно важна .............................................................................385 Тестирование кода означает попытку нарушить его выполнение ......................386 Резюме ......................................................................................................................386 Предметный указатель ...................................................................................387
Стр.10

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст