SlideShare a Scribd company logo
ПРОГРАММНО-
УПРАВЛЯЕМЫЕ
МИКРОКОНТРОЛЛЕРНЫЕ
УСТРОЙСТВА
Лектор: Камлач Павел Викторович
Кафедра ЭТТ
Ауд. 120 к.1, Ауд. 610 к.2
2017
1
2
Система памяти Cortex-M3
1. Карта памяти
2. Регистры
3
Основные особенности системы памяти Cortex-M3
•процессор Cortex-M3 имеет фиксированную карту памяти,
которая определяет, какой шинный интерфейс должен
использоваться при обращении к тому или иному участку
памяти.
•поддержка доступа к отдельным битам памяти (метод bit-band)
•Система памяти процессора Cortex-M3 также поддерживает
пересылку невыровненных данных и операции монопольного
доступа
•процессор Cortex-M3 поддерживает па мять, использующую
как прямой, так и обратный порядок хранения байтов
4
1. Карта памяти.
В процессоре Cortex-M3 используется фиксированная карта
памяти. Это облегчает перенос кода между устройствами на
базе Cortex-M3.
5
6
Процессор Cortex-M3 имеет адресное пространство размером 4
Гбайт.
Программа может располагаться в
•области кода
•области статического ОЗУ (СОЗУ)
•области внешнего ОЗУ
7
Область статического ОЗУ предназначена для подключения
внутренней оперативной памяти.
8
Область памяти размером 0.5 Гбайт выделена для периферийных
устройств
9
Две области памяти размером по 1 Гбайт выделены для
внешнего ОЗУ и внешних периферийных устройств
10
Некоторые участки памяти зарезервированы для
использования встроенными периферийными устройствами,
такими как компоненты отладки
• модуль коррекции флэш-памяти и задания точки останова
(FPB) ;
• модуль просмотра и трассировки данных (DWT) ;
• модуль трассировки (ITM) ;
• модуль встроенной ячейки трассировки (ETM) ;
• модуль интерфейса порта трассировки (TPIU) ;
• таблица ПЗУ.
11
Атрибуты доступа к памяти
Процессором Cortex-M3 используются следующие
атрибуты:
• Буферируемая
• Кэшируемая
• Исполняемая
• Разделяемая
12
Область кода (0x00000000…0x1FFFFFFF) — является
исполняемой, а атрибут кэширования имеет значение
«кэшируемая со сквозной записью» (Write Through — WT). Вы
также можете размещать в этой области данные. Обращения к
данным, расположенным в указанной области, осуществляются
по интерфейсу шины данных. Операции записи в данную
область памяти буферизуются.
Область СОЗУ (0x20000000…0x3FFFFFFF) — предназначена
для подключения встроенного ОЗУ. Операции записи в эту
область буферизуются, а атрибут кэширования имеет значение
«кэшируемая с обратной записью и размещением
записываемых данных» (WB-WA). Указанная область является
исполняемой, так что вы можете скопировать в неё код
программы и исполнять его уже оттуда.
13
Область периферийных устройств (0x40000000…
0x5FFFFFFF) — предназначена для размещения периферийных
устройств. Обращения к этой области памяти не кэшируются, и
исполнение кода из неё не допускается (в документации ARM
неисполняемая память имеет атрибут XN, являющийся
сокращением от eXecute Never).
Область внешнего ОЗУ (0x60000000…0x7FFFFFFF) —
предназначена для встроенной или внешней памяти данных.
Обращения к указанной области памяти могут кэшироваться
(WB-WA), из этой области также допускается выполнение
кода.
Область внешнего ОЗУ (0x80000000…0x9FFFFFFF) —
предназначена для встроенной или внешней памяти данных.
Обращения к этой области памяти могут кэшироваться (WT),
из данной области также допускается выполнение кода.
14
Область внешних устройств (0xA0000000…0xBFFFFFFF) —
предназначена для внешних устройств и/или разделяемой
памяти, к которой необходимо обеспечить упорядоченный и
небуферизованный доступ. Эта область также является
исполняемой.
Область внешних устройств (0xC0000000…0xDFFFFFFF) —
предназначена для внешних устройств и/или разделяемой
памяти, к которой необходимо обеспечить упорядоченный и
небуферизованный доступ. Область также является
исполняемой.
Системная область (0xE0000000…0xFFFFFFFF) —
предназначена для собственных периферийных устройств
процессора, а также для модулей, определяемых
производителем. Исполнение кода из этой области памяти не
допускается. В диапазоне адресов, выделенных шине PBB,
обеспечивается строго упорядоченный доступ к памяти
(некэшируемая и небуферируемая память). В диапазоне
адресов, выделенных для изготовителей кристаллов, память
является буферируемой, но некэшируемой.
15
Права доступа к памяти, принятые по умолчанию
16
17
2. Регистры.
Процессор Cortex™-M3 имеет 16 регистров с R0 по R15 и
несколько регистров специального назначения. Регистры с
R0 по R12 являются регистрами общего назначения.
Регистры специального назначения выполняют
предопределённые функции и для обращения к ним
необходимо использовать особые команды.
18
Регистры общего назначения с R0 по R7
Регистры общего назначения с R0 по R7 также называются
младшими регистрами . Обращаться к этим регистрам могут все
команды как 16-битного набора Thumb, так и 32-битного набора
Thumb-2. Все указанные регистры имеют разрядность 32 бита,
состояние регистров после сброса может быть любым.
Регистры общего назначения с R8 по R12
Регистры общего назначения с R8 по R12 также называются
старшими регистрами . Обращаться к этим регистрам могут все
команды набора Thumb-2 и некоторые команды набора Thumb. Все
указанные регистры имеют разрядность 32 бита, состояние регистров
после сброса может быть любым.
19
Указатель стека R13
Регистр процессора R13 используется в качестве указателя
стека, причём в процессоре Cortex-M3 имеется два таких указателя.
Наличие двух указателей позволяет реализовать два независимых
стека. Используя идентификатор R13, можно обращаться только к
текущему указателю, другой указатель при этом будет недоступен.
Обратиться к недоступному в данный момент указателю можно только
с помощью команд пересылки между регистром общего назначения и
регистром специального назначения (MSR и MRS).
В процессоре Cortex-M3 имеются следующие указатели стека:
•Основной указатель стека MSP.
•Указатель стека процесса PSP
20
21
Регистр связи R14
Регистр R14 используется в качестве регистра связи (Link Register
— LR). Регистр связи применяется для сохранения адреса возврата
при вызове процедуры или функции, например при выполнении
команды пере хода со ссылкой (BL)
Счётчик команд R15
Регистр R15 служит в качестве счётчика команд PC. Для обращения
к данному регистру можно использовать любое из обозначений —
R15 или PC. Из-за наличия в процессоре Cortex-M3 конвейера
значение, считанное из этого регистра, будет отличаться от адреса
исполняемой в данный момент команды (как правило, на 4).
22
Группу регистров состояния программы составляют три регистра:
• регистр состояния приложения APSR;
• регистр состояния прерывания IPSR;
• регистр состояния выполнения EPSR.
23
24
25
26
Вопросы?

