Организация памяти микроконтроллеров семейства MSP430

Ю.Р. Никитин,

П.В. Лекомцев

Изучение способов адресации микроконтроллера MSP430F2013

Методические указания к выполнению лабораторной работы № 2

по дисциплине «Микропроцессорная техника» для студентов направлений 150900.62 «Технология, оборудование и автоматизация машиностроительных производств», 220100.62 «Системный анализ и управление», 221000.62 «Мехатроника и робототехника»

Ижевск 2012

УДК 004.416(07)

ББК 32.973.26-04

Н62

Рассмотрено и одобрено на заседании кафедры «Мехатронные системы» (протокол № 9 от 06.06.2012)

Рецензент: канд. техн. наук, доцент кафедры «Мехатронные системы» С.А.Трефилов

Никитин Ю.Р., Лекомцев П.В.

Изучение способов адресации микроконтроллера MSP430F2013: Методические указания к выполнению лабораторной работы № 2 по дисциплине «Микропроцессорная техника» для студентов направлений 150900.62 «Технология, оборудование и автоматизация машиностроительных производств», 220100.62 «Системный анализ и управление», 221000.62 «Мехатроника и робототехника». – Ижевск, База учебно-методических материалов ИжГТУ, 2012. – 24 с. Регистрационный номер / , кБ.

Данные методические указания к выполнению лабораторной работы № 2 по дисциплине «Микропроцессорная техника» предназначены для студентов направлений 150900.62 «Технология, оборудование и автоматизация машиностроительных производств», 220100.62 «Системный анализ и управление», 221000.62 «Мехатроника и робототехника».

В методических указаниях приведен порядок выполнения работы в интегрированной среде разработки IAR Embedded Workbench for MSP430, рассмотрены архитектура, режимы адресации и система команд центрального процессорного устройства MSP430, индивидуальные задания студентам, пример текста программы на ассемблере.

ã Ю.Р.Никитин, П.В.Лекомцев 2012

Содержание

Введение. 4

Задание. 4

1 Порядок выполнения работы.. 4

2 Структура и содержание отчета. 5

3 Контрольные вопросы для защиты лабораторной работы.. 5

Литература. 5

Приложение А Варианты индивидуальных заданий. 6

Приложение Б Архитектура ЦПУ MSP430. 7

Приложение В Организация памяти микроконтроллеров семейства MSP430. 10

Приложение Г Способы адресации операндов в памяти микроконтроллеров семейства MSP430. 12

Приложение Д Форматы команд ЦПУ микроконтроллеров семейства MSP430. 17

Приложение Е Список ассемблерных команд ЦПУ микроконтроллеров семейства MSP430. 21

Приложение Ж Исходный текст программы работы с элементами массива на ассемблере. 23

Введение

Производительность микроконтроллера во многом определяется его центральным процессорным устройством (ЦПУ). Микроконтроллеры MSP430 имеют 16-битное ЦПУ, обладающего рядом возможностей, специально предназначенных для поддержки современных методов программирования, таких как вычисляемые переходы, табличные вычисления, а также использование языков высокого уровня, в частности, языка Си. Центральный процессор может адресовать память во всём диапазоне адресов без разбиения её на страницы.

В рамках данной лабораторной работы предусмотрено изучение архитектуры ЦПУ MSP430, организации памяти, способов адресации и системы команд микроконтроллеров MSP430.

Задание

1. Изучить архитектуру ЦПУ, организацию памяти, способы адресации и систему команд микроконтроллера MSP430.

2. Создать проект в интегрированной среде разработки IAR Embedded Workbench, настроить его опции.

3. Загрузить в проект тестовую программу, откомпилировать и выполнить отладку.

4. Выполнить индивидуальное задание: разработать алгоритм и программу работы с элементами массива. Варианты индивидуальных заданий представлены в приложении А.

5. Оформить отчет по лабораторной работе.

Порядок выполнения работы

