Микроконтроллеры ARM7 семейств LPC 2300/2400. Вводный курс разработчика. +CD

Трейси Мартин

Введение

Глава 1 Процессорное ядро ARM7 Основные положения Конвейер Регистры Регистр текущего состояния программы Режимы обработки исключительных ситуаций Набор команд ARM7 Команды ветвления Команды обработки данных Команда обмена Изменение регистров состояния Программное прерывание Модуль MAC Набор команд THUMB Резюме

Глава 2 Разработка программного обеспечения Основные положения Загрузка и установка пакета программ компании Keil ИСР µVISION ИСР HiTOP Учебные примеры Стартовый код Определение карты памяти проекта Определение карты памяти для компилятора GCC Взаимодействие кодов ARM и THUMB Обеспечение взаимодействия в компиляторе GCC Библиотека STDIO Библиотека STDIO и компилятор GCC Организация доступа к периферийным устройствам Организация доступа к периферийным устройствам в компиляторе GCC Процедуры обработки прерываний Обработка прерываний в компиляторе GCC Отладка обработчиков системных ошибок Программное прерывание Программное прерывание и компилятор GCC Размещение переменных по абсолютным адресам Размещение кода в ОЗУ Загрузка кода и данных в ОЗУ при использовании компилятора GCC Встраиваемые функции Встраиваемые функции в компиляторе GCC Встроенный ассемблер Встроенный ассемблер компилятора GCC Импортирование программ для компилятора GCC Аппаратные средства отладки Важное замечание! Еще более важное замечание! Резюме

Глава 3 Системные периферийные устройства Основные положения Внутренние шины Организация памяти Программирование регистров Модуль ускорения работы памяти Пример конфигурирования модуля MAM Программирование FLASH-памяти Управление картой распределения памяти Загрузчик Внутрисхемное программирование (ISP) Внутрипрограммное программирование (IAP) Защита FLASH-памяти Системные тактовые сигналы Схема ФАПЧ Тактовые сигналы периферийных устройств Управление электропитанием Группы потребителей Режимы пониженного энергопотребления Система прерываний LPC2300 Блок управления выводами Выводы внешних прерываний Структура прерываний Прерывание FIQ Выход из прерывания FIQ Векторные прерывания IRQ Выход из прерывания IRQ Пример: прерывание IRQ Программное прерывание Вложенные прерывания Контроллер DMA Обзор модуля DMA Синхронизация DMA Пересылка из памяти в память Пакетная передача Поддержка модулем DMA периферийных устройств Пересылка несмежных данных Резюме

Глава 4 Периферийные устройства общего назначения Основные положения Порты ввода/вывода общего назначения Быстрые регистры ввода/вывода Прерывание от GPIO Таймеры общего назначения Режим захвата Режим счетчика Режим совпадения Модуль ШИМ Режим счетчика Часы реального времени Опорный сигнал модуля RTC Сторожевой таймер Период сторожевого таймера Универсальный асинхронный приемопередатчик Настройка скорости обмена Автоопределение скорости обмена Передача данных Организация обмена по протоколу IrDA Интерфейс I2C Интерфейс SPI Аналого-цифровой преобразователь Цифро-аналоговый преобразователь Синхронный последовательный порт Контроллер I2S Интерфейс карт FLASH-памяти Модуль MCI микроконтроллеров семейства LPC2300

Глава 5 Развитые периферийные устройства Ethernet MAC Протокол TCP/IP Сетевая модель Ethernet и IEEE 802.3 Дейтаграммы TCP/IP Модуль Ethernet MAC Стек uIP Создание веб-сервера с использованием коммерческого стека TCP/IP Полноскоростной интерфейс USB 2.0 Введение в USB Модуль контроллера USB аключение Контроллер интерфейса CAN Семиуровневая модель ISO Структура узла сети CAN Объекты сообщений CAN Арбитраж на шине CAN Тактовая синхронизация Передача сообщений CAN Ограничение распространения ошибок Прием сообщений CAN Фильтрация сообщений

Глава 6 Использование ОС компании Keil Возможности ОСРВ Настройка проекта Процессы Запуск ОСРВ Создание процессов Управление процессами Множество экземпляров Управление временем Формирование задержки Периодический запуск процесса Виртуальный таймер Демон ожидания Межпроцессное взаимодействие События Обработка прерываний в ОСРВ Семафоры Предостережение по поводу семафоров Мьютексы Предостережение по поводу мьютексов Буферы сообщений Конфигурация

Глава 7 Использование ОС FreeRTOS Портирование ОС FreeRTOS на LPC2300 Тики таймера Процедура обработки прерывания от таймера Переключение контекста Инициализация стека Управление памятью Конфигурация FreeRTOS Запуск FreeRTOS Процессы Управление процессами Ловушка на тики Семафоры Управление ядром

Глава 8 Учебное пособие

Введение

Упражнение 1. Знакомство с ИСР Keil.

Установка аппаратных средств.

Отладчик Keil.

Редактирование проекта.

Управление процессом выполнения программы.

Просмотр данных.

Упражнение 2. Стартовый код.

Упражнение 3. Совместное использование команд ARM и THUMB.

Упражнение 4. Программное прерывание.

Упражнение 5. Модуль MAM.

Упражнение 6. Использование загрузчика от NXP.

Упражнение 7. Схема ФАПЧ.

Упражнение 8. Конфигурирование системы тактирования.

Упражнение 9. Быстрое прерывание.

Упражнение 10. Векторное прерывание.

Упражнение 11. Пересылка данных из памяти в память при помощи DMA.

Упражнение 12. Пересылка несмежных данных припомощи DMA.

Упражнение 13. Порты ввода/вывода общего назначения.

Упражнение 14. Прерывание от порта GPIO.

Упражнение 15. Функция захвата (capture).

Упражнение 16. Функция совпадения (match).

Упражнение 17. ШИМ.

Упражнение 18. Часы реального времени.

Упражнение 19. UART.

Упражнение 20. Аналого-цифровой преобразователь.

Упражнение 21. Цифро-аналоговый преобразователь.

Упражнение 22. Драйвер Ethernet.

Упражнение 23. TCP/IP стек uIP.

Упражнение 24. Передача по интерфейсу CAN.

Упражнение 25. Прием по интерфейсу CAN.

Упражнение 26. Прием в режиме FullCAN.

Упражнение 27. Запуск двух процессов в ОСРВ.

Упражнение 28. Управление временем.

Упражнение 29. Приостановка и запуск процесса.

Упражнение 30. Возобновление процесса из обработчика прерывания.

Упражнение 31. Процесс Idle.

Упражнение 32. Семафор.

Упражнение 33. Очередь сообщений.

Приложения

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

Полезные ссылки.

Оценочные платы и модули.