More Related Content

PPT
10. DMA STM32
PPT
11. ЦАП STM32
PPT
14. SPI STM32
PPT
09. АЦП STM32(2)
PPT
07. Работа с битами и невыровненными данными
PPT
13. I2C STM32
PPT
17. Индикация
PPT
12. usart STM32
10. DMA STM32
11. ЦАП STM32
14. SPI STM32
09. АЦП STM32(2)
07. Работа с битами и невыровненными данными
13. I2C STM32
17. Индикация
12. usart STM32

What's hot (20)

PPT
08. АЦП STM32(1)
PPT
02. Порты ввода вывода микроконтроллеров
PPT
12. spi
PPT
09. usart
PPT
05. Таймеры STM32
PPT
10. dac
PPT
02. gpio
PPT
08. adc
PPT
презентация7
PPT
03.interrupt
PPT
07. dma
PPT
05. timers
PPT
03. Прерывания STM32
PPT
01. Вводная лекция
PPT
15. Сторожевые таймеры STM32
PPT
04. cs
PDF
описание процессор спутник
PPT
06. memory
08. АЦП STM32(1)
02. Порты ввода вывода микроконтроллеров
12. spi
09. usart
05. Таймеры STM32
10. dac
02. gpio
08. adc
презентация7
03.interrupt
07. dma
05. timers
03. Прерывания STM32
01. Вводная лекция
15. Сторожевые таймеры STM32
04. cs
описание процессор спутник
06. memory
Ad

Similar to 06. Память Cortex-M3(4) (20)

PDF
1.stm32 core flash rcc
PPTX
Обзор современных микроконтроллеров и их архитектур
PPT
prezlec_Історія.ppt
PPT
Prez osob mikroproc
PPT
Лекция №3
PPT
033
PPT
Лекция №2 Организация ЭВМ и систем
PPT
Лекция № 2 Организация ЭВМ и систем
PPT
Аппаратные и программные средства управления
PPS
Аппаратные и программные средства управления
PPTX
Строение компьютера
PDF
Архитектура AMD64 (EM64T)
PPT
PDF
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
PPT
024
PPT
материнская плата
PPTX
Аппаратная реализация персонального компьютера
PPTX
42
PPTX
ARM vs Intel microarchitecture
1.stm32 core flash rcc
Обзор современных микроконтроллеров и их архитектур
prezlec_Історія.ppt
Prez osob mikroproc
Лекция №3
033
Лекция №2 Организация ЭВМ и систем
Лекция № 2 Организация ЭВМ и систем
Аппаратные и программные средства управления
Аппаратные и программные средства управления
Строение компьютера
Архитектура AMD64 (EM64T)
Лекция 3: Векторизация кода (Code vectorization, SIMD, SSE, AVX)
024
материнская плата
Аппаратная реализация персонального компьютера
42
ARM vs Intel microarchitecture
Ad

