SlideShare a Scribd company logo
1 of 24
ПРОГРАММНО-
УПРАВЛЯЕМЫЕ
МИКРОКОНТРОЛЛЕРНЫЕ
УСТРОЙСТВА
Лектор: Камлач Павел Викторович
Кафедра ЭТТ
Ауд. 120 к.1, Ауд. 610 к.2
2017
1
2
Работа с битами и невыровненными
данными
1. Bit-Band
2. Обращения к невыровненным данным
3
При описании процессора Cortex-M3 мы используем
термин bit-band, чтобы подчеркнуть наличие
специальной области памяти (band),
поддерживающей побитовую адресацию. Термином
же bit-bang обычно обозначается программное
управление контактами ввода/вывода с целью
реализации функций последовательной передачи
данных.
4
1. Bit-Band.
Bit Banding – термин, который использует ARM для
обозначения механизма доступного в Cortex M3.
5
• Область хранения битов (bit-band region) —
область памяти, поддерживающая доступ по методу
bit-band.
• Адрес доступа к биту(bit-band alias) — обращение
по этому адресу вызывает обращение к области
хранения битов (т.е. производится переадресация).
6
7
Область статического ОЗУ предназначена для подключения
внутренней оперативной памяти.
8
Область памяти размером 0.5 Гбайт выделена для периферийных
устройств
9
10
11
12
13
14
15
16
17
18
19
bit_word_addr = bit_band_base + (byte_offset x 32) + (bit_number × 4)
• bit_band_base - Базовый адрес области доступа к битам
• byte_offset - Смещение в байтах по отношению базовому адресу
исходной области памяти
• bit_number – номер изменяемого бита
Например, для доступа к регистру ODR порта D:
bit_band_base = 0x42000000
Смещение:
0x40020C14 - 0x40000000 = 0x20C14
• 0x40000000 – начало области памяти периферии
Получаем адрес нулевого бита:
0x42418280 = (0x42000000 + ((0x40020C14)-0x40000000)*32)
20
#define PORTD ((uint32_t *)((0x42000000 + ((0x40020C14)-
0x40000000)*32)))
И теперь для включения светодиода на ноге 12 нужно написать вот
такую строку:
PORTD[12] = 1;
Для выключения:
PORTD[12] = 0;
21
2. Обращения к невыровненным данным.
22
23
ограничения:
• невыровненные пересылки не поддерживаются
командами групповой загрузки/сохранения;
• операции со стеком (команды PUSH/POP) должны
быть выровнены;
• команды монопольного доступа, такие как LDREX
или STREX, должны обращаться только к
выровненным данным; в противном случае, будет
возникать исключение Usage Fault;
• невыровненные пересылки не поддерживаются
при побитовых операциях с использованием метода
bit-band. Если вы всё же попытаетесь так сделать,
то результат будет непредсказуемым.
24
Вопросы?

More Related Content

What's hot

12. usart STM32
12. usart STM3212. usart STM32
12. usart STM32KamlachPV
 
тест по темам принцип открытой архитектуры
тест по темам принцип открытой архитектурытест по темам принцип открытой архитектуры
тест по темам принцип открытой архитектурыJIuc
 
17. Индикация
17. Индикация17. Индикация
17. ИндикацияKamlachPV
 
08. АЦП STM32(1)
08.  АЦП STM32(1)08.  АЦП STM32(1)
08. АЦП STM32(1)KamlachPV
 
процессоры презентация
процессоры   презентацияпроцессоры   презентация
процессоры презентацияИван Иванов
 
Лекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системЛекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системpianist2317
 
033
033033
033JIuc
 
История развития микроконтроллеров
История развития микроконтроллеровИстория развития микроконтроллеров
История развития микроконтроллеровIoT Community
 
Обзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектурОбзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектурIoT Community
 
035
035035
035JIuc
 
05. Таймеры STM32
05. Таймеры STM3205. Таймеры STM32
05. Таймеры STM32KamlachPV
 
Процессор
ПроцессорПроцессор
ПроцессорTitenko1
 
