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

Микроконтроллеры ARM7. Семейство LPC2000 компании Philips. Вводный курс

Вводный курс
Покупка
Новинка
Артикул: 661886.03.99
К покупке доступен более свежий выпуск Перейти
Семейство микроконтроллеров LPC2000 компании Philips — первый представитель нового поколения микроконтроллеров, построенных на базе 16/32 битного RISC процессора ARM7 TDMI. Эта книга — введение в архитектуру процессора ARM7 TDMI и микроконтроллеров семейства LPC2000. Она основана на материалах однодневных семинаров, которые проводятся для профессиональных инженеров, заинтересованных в быстром изучении микроконтроллеров семейства LPC2000. В ней рассматриваются следующие вопросы: введение в процессор ARM7, средства разработки программного обеспечения, системная архитектура LPC2000, периферийные устройства LPC2000. Кроме того, в книгу включено полное учебное пособие, где на практических примерах закрепляются вопросы, изложенные в основном тексте. Изучая теоретический материал и выполняя сопутствующие упражнения, вы быстро освоите процессор ARM7 и микроконтроллеры семейства LPC2000. На сайте издательства www.dmkpress.com имеются ознакомительные версии популярной интегральной среды разработки μVISION и компилятора Си от компании Keil Elektronik, а также исходный код для всех упражнений как в версии для компилятора Keil, так и в версии для компилятора GCC. Кроме того там содержатся руководства пользователя по ядру ARM7, микроконтроллерам семейства LPC2000, различные спецификации и другие материалы. Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов и радиолюбителей.
Тревор, М. Микроконтроллеры ARM7. Семейство LPC2000 компании Philips. Вводный курс : практическое руководство / М. Тревор. - Москва : ДМК Пресс, 2017. - 240 с. - (Серия «Мировая электроника»). - ISBN 978-5-97060-444-1. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2155879 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
МИКРОКОНТРОЛЛЕРЫ  ARM7

Семейство LPC2000

компании Philips

Вводный курс

Trevor Martin

The Insider's Guide
To The Philips
ARM7BASED
MICROCONTROLLERS

An Engineer's Introduction
To The LPC 2000 Series

Тревор Мартин

МИКРОКОНТРОЛЛЕРЫ ARM7
Семейство LPC2000 
компании Philips

Вводный курс

Перевод с английского

Серия «МИРОВАЯ ЭЛЕКТРОНИКА»

Москва

 ДМ К   П
   р  есс, Додэка, 201 7 

УДК 621.316.544.1(035.5)
ББК 32.844.104я2
М29

Мартин Т.

Микроконтроллеры ARM7. Семейство LPC2000 компании Philips. 
Вводный курс / Пер. с англ. — М.: ДМК Пресс, 2017. — 240 с. : ил. — 
(Серия «Мировая электроника»).

ISBN 978 5970604441

Семейство микроконтроллеров LPC2000 компании Philips — первый представитель
нового поколения микроконтроллеров, построенных на базе 16/32битного RISCпроцессора ARM7 TDMI.
Эта книга — введение в архитектуру процессора ARM7 TDMI и микроконтроллеров
семейства LPC2000. Она основана на материалах однодневных семинаров, которые проводятся для профессиональных инженеров, заинтересованных в быстром изучении микроконтроллеров семейства LPC2000. В ней рассматриваются следующие вопросы: введение в процессор ARM7,  средства разработки программного обеспечения, системная архитектура LPC2000, периферийные устройства LPC2000. Кроме того, в книгу включено
полное учебное пособие, где на практических примерах закрепляются вопросы, изложенные в основном тексте. Изучая теоретический материал и выполняя сопутствующие
упражнения, вы быстро освоите процессор ARM7 и микроконтроллеры семейства
LPC2000.
На сайте издательства www.dmkpress.com  имеются ознакомительные версии популярной интегральной среды разработки μVISION и компилятора Си от компании Keil
Elektronik, а также исходный код для всех упражнений как в версии для компилятора
Keil, так и в версии для компилятора GCC. Кроме того там содержатся руководства пользователя по ядру ARM7, микроконтроллерам семейства LPC2000, различные спецификации и другие материалы.
Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов и радиолюбителей.

УДК 621.316.544.1(035.5)
ББК 32.844.104я2

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

M29

ISBN 9780954998813 (англ.)
© Hitex (UK) Ltd.

ISBN 9785970604441 (ДМК Пресс) 
 © Издание, ДМК Пресс, 2017

ISBN 9785941201044 (Додэка)
©
     Издательский дом «ДодэкаXXI»

CОДЕРЖАНИЕ

5

CОДЕРЖАНИЕ

Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Глава 1. Процессорное ядро ARM7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Основные положения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Конвейер  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Регистры. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Регистр текущего состояния программы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Режимы обработки исключительных ситуаций. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Набор команд ARM7  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Команды ветвления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Команды обработки данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Команда обмена  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Изменение регистров состояния . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Программное прерывание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Модуль MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Набор команд THUMB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Резюме  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Глава 2. Разработка программного обеспечения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Основные положения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Какой из компиляторов? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
ИСР μVISION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Учебное пособие. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Стартовый код . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Взаимодействие кода ARM и THUMB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Библиотека STDIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Организация доступа к периферийным устройствам. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Подпрограммы обработки прерываний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Программное прерывание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Размещение кода в ОЗУ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Встраиваемые функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

CОДЕРЖАНИЕ

6