More from KamlachPV (19)

PPTX
16. sa
PPT
15. lcd
PPT
14. 5in3
PPT
11. i2c
PPT
11. Слуховой аппарат
PPT
10. Биоуправляемые ортопедические аппараты
PPT
09. Биоуправление
PPT
08. РАЗРАБОТКА И ПОСТАНОВКА МЕДИЦИНСКИХ ИЗДЕЛИЙ НА ПРОИЗВОДСТВО
PPT
07. АППАРАТЫ ИСКУССТВЕННОГО КРОВООБРАЩЕНИЯ
PPT
06. Искусственная почка
PPT
05. Искусственные имплантанты в офтальмологии
PPT
04. Ортезотерапия
PPT
03. Искусственная коррекция движений
PPT
02. Психологическая диагностика
PPT
01. Реабилитация
PPT
15. vozdeystvi ye na litosferu
PPT
14. vozdeystvi ye na gidrosferu
PPT
13. ischerpayemyye istochniki energii
PPT
12. energosberezheniye
16. sa
15. lcd
14. 5in3
11. i2c
11. Слуховой аппарат
10. Биоуправляемые ортопедические аппараты
09. Биоуправление
08. РАЗРАБОТКА И ПОСТАНОВКА МЕДИЦИНСКИХ ИЗДЕЛИЙ НА ПРОИЗВОДСТВО
07. АППАРАТЫ ИСКУССТВЕННОГО КРОВООБРАЩЕНИЯ
06. Искусственная почка
05. Искусственные имплантанты в офтальмологии
04. Ортезотерапия
03. Искусственная коррекция движений
02. Психологическая диагностика
01. Реабилитация
15. vozdeystvi ye na litosferu
14. vozdeystvi ye na gidrosferu
13. ischerpayemyye istochniki energii
12. energosberezheniye