Выполнение лабораторной работы состоит из следующих шагов.

Шаг 1 – создание проекта в интегрированной среде разработки IAR Embedded Workbench, настройка его опций. Данный процесс подробно описан в [1].

Шаг 2 – добавление к проекту файлов. Создайте текстовый файл с текстом тестовой программы (Приложение Г) и сохраните его с расширением .s43 или .asm. Добавьте данный файл к созданному проекту.

Шаг 3 – компиляция проекта. В основном меню для компиляции и компоновки исходных файлов Вашего проекта выберите пункт меню «Project>Rebuild All». В случае успешной компиляции можно запускать программу в отладчике.

Шаг 4 – отладка. Для запуска отладчика C-SPY выберите пункт меню «Project>Debug». Отладчик С-SPY очистит флэш-память устройства и запишет в него объектный файл Вашего приложения. Для запуска приложения выберите пункт меню «Debug>Go», затем «Debug>Break». Для отображения результата работы программы выберите пункт меню «View>Memory», элементы полученного массива в шестнадцатеричном представлении расположены в памяти по адресу 0x200 (рисунок 1).

Организация памяти микроконтроллеров семейства MSP430 - student2.ru

Рисунок 1 – Дамп памяти микроконтроллера после выполнения тестовой программы

Шаг 5 – изменение текста программы в соответствии с индивидуальным заданием. Разработайте алгоритм и программу на языке ассемблер в соответствии с индивидуальным заданием. В помощь используйте краткое описание ассемблерных команд ЦПУ MSP430 (Приложение Д) и справочное руководство [5].

Структура и содержание отчета

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

- титульный лист;

- содержание;

- введение;

- задание на лабораторную работу;

- разработка схемы алгоритма решения задачи в соответствии с ГОСТ 19.701-90;

- разработка программы в соответствии с ГОСТ 19.401-78;

- результаты вычислительного эксперимента;

- выводы;

- список литературы (в соответствии с ГОСТ 7.0.5-2008).

Контрольные вопросы для защиты лабораторной работы

Для успешной защиты лабораторной работы необходимо ответить на следующие контрольные вопросы преподавателя по теме выполненной работы:

- архитектура ЦПУ MSP430;

- организация памяти микроконтроллеров семейства MSP430;

- способы адресации операндов в памяти;

- форматы команд.

Литература

1. Никитин Ю.Р., Лекомцев П.В. Изучение микроконтроллера MSP430F2013 и адаптера eZ430-F2013: Методические указания к выполнению лабораторной работы № 1 по дисциплине «Микропроцессорная техника» для студентов направлений 150900.62 «Технология, оборудование и автоматизация машиностроительных производств» и 220100.62 «Системный анализ и управление». – Ижевск, База учебно-методических материалов ИжГТУ, 2011. – 24 с.

2. MSP430x2xx Family User’s Guide (SLAU144F) – руководство пользователя на англ.яз., 2010. URL: http://ti.com (дата обращения – декабрь 2010 г.)

3. Семейство микроконтроллеров MSP430x1xx. Руководство пользователя: Пер. с англ. – М.:Серия «Библиотека Компэла». ЗАО «Компэл», 2004. – 368 с. ISBN 5-98730-001-0

4. Семейство микроконтроллеров MSP430x2xx. Архитектура, программирование, разработка приложений / пер. с англ. Евстифеева А.В. – М.: Додэка-XXI, 2010. – 544 с. ISBN 978-5-94120-221-9

5. MSP430 IAR Assembler Reference Guide (Part number: A430-3) – справочное руководство по применению языка ассемблер в среде разработки IAR для микроконтроллеров MSP430 на англ.яз., Third edition: October 2011. URL: http://netstorage.iar.com/SuppDB/Public/UPDINFO/006220/EW430_AssemblerReference.pdf (дата обращения – август 2012г.)

Приложение А

(обязательное)

Варианты индивидуальных заданий

