Руководство по микропрограммному обеспечению
Покупка
Тематика:
Прикладное программное обеспечение
Издательство:
ДМК Пресс
Под ред.:
Ганссл Джек
Перевод:
Семенкович А. О.
Год издания: 2016
Кол-во страниц: 408
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-97060-173-0
Артикул: 651165.02.99
К покупке доступен более свежий выпуск
Перейти
Книга адресована разработчикам микрокода, пишущим те самые программы, на которых работают технологии XXI века. Она заполняет важнейший пробел в литературе по встраиваемому ПО. Существует настоятельная потребность в сборнике идей и концепций, справочнике, настольной книге инженеров, куда они заглядывали бы, чтобы найти решение своих задач и освежить в памяти забытый материал. В книге описываются инструментальные средства и методы улучшения качества программного кода, эволюционная разработка ПО, встраиваемые конечные автоматы, системы реального времени, обработка и управление ошибками. Примеры сопровождаются многочисленные листингами на языках С и С++. Издание предназначено инженерам и программистам, использующих встраиваемое ПО в своей работе, а также будет полезно студентам вузов и всем читателям, интересующимся микропрограммным обеспечением
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Руководство по микропрограммному обеспечению Интернет-магазин: www.dmkpress.com Книга - почтой: orders@alians-kniga.ru Оптовая продажа: “Альянс-книга” Тел.: (499)782-3889 books@alians-kniga.ru www.дмк.рф Книга адресована разработчикам микрокода, пишущим те самые программы, на которых работают технологии XXI века. Она заполняет важнейший пробел в литературе по встраиваемому программному обеспечению. Существует настоятельная потребность в сборнике идей и концепций, справочнике, настольной книге инженеров, куда они заглядывали бы, чтобы найти решение своих задач и освежить в памяти забытый материал. Главной темой этой книги является микрокод, однако суровая реальность мира встраиваемого ПО такова, что код и аппаратура взаимозависимы. Они не могут существовать в изоляции; ни в одной другой области программирования нет такой глубокой связи между реальным и виртуальным. Аналоговые инженеры постоянно твердят, что у них прекрасная профессия. Конечно, очень здорово ворочать операционными усилителями. Но бедняги не ведают, как это увлекательно – сделать так, чтобы все двигалось, огоньки мигали, газ тек. Это мы, разработчики встраиваемого ПО, управляем работой моторов, перекачиваем кровь, приводим в действие автомобильные тормоза, и выдвигаем компакт-диски из дисководов. Что может сравниться по притягательности с этой размытой границей между микрокодом и реальным миром? В книге описываются инструментальные средства и методы улучшения качества программного кода, эволюционная разработка ПО, встраиваемые конечные автоматы, системы реального времени, обработка и управление ошибками. Примеры сопровождаются многочисленными листингами на языках С и С++. Издание предназначено инженерам и программистам, использующих встраиваемое ПО в своей работе, а также будет полезно студентам вузов и всем читателям, интересующимся микропрограммным обеспечением. На сайте издательства www.dmkpress.com выложены исходные коды всех примеров программ из книги. Руководство по микропрограммному обеспечению Джек Ганссл 9 785970 601730 ISBN 978-5-97060-173-0
Руководство по микропрограммному обеспечению Под редакцией Джека Ганссла
The Filmware Handbook Edited by Jack Ganssle AMSTERDAM • BOSTON • HEIDELBERG • LONDON • NEW YORK • OXFORD • PARIS SAN DIEGO • SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYO Newnes is an imprint of Elsevier
Руководство по микропрограммному обеспечению Под редакцией Джека Ганссла Москва, 2016
УДК 004.41 ББК 32.972.1 Г19 Г19 Руководство по микропрограммному обеспечению / под ред. Дж. Ганссла; пер. с англ. А. О. Семенкович. – М.: ДМК Пресс, 2016. – 400 с. ISBN 978-5-97060-173-0 Книга адресована разработчикам микрокода, пишущим те самые программы, на которых работают технологии XXI века. Она заполняет важнейший пробел в литературе по встраиваемому ПО. Существует настоятельная потребность в сборнике идей и концепций, справочнике, настольной книге инженеров, куда они заглядывали бы, чтобы найти решение своих задач и освежить в памяти забытый материал. В книге описываются инструментальные средства и методы улучшения качества программного кода, эволюционная разработка ПО, встраиваемые конечные автоматы, системы реального времени, обработка и управление ошибками. Примеры сопровождаются многочисленные листингами на языках С и С++. Издание предназначено инженерам и программистам, использующих встраиваемое ПО в своей работе, а также будет полезно студентам вузов и всем читателям, интересующимся микропрограммным обеспечением УДК 004.41 ББК 32.972.1 This edition of The Firmware Handbook by Jack Ganssle is published by arrangement with Elsevier INC of 200 Wheeler Road, 6th Floor, Burlington, MA01803, USA. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 075067606X (анг.) Copyright © Elsevier Inc. ISBN 9785970601730 (рус.) © Издание, оформление, перевод, ДМК Пресс, 2016
Содержание Благодарности ...............................................................................................................14 Введение ..........................................................................................................................15 I Основы оборудования ..................................................................................16 Введение ..........................................................................................................................17 Глава 1. Основы электроники ..................................................................................19 Цепи постоянного тока .......................................................................................................19 Напряжение и сила тока .............................................................................................19 Резисторы ........................................................................................................................21 Электрические цепи .....................................................................................................24 Мощность.........................................................................................................................27 Цепи переменного тока ......................................................................................................28 Конденсаторы .................................................................................................................29 Индуктивности ..............................................................................................................34 Активные компоненты ........................................................................................................35 Собираем все элементы вместе – источник питания ...............................................39 Осциллограф ..........................................................................................................................43 Средства управления ...................................................................................................43 Зонды.................................................................................................................................46 Глава 2. Логические цепи ..........................................................................................49 Кодирование чисел ..............................................................................................................49 Двоичнодесятичное представление ......................................................................52 Комбинаторная логика .......................................................................................................52 Логический элемент НЕ .............................................................................................53 Логические элементы И и НЕИ .............................................................................53 Логические элементы ИЛИ и НЕИЛИ ...............................................................55 Исключающее ИЛИ .....................................................................................................55 Схемы ................................................................................................................................56 Устройства с тремя состояниями .............................................................................59 Последовательностная логика .........................................................................................59 Логическое резюме ...............................................................................................................64 Глава 3. Советы по разработке аппаратных средств .....................................65 Диагностика ............................................................................................................................65 Средства подключения .......................................................................................................66 Другие рекомендации .........................................................................................................67 Резюме ......................................................................................................................................69
СОДЕРЖАНИЕ 6 II Проектирование ..............................................................................................70 Введение ..........................................................................................................................71 Глава 4. Инструментальные средства и методы улучшения качества программного кода ...................................................................................73 Введение ..................................................................................................................................73 Традиционный цикл последовательной разработки встраиваемой системы ...................................................................................................................................73 Типичные проблемы современного рынка встраиваемых систем .......................74 Общие методы повышения качества кода и сокращения сроков выхода на рынок ....................................................................................................................75 Фиксируйте спецификацию и работайте параллельно ...................................75 Создавайте контрольные отметки ...........................................................................75 Используйте доступные ресурсы ............................................................................75 Непрерывно обучайте своих сотрудников ...........................................................76 Основные факторы, влияющие на продолжительность цикла разработки ...............................................................................................................................76 Какой этап длится дольше других? ................................................................................77 Как снизить время разработки ПО и повысить качество кода .............................77 Пишите код в соответствии с внутренним руководством по оформлению ПО .....................................................................................................77 Выполняйте проверку кода .......................................................................................79 Выбирайте подходящие инструментальные средства разработки ..............79 Повторное использование вместо повторного изобретения ..........................82 Как сократить сроки проектирования аппаратной части системы .....................83 Используйте как можно больше готовой продукции .......................................83 Тщательно подбирайте микроконтроллер ...........................................................83 Пример микроконтроллеров, сокращающих сроки выхода на рынок, – микроконтроллеры Philips .................................................................84 Резюме и перспективы ........................................................................................................84 Глава 5. Советы по улучшению функций ............................................................86 Минимизируйте функциональные возможности .....................................................86 Инкапсулируйте ...................................................................................................................87 Избавляйтесь от избыточности .......................................................................................88 Сокращайте код реального времени ..............................................................................88 Ход программы должен быть грациозным ..................................................................89 Беспощадно улучшайте программы ...............................................................................89 Применяйте стандарты и экспертизу ............................................................................90 Тщательно комментируйте программу .........................................................................91 Резюме ......................................................................................................................................93 Глава 6. Эволюционная разработка ......................................................................95 Введение ..................................................................................................................................95 1. История ...............................................................................................................................96
СОДЕРЖАНИЕ 7 2. Проблемы, решаемые методом Эво ...........................................................................97 A. Парадоксы требований ..........................................................................................97 B. Очень короткие циклы ...........................................................................................98 C. Быстрая и частая обратная связь .................................................................... 100 D. Фиксация сроков .................................................................................................. 101 E. Оценка, планирование и контроль .................................................................. 103 F. Разница между напряженной работой и выполнением заказа .............. 104 G. Обязательства ........................................................................................................ 106 H. Риски ........................................................................................................................ 107 I. Производственные совещания .......................................................................... 107 J. Волшебные слова ................................................................................................... 108 3. Как мы используем метод Эво в работе над проектом ..................................... 109 A. День Эво ................................................................................................................... 109 B. Последний день цикла ........................................................................................ 110 C. Производственное совещание .......................................................................... 111 4. Памятки ........................................................................................................................... 112 А. Критерии назначения приоритетов заданиям ............................................ 112 В. Критерии назначения приоритетных сроков завершения промежуточных этапов ............................................................................................ 112 С. Критерии завершения задания ........................................................................ 113 5. Использование метода Эво в новых проектах .................................................... 114 6. Тестирование в методе Эво ........................................................................................ 116 7. Запросы об изменениях и отчеты о проблемах .................................................. 117 8. Инструментальные средства ..................................................................................... 117 9. Выводы .............................................................................................................................. 119 Благодарности .................................................................................................................... 121 Ссылки .................................................................................................................................. 121 Глава 7. Реализация встраиваемого конечного автомата ..........................123 Конечные автоматы .......................................................................................................... 123 Пример .................................................................................................................................. 124 Реализация ........................................................................................................................... 127 Тестирование ....................................................................................................................... 130 Запуск системы .................................................................................................................. 131 Ссылки .................................................................................................................................. 131 Глава 8. Иерархические конечные автоматы ..................................................132 Пример традиционного конечного автомата ........................................................... 133 Пример иерархического конечного автомата .......................................................... 135 Глава 9. Разработка приложений, критически важных для обеспечения безопасности .............................................................................140 Введение ............................................................................................................................... 140 Надежность и безопасность ........................................................................................... 141 История документа DO178B ....................................................................................... 141 Обзор стандарта DO178B ............................................................................................. 142
СОДЕРЖАНИЕ 8 Классификация неисправных состояний ................................................................. 143 Анализ архитектуры системы ....................................................................................... 144 Разбиение на разделы ............................................................................................... 144 Несколько версий разнородного ПО .................................................................. 145 Мониторинг безопасности ...................................................................................... 145 Документация по архитектуре системы .................................................................... 146 Жизненный цикл программного обеспечения согласно стандарту DO178B ............................................................................................................................... 146 Планирование.............................................................................................................. 146 Разработка .................................................................................................................... 147 Процесс разработки ................................................................................................... 147 Виды деятельности при разработке ПО ............................................................ 148 Верификация требований к ПО ............................................................................ 148 Верификация проектирования ПО ..................................................................... 149 Верификация программного кода ........................................................................ 149 Верификация процесса интеграции .................................................................... 149 Верификация процесса верификации ................................................................ 149 Управление конфигурацией ................................................................................... 150 Обеспечение качества ПО (SQA) ......................................................................... 151 Технология объектноориентированного программирования и проблемы приложений, критически важных для обеспечения безопасности ........................................................................................................................ 151 Итеративный процесс ...................................................................................................... 152 Проблемы сертификации объектноориентированных приложений ............. 152 Автоматическая генерация кода ........................................................................... 153 Автоматическая генерация тестов ....................................................................... 155 Возможность оперативного контроля ................................................................ 155 Управление конфигурацией ................................................................................... 155 Структурный охват ................................................................................................... 156 Невыполняемые/деактивированные участки программы .......................... 156 Наследование и множественное наследование ............................................... 156 Резюме ................................................................................................................................... 157 Ссылки .................................................................................................................................. 157 Глава 10. Установка и использование системы контроля версий ...........158 Введение ............................................................................................................................... 158 Мощь и элегантность простоты .................................................................................... 159 Контроль версий ................................................................................................................ 160 Типичные признаки отказа от использования (неполного использования) системы контроля версий .............................................................. 160 Простые системы контроля версий ............................................................................. 161 Усовершенствованные системы контроля версий ................................................. 161 Для каких файлов нужно использовать контроль версий .................................. 162 Совместная работа с файлами и клиенты системы контроля версий ............. 162 Нет локального клиента, нет общей файловой системы .............................. 163 Нет локального клиента, но есть общая файловая система ........................ 163
СОДЕРЖАНИЕ 9 Есть локальный клиент, но нет общей файловой системы ......................... 163 Есть и локальный клиент, и общая файловая система ................................. 163 Проблемы интегрированной среды разработки ..................................................... 164 Проблемы графического интерфейса пользователя ............................................. 164 Спецификация SCC ......................................................................................................... 165 Интерфейс для веббраузера или клиентJavaсистем контроля версий ...... 165 Основные положения концепции контроля версий ...................................... 166 Советы ............................................................................................................................ 171 Отслеживание ошибок .................................................................................................... 174 Неконфигурационные средства управления ........................................................... 176 ПО для зеркального отображения информации ............................................. 176 Автоматизированное резервное копирование ................................................. 176 Веббраузер .................................................................................................................. 176 Группы новостей в Интернете ............................................................................... 177 Заключительные комментарии .................................................................................... 177 Рекомендованная литература, ссылки и ресурсы .................................................. 178 III Математика .....................................................................................................180 Введение ........................................................................................................................181 Глава 11. Введение в машинные вычисления ..................................................182 Введение ............................................................................................................................... 182 Целочисленная арифметика .......................................................................................... 182 Деление и отрицательные числа .................................................................................. 182 Целые типы и их размер .......................................................................................... 185 Переполнение или исчезновение значащих разрядов .......................................... 186 Математические операции с плавающей запятой .................................................. 189 Неожиданный результат .......................................................................................... 189 Форматы с плавающей запятой ............................................................................ 190 Погрешности округления ........................................................................................ 192 Ошибки при умножении и делении .................................................................... 194 Ошибки при сложении и вычитании .................................................................. 195 Обработка ошибок при вычислениях с плавающей запятой ...................... 197 Использование эквивалентных выражений для устранения катастрофической потери точности .................................................................... 199 Арифметические операции с фиксированной запятой ........................................ 201 Область применимости ............................................................................................ 201 Представление чисел с фиксированной запятой и операции над ними ........................................................................................................................ 202 Обработка ошибок при выполнении операций с фиксированной запятой ........................................................................................................................... 203 Заключение .......................................................................................................................... 204 Библиография..................................................................................................................... 204
К покупке доступен более свежий выпуск
Перейти