02. Порты ввода вывода микроконтроллеров
02. Порты ввода вывода микроконтроллеров02. Порты ввода вывода микроконтроллеров
02. Порты ввода вывода микроконтроллеровKamlachPV
 
42
4242
42JIuc
 
презентация7
презентация7презентация7
презентация7student_kai
 

What's hot (20)

12. usart STM32
12. usart STM3212. usart STM32
12. usart STM32
 
тест по темам принцип открытой архитектуры
тест по темам принцип открытой архитектурытест по темам принцип открытой архитектуры
тест по темам принцип открытой архитектуры
 
17. Индикация
17. Индикация17. Индикация
17. Индикация
 
12. spi
12. spi12. spi
12. spi
 
08. АЦП STM32(1)
08.  АЦП STM32(1)08.  АЦП STM32(1)
08. АЦП STM32(1)
 
процессоры презентация
процессоры   презентацияпроцессоры   презентация
процессоры презентация
 
09. usart
09. usart09. usart
09. usart
 
Лекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системЛекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и систем
 
033
033033
033
 
Процессор
ПроцессорПроцессор
Процессор
 
Лекция № 3 Организация ЭВМ и систем
Лекция № 3 Организация ЭВМ и системЛекция № 3 Организация ЭВМ и систем
Лекция № 3 Организация ЭВМ и систем
 
История развития микроконтроллеров
История развития микроконтроллеровИстория развития микроконтроллеров
История развития микроконтроллеров
 
Обзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектурОбзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектур
 
035
035035
035
 
05. Таймеры STM32
05. Таймеры STM3205. Таймеры STM32
05. Таймеры STM32
 
08. adc
08. adc08. adc
08. adc
 
Процессор
ПроцессорПроцессор
Процессор
 
02. Порты ввода вывода микроконтроллеров
02. Порты ввода вывода микроконтроллеров02. Порты ввода вывода микроконтроллеров
02. Порты ввода вывода микроконтроллеров
 
42
4242
42
 
презентация7
презентация7презентация7
презентация7
 

Similar to 07. Работа с битами и невыровненными данными

Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ontico
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...a15464321646213
 
Интервью с Анатолием Кузнецовым, автором библиотеки BitMagic C++ Library
Интервью с Анатолием Кузнецовым, автором библиотеки BitMagic C++ LibraryИнтервью с Анатолием Кузнецовым, автором библиотеки BitMagic C++ Library
Интервью с Анатолием Кузнецовым, автором библиотеки BitMagic C++ LibraryTatyanazaxarova
 
Презентация на тему: Компьютер – универсальное устройство обработки информации
Презентация на тему: Компьютер – универсальное устройство обработки информацииПрезентация на тему: Компьютер – универсальное устройство обработки информации
Презентация на тему: Компьютер – универсальное устройство обработки информации2berkas
 
39
3939
39JIuc
 
