Ядро Cortex-M3 компании ARM. Полное руководство
Покупка
Тематика:
Проектирование, отладка и тестирование ПО. Вспомогательные средства проектирования. CASE-технологии
Издательство:
ДМК Пресс
Автор:
Джозеф Ю.
Перевод:
Евстифеев Андрей Викторович
Год издания: 2023
Кол-во страниц: 553
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Профессиональное образование
ISBN: 978-5-89818-435-3
Артикул: 701399.02.99
Настоящая книга представляет собой исчерпывающее руководство по новому 32-битному процессору компании ARM — Cortex-M3. В данном руководстве подробно описана архитектура процессорного ядра Cortex-M3 и его подсистемы памяти. Также подробно рассмотрены остальные узлы процессора, в том числе контроллер векторных прерываний NVIC, модуль защиты памяти MMU и разнообразные компоненты отладки. Приводится детальное описание новой системы команд Tuhmb-2, поддерживаемой данным процессором. Книга содержит большое число примеров программного кода как на языке Си, так и на ассемблере. Это руководство должно присутствовать на столе любого разработчика, использующего в своей работе микроконтроллеры с ядром Cortex-M3. Полнота и ясность изложения материала книги также позволяет рекомендовать её студентам соответствующих специальностей и подготовленным радиолюбителям.
- Полная коллекция по информатике и вычислительной технике
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Проектирование, отладка и тестирование ПО. Вспомогательные средства проектирования. CASE-технологии
Тематика:
ББК:
УДК:
ОКСО:
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Ядро Cortex-M3 компании ARM Полное руководство
Joseph Yiu THE DEFINITIVE GUIDE TO THE ARM CORTEX-M3
СЕРИЯ МИРОВАЯ ЭЛЕКТРОНИКА Джозеф Ю ЯДРО CORTEX-M3 КОМПАНИИ ARM Полное руководство Перевод А. В. Евстифеева Москва 2023 ДМК Пресс, ДодэкаXXI 2-е издание, электронное
УДК 004.31(035.3) ББК 32.973-04я81 Ю11 Данное издание подготовлено при участии компании «Компэл» и российского представительства компании Texas Instruments. На сайтах www.compel.ru и www.ti.com/ru вы можете получить консультацию, а также заказать бесплатные образцы микросхем. Телефон горячей линии технической поддержки TI +7-495-981-07-01. Ю11 Ю, Джозеф. Ядро Cortex-M3 компании ARM. Полное руководство / Дж. Ю ; пер. с англ. А. В. Евстифеева. — 2-е изд., эл. — 1 файл pdf : 553 с. — Москва : ДМК Пресс, Додэка-XXI, 2023. — (Мировая электроника). — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-435-3 Настоящая книга представляет собой исчерпывающее руководство по новому 32-битному процессору компании ARM — Cortex-M3. В данном руководстве подробно описана архитектура процессорного ядра Cortex-M3 и его подсистемы памяти. Также подробно рассмотрены остальные узлы процессора, в том числе контроллер векторных прерываний NVIC, модуль защиты памяти MMU и разнообразные компоненты отладки. Приводится детальное описание новой системы команд Tuhmb-2, поддерживаемой данным процессором. Книга содержит большое число примеров программного кода как на языке Си, так и на ассемблере. Это руководство должно присутствовать на столе любого разработчика, использующего в своей работе микроконтроллеры с ядром Cortex-M3. Полнота и ясность изложения материала книги также позволяет рекомендовать её студентам соответствующих специальностей и подготовленным радиолюбителям. УДК 004.31(035.3) ББК 32.973-04я81 Электронное издание на основе печатного издания: Ядро Cortex-M3 компании ARM. Полное руководство / Дж. Ю ; пер. с англ. А. В. Евстифеева. — Москва : ДМК Пресс, Додэка-XXI, 2015. — 552 с. — (Мировая электроника). — ISBN 978-5-97060-307-9. — Текст : непосредственный. Все права защищены. Никакая часть этого издания не может быть воспроизведена в любой форме или любыми средствами, электронными или механическими, включая фотографирование, ксерокопирование или иные средства копирования или сохранения информации, без письменного разрешения издательства. Книга «Ядро Cortex-M3 компании ARM. Полное руководство» Дж. Ю подготовлена и издана по договору с Elsevier Inc., 30 Corporste Drive, 4th Floor, Burlington, MA 01803, USA. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-435-3 © 2010 Elsevier Inc. All rights reserved. © Издательский дом «Додэка-XXI», 2012 © Издание, ДМК Пресс, 2015
Содержание ■ V Вступительное слово ................................................................... 1 Вступительное слово ................................................................... 2 Вступительное слово ................................................................... 3 Предисловие автора ..................................................................... 4 Обозначения ................................................................................ 5 Глоссарий ..................................................................................... 6 Глава 1. Введение ........................................................................ 9 1.1. Процессор ARM Cortex-M3 — что же это такое? .......................................................9 1.2. ARM — компания и архитектура .......................................................................... 11 1.2.1. Историческая справка ............................................................................................11 1.2.2. Версии архитектуры .............................................................................................. 12 1.2.3. Обозначения процессоров ....................................................................................14 1.3. Развитие набора команд ......................................................................................... 16 1.4. Технология Th umb-2 и архитектура набора команд .......................................... 17 1.5. Области применения процессора Cortex-M3 ....................................................... 18 1.6. Структура книги ...................................................................................................... 19 1.7. Дополнительная литература .................................................................................. 19 Глава 2. Обзор Cortex-M3 ..........................................................21 2.1. Основные сведения ................................................................................................. 21 2.2. Регистры ....................................................................................................................22 2.2.1. R0…R12 — регистры общего назначения ......................................................... 23 2.2.2. R13 — указатели стека ........................................................................................... 23 2.2.3. R14 — регистр связи ............................................................................................... 23 2.2.4. R15 — счётчик команд ........................................................................................... 23 2.2.5. Регистры специального назначения .................................................................. 23 2.3. Режимы работы .......................................................................................................24 СОДЕРЖАНИЕ
VI ■ Содержание
Содержание ■ VII 2.4. Встроенный контроллер вложенных векторных прерываний........................25 2.4.1. Поддержка вложенных прерываний ................................................................. 25 2.4.2. Поддержка векторных прерываний .................................................................. 26 2.4.3. Поддержка динамического изменения приоритетов ................................... 26 2.4.4. Уменьшение времени реакции на прерывание .............................................. 26 2.4.5. Маскирование прерываний ................................................................................. 26 2.5. Карта памяти ............................................................................................................26 2.6. Интерфейсы шин ..................................................................................................... 27 2.7. Модуль защиты памяти MPU ................................................................................28 2.8. Набор команд ...........................................................................................................28 2.9. Прерывания и исключения ...................................................................................30 2.9.1. Низкое энергопотребление и высокая энергоэффективность ....................31 2.10. Возможности отладки ........................................................................................... 32 2.11. Резюме ...................................................................................................................... 33 2.11.1. Высокая производительность ............................................................................ 33 2.11.2. Развитые средства поддержки прерываний .................................................. 34 2.11.3. Низкое энергопотребление ................................................................................. 35 2.11.4. Системные возможности .................................................................................... 35 2.11.5. Поддержка отладки .............................................................................................. 35 Глава 3. Основы Cortex-M3 .......................................................37 3.1. Регистры .................................................................................................................... 37 3.1.1. Регистры общего назначения с R0 по R7 ........................................................... 37 3.1.2. Регистры общего назначения с R8 по R12 ........................................................ 37 3.1.3. Указатель стека R13 ................................................................................................. 37 3.1.4. Регистр связи R14 .................................................................................................... 40 3.1.5. Счётчик команд R15 ............................................................................................... 40 3.2. Регистры специального назначения .................................................................... 41 3.2.1. Регистры состояния программы ........................................................................ 41 3.2.2. Регистры PRIMASK, FAULTMASK и BASEPRI ............................................... 43 3.2.3. Регистр управления CONTROL .......................................................................... 44 3.3. Режимы работы ........................................................................................................45 3.4. Исключения и прерывания ................................................................................... 47 3.5. Таблица векторов .....................................................................................................49 3.6. Стек ............................................................................................................................49 3.6.1. Основные стековые операции ............................................................................. 50 3.6.2. Реализация стека в процессоре Cortex-M3 .......................................................51 3.6.3. Два стека процессора Cortex-M3......................................................................... 52 3.7. Цикл сброса ...............................................................................................................54 Глава 4. Набор команд ............................................................. 56 4.1. Основы языка ассемблера ......................................................................................56 4.1.1. Язык ассемблера: основы синтаксиса ................................................................ 56 4.1.2. Язык ассемблера: использование суффиксов .................................................. 57 4.1.3. Язык ассемблера: унифицированный язык ассемблера ............................... 58
VIII ■ Содержание
Содержание ■ IX 4.2. Список команд ......................................................................................................... 59 4.2.1. Неподдерживаемые команды .............................................................................. 64 4.3. Описание команд .....................................................................................................65 4.3.1. Язык ассемблера: пересылка данных ................................................................. 66 4.3.2. Псевдокоманды LDR и ADR ................................................................................. 69 4.3.3. Язык ассемблера: обработка данных ................................................................. 70 4.3.4. Язык ассемблера: вызов подпрограмм и безусловный переход ................. 75 4.3.5. Язык ассемблера: условное выполнение и переходы .................................... 76 4.3.6. Язык ассемблера: объединение операций сравнения и условного перехода ..........................................................................................................79 4.3.7. Язык ассемблера: команды барьерной синхронизации ................................81 4.3.8. Язык ассемблера: операции насыщения........................................................... 82 4.4. Некоторые полезные команды процессора Cortex-M3 ......................................85 4.4.1. Команды MSR и MRS ............................................................................................. 85 4.4.2. Ещё раз об IT-блоке ................................................................................................ 86 4.4.3. Команды SDIV и UDIV .......................................................................................... 87 4.4.4. Команды REV, REVH и REVSH ........................................................................... 88 4.4.5. Перестановка битов................................................................................................ 88 4.4.6. Команды SXTB, SXTH, UXTB и UXTH ............................................................. 88 4.4.7. Очистка и вставка битового поля ....................................................................... 89 4.4.8. Команды UBFX и SBFX .......................................................................................... 89 4.4.9. Команды LDRD и STRD ........................................................................................ 89 4.4.10. Команды табличного перехода TBB и TBH .................................................... 90 Глава 5. Система памяти ...........................................................93 5.1. Основные особенности системы памяти ............................................................. 93 5.2. Карта памяти ............................................................................................................ 93 5.3. Атрибуты доступа к памяти ...................................................................................96 5.4. Права доступа к памяти, принятые по умолчанию ...........................................98 5.5. Операции побитового доступа ..............................................................................99 5.5.1. Преимущества использования метода bit-band ............................................ 103 5.5.2. Битовые операции с данными разной разрядности ................................... 106 5.5.3. Битовые операции в Си-программах .............................................................. 106 5.6. Обращения к невыровненным данным ............................................................. 107 5.7. Монопольный доступ ............................................................................................ 109 5.8. Порядок расположения байтов ............................................................................111 Глава 6. Особенности реализации Cortex-M3 ........................114 6.1. Конвейер ...................................................................................................................114 6.2. Подробная блок-схема .......................................................................................... 116 6.3. Интерфейсы шин в процессоре Cortex-M3 ........................................................ 119 6.3.1. Шина I-Code............................................................................................................ 120 6.3.2. Шина D-Code ......................................................................................................... 120 6.3.3. Системная шина .................................................................................................... 120 6.3.4. Внешняя шина PPB ............................................................................................... 120
X ■ Содержание