Разработать алгоритм и программу на языке ассемблер:

1. Нахождения максимального элемента в массиве из 16 байт.

2. Нахождения суммы элементов в массиве из 10 байт.

  1. Нахождения количества нечетных чисел в массиве из 8 байт.
  2. Нахождения суммы отрицательных чисел в массиве из 15 байт.
  3. Нахождения количества отрицательных чисел в массиве из 20 байт.
  4. Нахождения суммы четных чисел в массиве из 10 байт.
  5. Нахождения количества четных чисел в массиве из 15 байт.
  6. Нахождения суммы нечетных чисел в массиве из 8 байт.
  7. Нахождения количества нулей в массиве из 16 байт.
  8. Преобразования массива чисел по следующей формуле: Ci=2Ai+128, i=0..9.
  9. Преобразования массива чисел по следующей формуле: Ci=2Ai+Bi/2, i=0..15.
  10. Преобразования массива чисел по следующей формуле: Ci=Ai/4+16, i=0..19.
  11. Переставляющей элементы массива из 8 байт в обратной последовательности.

14. Нахождения максимального и минимального элементов в массиве из 10 байт и замены их местами.

  1. Нахождения суммы трех наибольших чисел в массиве из 16 байт.

16. Замены отрицательных чисел в массиве из 16 байт нулями.

17. Замены минимального числа в массиве из 10 байт нулем.

18. Замены четных чисел в массиве из 20 байт нулями.

Приложение Б

(справочное)

Архитектура ЦПУ MSP430

ЦПУ MSP430 имеет следующие особенности:

- RISC-архитектура, поддерживающая 27 команд и 7 режимов адресации;

- ортогональная архитектура — с каждой из команд может использоваться любой режим адресации;

- полная доступность регистров, включая счётчик команд, регистры состояния и указатель стека;

- однотактные регистровые операции;

- большой 16-битный регистровый файл, уменьшающий количество обращений к памяти;

- 16-битная шина адреса, обеспечивающая прямой доступ и ветвление во всём диапазоне адресов;

- 16-битная шина данных, позволяющая напрямую оперировать 2-байтными значениями;

- генератор констант формирует шесть наиболее часто используемых значений, уменьшая размер кода;

- прямой обмен данными между ячейками памяти без промежуточной записи в регистр;

- одно- и двухбайтные адресация и форматы команд.

Блок-схема ЦПУ приведена на рисунке Б.1.

Центральный процессор содержит шестнадцать 16-битных регистров. Регистры R0, R1, R2 и R3 имеют специальные функции. Регистры с R4 по R15 являются рабочими регистрами общего назначения.

16-битный счётчик команд (PC/R0) указывает на следующую команду, которая будет выполняться. Указатель стека (SP/R1) используется ЦПУ для сохранения адресов возврата из подпрограмм и прерываний. Указатель стека и счетчик команд могут использоваться со всеми командами и любыми режимами адресации.

Организация памяти микроконтроллеров семейства MSP430 - student2.ru

Рисунок Б.1 – Блок-схема ЦПУ

Использовать регистр состояния (SR/R2) в качестве регистра-источника или регистра-приёмника могут только команды, оперирующие двухбайтными значениями и только при использовании режима регистровой адресации. Прочие комбинации режимов адресации используются для поддержки генератора констант. Формат регистра состояния SR приведён на рисунке Б.2.

Организация памяти микроконтроллеров семейства MSP430 - student2.ru

Рисунок Б.2 – Формат регистра состояния

Назначение битов регистра SR описано в таблице Б.1.

Таблица Б.1 - Биты регистра состояния

