реклама на сайте
подробности

 
 
> Атомарность bit-banding в Cortex-M3
alt3857
сообщение Mar 10 2012, 05:01
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 94
Регистрация: 21-04-10
Пользователь №: 56 794



Привет. Возникли сомнения по поводу атомарности операции bit-banding. Во всех доках пишут, что данная операция обеспечивает атомарный доступ к битам периферии и RAM, но
компилятор Keil генерирует три инструкции:
MOV r0,#0x01
LDR r1,[pc,#28] ; @0x000012D4
STR r0,[r1,#0x64]
А если между ними произойдет прерывание?

Сообщение отредактировал alt3857 - Mar 10 2012, 05:02
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zöner
сообщение Mar 10 2012, 07:41
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 195
Регистрация: 16-02-12
Пользователь №: 70 299



Цитата
А если между ними произойдет прерывание?
обращение к порту происходит только в последней команде. Это и есть атомарность.
Цитата
И где же здесь атомарность??
здесь - нигде
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 11 2012, 15:59
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(zöner @ Mar 10 2012, 13:41) *
обращение к порту происходит только в последней команде. Это и есть атомарность.здесь - нигде

Перечитайте внимательнее начальное сообщение. Там говорится о "атомарности операции bit-banding", а не атомарности доступа к порту.
Сделать эту последовательность из 3-х команд атомарной можно тока запретом прерываний.
Тогда как в 1-м случае, как я понимаю, используется спец. адресное пространство и команда STR r0,[r1,#0x64] модифицирует только заданные биты ячейки памяти
(заданные маской или номером бита в R0).
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Mar 12 2012, 05:19
Сообщение #4


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(jcxz @ Mar 11 2012, 19:59) *
Там говорится о "атомарности операции bit-banding", а не ...
Об этом вообще нет смысла говорить. Это очевидный факт.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 20:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01396 секунд с 7
ELECTRONIX ©2004-2016