Поддержка операционных систем. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Размещение объектов по фиксированным адресам . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Встроенный ассемблер  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Аппаратные средства отладки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Важное замечание!. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Еще более важное замечание!  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Резюме  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Глава 3. Системные периферийные устройства. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Основные положения  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Внутренние шины  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Организация памяти  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Программирование регистров . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Модуль ускорения работы памяти. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Пример конфигурирования модуля MAM  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Программирование FLASHпамяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Управление картой распределения памяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Загрузчик. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Внутрисхемное программирование (ISP)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Внутрипрограммное программирование (IAP)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Интерфейс внешней шины. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Интерфейс внешней памяти  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Использование интерфейса внешней шины. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Загрузка из ПЗУ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Схема ФАПЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Делитель шины VPB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Управление электропитанием  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Система прерываний LPC2000. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Блок управления выводами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Выводы внешних прерываний. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Структура прерываний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Прерывание FIQ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Выход из прерывания FIQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Векторные прерывания IRQ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Выход из прерывания IRQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Невекторные прерывания  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Выход из невекторного прерывания IRQ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Вложенные прерывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Резюме  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Глава 4. Периферийные устройства общего назначения. . . . . . . . . . . . . . . . . . . . . . . . . . 91

Основные положения  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Порты ввода/вывода общего назначения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Таймеры общего назначения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Модуль ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

CОДЕРЖАНИЕ

7

Часы реального времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Сторожевой таймер  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Универсальный асинхронный приемопередатчик . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Интерфейс I2C  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Интерфейс SPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Аналогоцифровой преобразователь. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Цифроаналоговый преобразователь  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Контроллер интерфейса CAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Семиуровневая модель ISO  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Структура узла сети CAN  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Объекты сообщений CAN  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Арбитраж на шине CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Тактовая синхронизация  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Передача сообщений CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Ограничение распространения ошибок. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Прием сообщений CAN  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Фильтрация сообщений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Полноскоростной интерфейс USB 2.0  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Введение в USB  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Физическая организация шины USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Логическая организация шины USB  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Скорость передачи данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Каналы шины USB  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Распределение полосы пропускания шины  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Транзакции на шине USB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Ограничение распространения ошибок. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Конфигурация устройства  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Дескриптор устройства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Дескриптор конфигурации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Дескриптор интерфейса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Дескриптор конечной точки  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Нумерация. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Резюме  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

Глава 5. Учебное пособие по средствам разработки компании Keil . . . . . . . . . . . . . . . 171

Установка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Использование ИСР μVISION компании Keil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Упражнение 1. Использование пакета программ компании Keil  . . . . . . . . . . . . . . . . 173
Использование программы отладки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Использование аппаратного JTAGотладчика ULINK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Установка отладчика ULINK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Упражнение 2. Стартовый код. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Упражнение 3. Использование кода THUMB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Упражнение 4. Использование библиотек STDIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

CОДЕРЖАНИЕ

8

Упражнение 5. Простое прерывание  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Упражнение 6. Программное прерывание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Упражнение 7. Модуль MAM  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Упражнение 8. Внутрипрограммное программирование . . . . . . . . . . . . . . . . . . . . . . . 198
Упражнение 9. Интерфейс внешней шины. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Упражнение 10. Схема ФАПЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Упражнение 11. Быстрое прерывание  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Упражнение 12. Векторное прерывание  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Упражнение 13. Невекторное прерывание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Упражнение 14. Вложенные прерывания  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Упражнение 15. Порты ввода/вывода общего назначения. . . . . . . . . . . . . . . . . . . . . . 208
Упражнение 16. Функция захвата (capture) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Упражнение 17. Функция совпадения (match) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Упражнение 18. Генерация симметричного ШИМсигнала . . . . . . . . . . . . . . . . . . . . 212
Упражнение 19. Часы реального времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Упражнение 20. UART  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Упражнение 21. Интерфейс I2C  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Упражнение 22. Интерфейс SPI  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Упражнение 23. Аналогоцифровой преобразователь. . . . . . . . . . . . . . . . . . . . . . . . . . 217
Упражнение 24. Цифроаналоговый преобразователь . . . . . . . . . . . . . . . . . . . . . . . . . 218
Упражнение 25. Передача данных по интерфейсу CAN . . . . . . . . . . . . . . . . . . . . . . . . 218
Упражнение 26. Прием данных по интерфейсу CAN  . . . . . . . . . . . . . . . . . . . . . . . . . . 219

Глава 6. Учебное пособие по средствам разработки GNU . . . . . . . . . . . . . . . . . . . . . . . 221

Основные положения  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Стартовый код GCC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Взаимодействие кода ARM/THUMB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Организация доступа к периферийным устройствам. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Подпрограммы обработки прерываний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

Программное прерывание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

Встраиваемые функции. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

Упражнение 1. Использование инструментальных средств компании Keil 

совместно с компилятором GNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

Упражнение 2. Стартовый код. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Упражнение 3. Использование кода THUMB  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Упражнение 4. Использование библиотек GNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Упражнение 5. Простое прерывание  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Упражнение 6. Программное прерывание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

Приложение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

Список литературы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Ссылки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

Инструментальные средства и ПО . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Оценочные платы и модули . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

Материалы, размещенные на сайте издательства  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

Благодарности

Автор хотел бы поблагодарить
 сотрудников компании
 Philips Semiconductors
Киса ван Севентера и Криса Дэвиса
за помощь в создании
этой книги


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