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

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

Покупка
Артикул: 651165.03.99
Доступ онлайн
590 ₽
В корзину
Книга адресована разработчикам микрокода, пишущим те самые программы, на которых работают технологии XXI века. Она заполняет важнейший пробел в литературе по встраиваемому ПО. Существует настоятельная потребность в сборнике идей и концепций, справочнике, настольной книге инженеров, куда они заглядывали бы, чтобы найти решение своих задач и освежить в памяти забытый материал. В книге описываются инструментальные средства и методы улучшения качества программного кода, эволюционная разработка ПО, встраиваемые конечные автоматы, системы реального времени, обработка и управление ошибками. Примеры сопровождаются многочисленные листингами на языках С и С++. Издание предназначено инженерам и программистам, использующих встраиваемое ПО в своей работе, а также будет полезно студентам вузов и всем читателям, интересующимся микропрограммным обеспечением.
Руководство по микропрограммному обеспечению : практическое руководство / под ред. Дж. Ганссла ; пер. с англ. А. О. Семенкович. - 2-е изд. - Москва : ДМК Пресс, 2023. - 401 с. - ISBN 978-5-89818-424-7. - Текст : электронный. - URL: https://znanium.com/catalog/product/2104727 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Руководство  
по микропрограммному обеспечению

Под редакцией  
Джека Ганссла

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

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

Под редакцией  
Джека Ганссла

Москва, 2023

2-е издание, электронное

УДК 004.41
ББК 32.972.1
Р85

Р85
Руководство по микропрограммному обеспечению / под ред. Дж. Ганссла ; пер. 
с англ. А. О. Семенкович. — 2-е изд., эл. — 1 файл pdf : 401 с. — Москва : ДМК Пресс, 
2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — 
Текст : электронный.

ISBN 978-5-89818-424-7

Книга адресована разработчикам микрокода, пишущим те самые программы, на которых работают технологии XXI века. Она заполняет важнейший пробел в литературе по встраиваемому 
ПО. Существует настоятельная потребность в сборнике идей и концепций, справочнике, настольной книге инженеров, куда они заглядывали бы, чтобы найти решение своих задач и освежить в 
памяти забытый материал. В книге описываются инструментальные средства и методы улучшения 
качества программного кода, эволюционная разработка ПО, встраиваемые конечные автоматы, 
системы реального времени, обработка и управление ошибками. Примеры сопровождаются многочисленные листингами на языках С и С++.
Издание предназначено инженерам и программистам, использующих встраиваемое ПО в своей работе, а также будет полезно студентам вузов и всем читателям, интересующимся микропрограммным обеспечением.

УДК 004.41 
ББК 32.972.1

Электронное издание на основе печатного издания: Руководство по микропрограммному обеспечению / под 
ред. Дж. Ганссла ; пер. с англ. А. О. Семенкович. — Москва : ДМК Пресс, 2016. — 408 с. — ISBN 978-5-97060173-0. — Текст : непосредственный.

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы 
то ни было средствами без  письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с 
этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги.

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских 
прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.

ISBN 978-5-89818-424-7
©  Издание, оформление, перевод, 
ДМК Пресс, 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

СОДЕРЖАНИЕ
10

Глава 12. Аппроксимации для вычислений с плавающей запятой .........205

Общие замечания о тригонометрических функциях ............................................ 206
Косинус и синус .......................................................................................................... 207
Более точное вычисление косинуса ............................................................................ 213
Тангенс ................................................................................................................................... 214
Более точное вычисление тангенса ............................................................................. 219
Арктангенс, арксинус и арккосинус ............................................................................ 220

Глава 13. Математические функции ...................................................................224

Код Грея ................................................................................................................................ 224
Умножение целого на константу .................................................................................. 224
Вычисление исключающего ИЛИ ............................................................................... 224
Извлечение квадратного корня в целых числах ..................................................... 225
Важнейшие математические функции ....................................................................... 225

Глава 14. Стандарт IEEE 754 для чисел с плавающей запятой .................226

Специальные значения .................................................................................................... 227

IV
 Системы реального времени ....................................................................229

Введение ........................................................................................................................230

Глава 15. Ядра реального времени ......................................................................231

Введение ............................................................................................................................... 231
Что такое ядро реального времени? ............................................................................ 231
Что такое задача? ............................................................................................................... 232
Тактовый интервал таймера ........................................................................................... 235
Планирование задач ......................................................................................................... 236
Переключение контекстов .............................................................................................. 238
Службы ядра ....................................................................................................................... 239
Службы ядра. Семафоры ......................................................................................... 239
Службы ядра. Очереди сообщений ...................................................................... 243
Службы ядра. Управление памятью .................................................................... 245
Нужно ли вам ядро? .................................................................................................. 245
Можете ли вы использовать ядро? ...................................................................... 246
Выбор ядра ................................................................................................................... 247
Заключение .......................................................................................................................... 250

Глава 16. Реентерабельность .................................................................................251

Атомарные переменные ................................................................................................... 251
Еще два правила ................................................................................................................. 253
Обеспечение реентерабельности кода ........................................................................ 254
Рекурсия ............................................................................................................................... 256

Доступ онлайн
590 ₽
В корзину