SlideShare a Scribd company logo
1 of 26
ПРОГРАММНО-
УПРАВЛЯЕМЫЕ
МИКРОКОНТРОЛЛЕРНЫЕ
УСТРОЙСТВА
Лектор: Камлач Павел Викторович
Кафедра ЭТТ
Ауд. 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

What's hot

08. АЦП STM32(1)
08.  АЦП STM32(1)08.  АЦП STM32(1)
08. АЦП STM32(1)KamlachPV
 
02. Порты ввода вывода микроконтроллеров
02. Порты ввода вывода микроконтроллеров02. Порты ввода вывода микроконтроллеров
02. Порты ввода вывода микроконтроллеровKamlachPV
 
05. Таймеры STM32
05. Таймеры STM3205. Таймеры STM32
05. Таймеры STM32KamlachPV
 
презентация7
презентация7презентация7
презентация7student_kai
 
03.interrupt
03.interrupt03.interrupt
03.interruptKamlachPV
 
03. Прерывания STM32
03. Прерывания STM3203. Прерывания STM32
03. Прерывания STM32KamlachPV
 
01. Вводная лекция
01. Вводная лекция01. Вводная лекция
01. Вводная лекцияKamlachPV
 
15. Сторожевые таймеры STM32
15. Сторожевые таймеры STM3215. Сторожевые таймеры STM32
15. Сторожевые таймеры STM32KamlachPV
 
описание процессор спутник
описание процессор спутникописание процессор спутник
описание процессор спутникАндрей Марин
 

What's hot (20)

08. АЦП STM32(1)
08.  АЦП STM32(1)08.  АЦП STM32(1)
08. АЦП STM32(1)
 
02. Порты ввода вывода микроконтроллеров
02. Порты ввода вывода микроконтроллеров02. Порты ввода вывода микроконтроллеров
02. Порты ввода вывода микроконтроллеров
 
12. spi
12. spi12. spi
12. spi
 
09. usart
09. usart09. usart
09. usart
 
05. Таймеры STM32
05. Таймеры STM3205. Таймеры STM32
05. Таймеры STM32
 
10. dac
10. dac10. dac
10. dac
 
02. gpio
02. gpio02. gpio
02. gpio
 
08. adc
08. adc08. adc
08. adc
 
презентация7
презентация7презентация7
презентация7
 
03.interrupt
03.interrupt03.interrupt
03.interrupt
 
07. dma
07. dma07. dma
07. dma
 
05. timers
05. timers05. timers
05. timers
 
03. Прерывания STM32
03. Прерывания STM3203. Прерывания STM32
03. Прерывания STM32
 
01. Вводная лекция
01. Вводная лекция01. Вводная лекция
01. Вводная лекция
 
15. Сторожевые таймеры STM32
15. Сторожевые таймеры STM3215. Сторожевые таймеры STM32
15. Сторожевые таймеры STM32
 
04. cs
04. cs04. cs
04. cs
 
4
44
4
 
sau
sausau
sau
 
описание процессор спутник
описание процессор спутникописание процессор спутник
описание процессор спутник
 
06. memory
06. memory06. memory
06. memory
 

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

Обзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектурОбзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектурIoT Community
 
Аппаратная реализация персонального компьютера
Аппаратная реализация персонального компьютераАппаратная реализация персонального компьютера
Аппаратная реализация персонального компьютераstudent_SSGA
 
023
023023
023JIuc
 
1.stm32 core flash rcc
1.stm32 core flash rcc1.stm32 core flash rcc
1.stm32 core flash rccSergey Savkin
 
prezlec_Історія.ppt
prezlec_Історія.pptprezlec_Історія.ppt
prezlec_Історія.pptssusere2bc36
 
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ontico
 
Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...
Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...
Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...Kaspersky
 
035
035035
035JIuc
 
024
024024
024JIuc
 
тест по темам принцип открытой архитектуры
тест по темам принцип открытой архитектурытест по темам принцип открытой архитектуры
тест по темам принцип открытой архитектурыJIuc
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...a15464321646213
 
Архитектура AMD64 (EM64T)
Архитектура AMD64 (EM64T)Архитектура AMD64 (EM64T)
Архитектура AMD64 (EM64T)Tatyanazaxarova
 
42
4242
42JIuc
 
033
033033
033JIuc
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...a15464321646213
 
034
034034
034JIuc
 
Medical informatics
Medical informaticsMedical informatics
Medical informaticsHelao Silas
 

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

Обзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектурОбзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектур
 
Аппаратная реализация персонального компьютера
Аппаратная реализация персонального компьютераАппаратная реализация персонального компьютера
Аппаратная реализация персонального компьютера
 
[DD] 10. Memory
[DD] 10. Memory[DD] 10. Memory
[DD] 10. Memory
 
023
023023
023
 
1.stm32 core flash rcc
1.stm32 core flash rcc1.stm32 core flash rcc
1.stm32 core flash rcc
 
prezlec_Історія.ppt
prezlec_Історія.pptprezlec_Історія.ppt
prezlec_Історія.ppt
 
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
 
Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...
Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...
Константин Трушкин. Использование платформы Эльбрус в информационно-защищённы...
 
035
035035
035
 
024
024024
024
 
тест по темам принцип открытой архитектуры
тест по темам принцип открытой архитектурытест по темам принцип открытой архитектуры
тест по темам принцип открытой архитектуры
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
Prez osob mikroproc
Prez osob mikroprocPrez osob mikroproc
Prez osob mikroproc
 
Архитектура AMD64 (EM64T)
Архитектура AMD64 (EM64T)Архитектура AMD64 (EM64T)
Архитектура AMD64 (EM64T)
 
Презентация 5
Презентация 5Презентация 5
Презентация 5
 
42
4242
42
 
033
033033
033
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
034
034034
034
 
Medical informatics
Medical informaticsMedical informatics
Medical informatics
 

More from KamlachPV

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

More from KamlachPV (19)

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