Лекция 4. Оптимизация доступа к памяти (Memory access optimization, cache opt...
Лекция 4. Оптимизация доступа к памяти (Memory access optimization, cache opt...Лекция 4. Оптимизация доступа к памяти (Memory access optimization, cache opt...
Лекция 4. Оптимизация доступа к памяти (Memory access optimization, cache opt...Mikhail Kurnosov
 

Similar to 07. Работа с битами и невыровненными данными (11)

Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
Sbc datasheet
Sbc datasheetSbc datasheet
Sbc datasheet
 
Интервью с Анатолием Кузнецовым, автором библиотеки BitMagic C++ Library
Интервью с Анатолием Кузнецовым, автором библиотеки BitMagic C++ LibraryИнтервью с Анатолием Кузнецовым, автором библиотеки BitMagic C++ Library
Интервью с Анатолием Кузнецовым, автором библиотеки BitMagic C++ Library
 
Презентация на тему: Компьютер – универсальное устройство обработки информации
Презентация на тему: Компьютер – универсальное устройство обработки информацииПрезентация на тему: Компьютер – универсальное устройство обработки информации
Презентация на тему: Компьютер – универсальное устройство обработки информации
 
39
3939
39
 
Лекция 4. Оптимизация доступа к памяти (Memory access optimization, cache opt...
Лекция 4. Оптимизация доступа к памяти (Memory access optimization, cache opt...Лекция 4. Оптимизация доступа к памяти (Memory access optimization, cache opt...
Лекция 4. Оптимизация доступа к памяти (Memory access optimization, cache opt...
 
Data storage systems
Data storage systemsData storage systems
Data storage systems
 
07
0707
07
 
02 ram
02 ram02 ram
02 ram
 
06. memory
06. memory06. memory
06. memory
 

More from KamlachPV

03.interrupt
03.interrupt03.interrupt
03.interruptKamlachPV
 
01. Вводная лекция
01. Вводная лекция01. Вводная лекция
01. Вводная лекция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
 

More from KamlachPV (20)

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
 
10. dac
10. dac10. dac
10. dac
 
07. dma
07. dma07. dma
07. dma
 
05. timers
05. timers05. timers
05. timers
 
04. cs
04. cs04. cs
04. cs
 
03.interrupt
03.interrupt03.interrupt
03.interrupt
 
01. Вводная лекция
01. Вводная лекция01. Вводная лекция
01. Вводная лекция
 
02. gpio
02. gpio02. gpio
02. gpio
 
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. Искусственная коррекция движений
 

07. Работа с битами и невыровненными данными

  • 2. 2 Работа с битами и невыровненными данными 1. Bit-Band 2. Обращения к невыровненным данным
  • 3. 3 При описании процессора Cortex-M3 мы используем термин bit-band, чтобы подчеркнуть наличие специальной области памяти (band), поддерживающей побитовую адресацию. Термином же bit-bang обычно обозначается программное управление контактами ввода/вывода с целью реализации функций последовательной передачи данных.
  • 4. 4 1. Bit-Band. Bit Banding – термин, который использует ARM для обозначения механизма доступного в Cortex M3.
  • 5. 5 • Область хранения битов (bit-band region) — область памяти, поддерживающая доступ по методу bit-band. • Адрес доступа к биту(bit-band alias) — обращение по этому адресу вызывает обращение к области хранения битов (т.е. производится переадресация).
  • 6. 6
  • 7. 7 Область статического ОЗУ предназначена для подключения внутренней оперативной памяти.
  • 8. 8 Область памяти размером 0.5 Гбайт выделена для периферийных устройств
  • 9. 9
  • 10. 10
  • 11. 11
  • 12. 12
  • 13. 13
  • 14. 14
  • 15. 15
  • 16. 16
  • 17. 17
  • 18. 18
  • 19. 19 bit_word_addr = bit_band_base + (byte_offset x 32) + (bit_number × 4) • bit_band_base - Базовый адрес области доступа к битам • byte_offset - Смещение в байтах по отношению базовому адресу исходной области памяти • bit_number – номер изменяемого бита Например, для доступа к регистру ODR порта D: bit_band_base = 0x42000000 Смещение: 0x40020C14 - 0x40000000 = 0x20C14 • 0x40000000 – начало области памяти периферии Получаем адрес нулевого бита: 0x42418280 = (0x42000000 + ((0x40020C14)-0x40000000)*32)
  • 20. 20 #define PORTD ((uint32_t *)((0x42000000 + ((0x40020C14)- 0x40000000)*32))) И теперь для включения светодиода на ноге 12 нужно написать вот такую строку: PORTD[12] = 1; Для выключения: PORTD[12] = 0;
  • 21. 21 2. Обращения к невыровненным данным.
  • 22. 22
  • 23. 23 ограничения: • невыровненные пересылки не поддерживаются командами групповой загрузки/сохранения; • операции со стеком (команды PUSH/POP) должны быть выровнены; • команды монопольного доступа, такие как LDREX или STREX, должны обращаться только к выровненным данным; в противном случае, будет возникать исключение Usage Fault; • невыровненные пересылки не поддерживаются при побитовых операциях с использованием метода bit-band. Если вы всё же попытаетесь так сделать, то результат будет непредсказуемым.