Бит Описание
V Флаг переполнения. Этот бит устанавливается, если результат арифметической операции выходит за границы допустимых значений для знаковых величин
ADD(.B), ADDC(.B) Устанавливается, когда: Положительное + Положительное = Отрицательное, Отрицательное + Отрицательное = Положительное, в противном случае сбрасывается
SUB(.B), SUBC(.B), CMP(.B) Устанавливается, когда: Положительное – Отрицательное = Отрицательное, Отрицательное – Положительное = Положительное, в противном случае сбрасывается
SCG1 Системный тактовый генератор 1. Когда этот бит установлен, сигнал SMCLK отключён
SCG0 Системный тактовый генератор 0. Когда этот бит установлен, генератор DCO выключен, если сигнал DCOCLK не используется для формирования сигналов MCLK или SMCLK
OSCOFF Выключение генератора. Когда этот бит установлен, кварцевый генератор LFXT1 выключен, если сигнал LFXT1CLK не используется для формирования сигналов MCLK или SMCLK
CPUOFF Выключение ЦПУ. Когда этот бит установлен, ЦПУ выключено
GIE Общий бит разрешения прерываний. Когда этот бит установлен, маскируемые прерывания разрешены. После сброса все маскируемые прерывания запрещены
N Флаг отрицательного результата. Этот бит устанавливается, если результат арифметической операции отрицателен, и сбрасывается, если результат положителен
Операции со словами Бит N равен значению 15-го бита результата
Операции с байтами Бит N равен значению 7-го бита результата
Z Флаг нуля. Этот бит устанавливается, если результат арифметической операции равен нулю, и сбрасывается в противном случае
C Флаг переноса. Этот бит устанавливается, если при выполнении арифметической операции возникает перенос, и сбрасывается, если переноса не возникает
       

Приложение В

(справочное)

Организация памяти микроконтроллеров семейства MSP430

Семейство MSP430 имеет фон-неймановскую архитектуру с единым адресным пространством для регистров специальных функций (SFR), периферии, ОЗУ и Flash-памяти в соответствии с рисунком Б.1. Конкретное распределение памяти можно узнать из справочных данных на интересующее устройство. Доступ к программному коду выполняется всегда по четным адресам. Данные могут быть доступны как байты или как слова. В настоящее время общий объем адресуемой памяти составляет 128 КБ.

Организация памяти микроконтроллеров семейства MSP430 - student2.ru

Рисунок В.1 – Карта памяти

Флэш/ПЗУ

Начальный адрес области флэш/ПЗУ зависит от объёма этой памяти и отличается для разных устройств. Конечный адрес области флэш/ПЗУ всегда равен 0x1FFFF. Флэш-память может использоваться как для хранения кода, так и для хранения данных. Двухбайтные и однобайтные данные (или таблицы данных) могут располагаться во флэш-памяти и использоваться непосредственно оттуда, без предварительного копирования в ОЗУ.

Таблица векторов прерываний

Таблица векторов прерываний занимает верхние 16 слов нижней области памяти размером 64КБ. При этом вектор прерывания с наивысшим приоритетом располагается в последнем слове области по адресу 0x1FFFF.

ОЗУ

ОЗУ начинается с адреса 0200h. Конечный адрес ОЗУ зависит от объема представленной памяти и различается для каждого конкретного устройства. ОЗУ может использоваться как для программного кода, так и для данных.

Периферийные устройства

Периферийные модули отображены в адресном пространстве. Адреса с 0100h до 01FFh зарезервированы для 16-разрядных периферийных модулей. Они будут доступны с помощью команд-слов. Если используются однобайтные команды, допустимы только четные адреса, при этом старший байт результата всегда будет содержать «0». Адресное пространство с 010h по 0FFh зарезервировано для 8-разрядных периферийных модулей. Эти модули доступны с помощью однобайтных команд. Чтение байтов модулей с помощью команд-слов приведет к появлению в старшем байте непредсказуемого содержимого. Если в байт модуля будут записываться данные в виде слова, то в регистре периферийного модуля сохранится только младший байт этого слова, старший будет проигнорирован.

Регистры специальных функций (SFR)

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

Приложение Г

(справочное)

Наши рекомендации