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

Микроконтроллеры ARM7. Семейство LPC2000 компании Philips : вводный курс (2000,00 руб.)

0   0
Первый авторМартин
ИздательствоМ.: ДМК Пресс
Страниц241
ID795079
АннотацияСемейство микроконтроллеров 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, различные спецификации и другие материалы. Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов и радиолюбителей.
ISBN978-5-97060-444-1
УДК621.316.544.1(035.5)
ББК32.844.1-04я2
Мартин, Т. Микроконтроллеры ARM7. Семейство LPC2000 компании Philips : вводный курс / Т. Мартин .— Москва : ДМК Пресс, 2017 .— 241 с. — ISBN 978-5-97060-444-1 .— URL: https://rucont.ru/efd/795079 (дата обращения: 08.06.2024)

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

Микроконтроллеры_ARM7._Семейство_LPC2000_компании_Philips__вводный_курс.pdf
УДК 621.316.544.1(035.5) ББК 32.844.104я2 М29 Мартин Т. M29 Микроконтроллеры ARM7. Семейство LPC2000 компании Philips. Вводный курс / Пер. с англ. — М.: ДМК Пресс, 2017. — 240 с. : ил. — (Серия «Мировая электроника»). ISBN 978 5970604441  Семейство микроконтроллеров 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.104я2 Все права защищены. Никакая часть этого издания не может быть воспроизведена в любой форме или любыми средствами, электронными или механическими, включая фотографирова ние, ксерокопирование или иные средства копирования или сохранения информации, без письменного разрешения издательства. ISBN 9780954998813 (англ.) ISBN 9785941201044 (Додэка) ISBN 9785970604441 (ДМК Пресс) ©Hitex (UK) Ltd. © Издательский дом «ДодэкаXXI» © Издание, ДМК Пресс, 2017
Стр.5
CОДЕРЖАНИЕ 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 5
Стр.6
CОДЕРЖАНИЕ Поддержка операционных систем. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 6 Глава 4. Периферийные устройства общего назначения. . . . . . . . . . . . . . . . . . . . . . . . . . 91 Основные положения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Порты ввода/вывода общего назначения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Таймеры общего назначения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Модуль ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Стр.7
CОДЕРЖАНИЕ Часы реального времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 7
Стр.8
CОДЕРЖАНИЕ Упражнение 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 8 Список литературы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Ссылки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Инструментальные средства и ПО . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Оценочные платы и модули . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Материалы, размещенные на сайте издательства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Стр.9

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


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