Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Руководство по микропрограммному обеспечению

Покупка
Артикул: 651165.02.99
К покупке доступен более свежий выпуск Перейти
Книга адресована разработчикам микрокода, пишущим те самые программы, на которых работают технологии XXI века. Она заполняет важнейший пробел в литературе по встраиваемому ПО. Существует настоятельная потребность в сборнике идей и концепций, справочнике, настольной книге инженеров, куда они заглядывали бы, чтобы найти решение своих задач и освежить в памяти забытый материал. В книге описываются инструментальные средства и методы улучшения качества программного кода, эволюционная разработка ПО, встраиваемые конечные автоматы, системы реального времени, обработка и управление ошибками. Примеры сопровождаются многочисленные листингами на языках С и С++. Издание предназначено инженерам и программистам, использующих встраиваемое ПО в своей работе, а также будет полезно студентам вузов и всем читателям, интересующимся микропрограммным обеспечением
Руководство по микропрограммному обеспечению / под ред. Дж. Ганссла ; пер. с англ. А. О. Семенкович. - Москва : ДМК Пресс, 2016. - 400 с. - ISBN 978-5-97060-173-0. - Текст : электронный. - URL: https://znanium.com/catalog/product/1032262 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Руководство по микропрограммному обеспечению

Интернет-магазин:
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 0­7506­7606­X (анг.)
Copyright © Elsevier Inc.

ISBN 978­5­97060­173­0 (рус.)
© Издание, оформление, перевод, ДМК Пресс, 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
История документа DO­178B ....................................................................................... 141
Обзор стандарта DO­178B ............................................................................................. 142

СОДЕРЖАНИЕ
8

Классификация неисправных состояний ................................................................. 143
Анализ архитектуры системы ....................................................................................... 144
Разбиение на разделы ............................................................................................... 144
Несколько версий разнородного ПО .................................................................. 145
Мониторинг безопасности ...................................................................................... 145
Документация по архитектуре системы .................................................................... 146
Жизненный цикл программного обеспечения согласно стандарту  
DO­178B ............................................................................................................................... 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

К покупке доступен более свежий выпуск Перейти