06. Память Cortex-M3(4)

  • 2. 2 Система памяти Cortex-M3 1. Карта памяти 2. Регистры
  • 3. 3 Основные особенности системы памяти Cortex-M3 •процессор Cortex-M3 имеет фиксированную карту памяти, которая определяет, какой шинный интерфейс должен использоваться при обращении к тому или иному участку памяти. •поддержка доступа к отдельным битам памяти (метод bit-band) •Система памяти процессора Cortex-M3 также поддерживает пересылку невыровненных данных и операции монопольного доступа •процессор Cortex-M3 поддерживает па мять, использующую как прямой, так и обратный порядок хранения байтов
  • 4. 4 1. Карта памяти. В процессоре Cortex-M3 используется фиксированная карта памяти. Это облегчает перенос кода между устройствами на базе Cortex-M3.
  • 5. 5
  • 6. 6 Процессор Cortex-M3 имеет адресное пространство размером 4 Гбайт. Программа может располагаться в •области кода •области статического ОЗУ (СОЗУ) •области внешнего ОЗУ
  • 7. 7 Область статического ОЗУ предназначена для подключения внутренней оперативной памяти.
  • 8. 8 Область памяти размером 0.5 Гбайт выделена для периферийных устройств
  • 9. 9 Две области памяти размером по 1 Гбайт выделены для внешнего ОЗУ и внешних периферийных устройств
  • 10. 10 Некоторые участки памяти зарезервированы для использования встроенными периферийными устройствами, такими как компоненты отладки • модуль коррекции флэш-памяти и задания точки останова (FPB) ; • модуль просмотра и трассировки данных (DWT) ; • модуль трассировки (ITM) ; • модуль встроенной ячейки трассировки (ETM) ; • модуль интерфейса порта трассировки (TPIU) ; • таблица ПЗУ.
  • 11. 11 Атрибуты доступа к памяти Процессором Cortex-M3 используются следующие атрибуты: • Буферируемая • Кэшируемая • Исполняемая • Разделяемая
  • 12. 12 Область кода (0x00000000…0x1FFFFFFF) — является исполняемой, а атрибут кэширования имеет значение «кэшируемая со сквозной записью» (Write Through — WT). Вы также можете размещать в этой области данные. Обращения к данным, расположенным в указанной области, осуществляются по интерфейсу шины данных. Операции записи в данную область памяти буферизуются. Область СОЗУ (0x20000000…0x3FFFFFFF) — предназначена для подключения встроенного ОЗУ. Операции записи в эту область буферизуются, а атрибут кэширования имеет значение «кэшируемая с обратной записью и размещением записываемых данных» (WB-WA). Указанная область является исполняемой, так что вы можете скопировать в неё код программы и исполнять его уже оттуда.
  • 13. 13 Область периферийных устройств (0x40000000… 0x5FFFFFFF) — предназначена для размещения периферийных устройств. Обращения к этой области памяти не кэшируются, и исполнение кода из неё не допускается (в документации ARM неисполняемая память имеет атрибут XN, являющийся сокращением от eXecute Never). Область внешнего ОЗУ (0x60000000…0x7FFFFFFF) — предназначена для встроенной или внешней памяти данных. Обращения к указанной области памяти могут кэшироваться (WB-WA), из этой области также допускается выполнение кода. Область внешнего ОЗУ (0x80000000…0x9FFFFFFF) — предназначена для встроенной или внешней памяти данных. Обращения к этой области памяти могут кэшироваться (WT), из данной области также допускается выполнение кода.
  • 14. 14 Область внешних устройств (0xA0000000…0xBFFFFFFF) — предназначена для внешних устройств и/или разделяемой памяти, к которой необходимо обеспечить упорядоченный и небуферизованный доступ. Эта область также является исполняемой. Область внешних устройств (0xC0000000…0xDFFFFFFF) — предназначена для внешних устройств и/или разделяемой памяти, к которой необходимо обеспечить упорядоченный и небуферизованный доступ. Область также является исполняемой. Системная область (0xE0000000…0xFFFFFFFF) — предназначена для собственных периферийных устройств процессора, а также для модулей, определяемых производителем. Исполнение кода из этой области памяти не допускается. В диапазоне адресов, выделенных шине PBB, обеспечивается строго упорядоченный доступ к памяти (некэшируемая и небуферируемая память). В диапазоне адресов, выделенных для изготовителей кристаллов, память является буферируемой, но некэшируемой.
  • 15. 15 Права доступа к памяти, принятые по умолчанию
  • 16. 16
  • 17. 17 2. Регистры. Процессор Cortex™-M3 имеет 16 регистров с R0 по R15 и несколько регистров специального назначения. Регистры с R0 по R12 являются регистрами общего назначения. Регистры специального назначения выполняют предопределённые функции и для обращения к ним необходимо использовать особые команды.
  • 18. 18 Регистры общего назначения с R0 по R7 Регистры общего назначения с R0 по R7 также называются младшими регистрами . Обращаться к этим регистрам могут все команды как 16-битного набора Thumb, так и 32-битного набора Thumb-2. Все указанные регистры имеют разрядность 32 бита, состояние регистров после сброса может быть любым. Регистры общего назначения с R8 по R12 Регистры общего назначения с R8 по R12 также называются старшими регистрами . Обращаться к этим регистрам могут все команды набора Thumb-2 и некоторые команды набора Thumb. Все указанные регистры имеют разрядность 32 бита, состояние регистров после сброса может быть любым.
  • 19. 19 Указатель стека R13 Регистр процессора R13 используется в качестве указателя стека, причём в процессоре Cortex-M3 имеется два таких указателя. Наличие двух указателей позволяет реализовать два независимых стека. Используя идентификатор R13, можно обращаться только к текущему указателю, другой указатель при этом будет недоступен. Обратиться к недоступному в данный момент указателю можно только с помощью команд пересылки между регистром общего назначения и регистром специального назначения (MSR и MRS). В процессоре Cortex-M3 имеются следующие указатели стека: •Основной указатель стека MSP. •Указатель стека процесса PSP
  • 20. 20
  • 21. 21 Регистр связи R14 Регистр R14 используется в качестве регистра связи (Link Register — LR). Регистр связи применяется для сохранения адреса возврата при вызове процедуры или функции, например при выполнении команды пере хода со ссылкой (BL) Счётчик команд R15 Регистр R15 служит в качестве счётчика команд PC. Для обращения к данному регистру можно использовать любое из обозначений — R15 или PC. Из-за наличия в процессоре Cortex-M3 конвейера значение, считанное из этого регистра, будет отличаться от адреса исполняемой в данный момент команды (как правило, на 4).
  • 22. 22 Группу регистров состояния программы составляют три регистра: • регистр состояния приложения APSR; • регистр состояния прерывания IPSR; • регистр состояния выполнения EPSR.
  • 23. 23
  • 24. 24
  • 25. 25