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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> STM32L151 инструкции dsb isb и т.п., Хочу понять, зачем нужны.
demiurg_spb
сообщение Feb 25 2015, 10:08
Сообщение #16


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

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



Цитата(MiklPolikov @ Feb 24 2015, 23:01) *
Хочу понять, в каких случаях они нужны.
В контексте STM32 использовал их лишь перед выходом из прерывания сразу после очистки его флага-запроса, чтобы при выходе снова не влететь в уже отработанное прерывание. Так на память больше ничего не приходит.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Feb 25 2015, 10:25
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Цитата(demiurg_spb @ Feb 25 2015, 13:08) *
В контексте STM32 использовал их лишь перед выходом из прерывания сразу после очистки его флага-запроса, чтобы при выходе снова не влететь в уже отработанное прерывание. Так на память больше ничего не приходит.

Полезный совет ! К примеру, у меня многочисленные прерывания от дребезга кнопок всегда глючно обрабатываются, приходится RC ячейку ставить. Причём глючность очень походила на ту ситуацию, которую Вы описали. Использовали ISB ?


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 25 2015, 10:34
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(jcxz @ Feb 25 2015, 08:45) *
Для создания такого кода, достаточно указать функции модификатор __ramfunc в IAR wink.gif

Однократное копирование и модификация в процессе выполнения - это не одно и то же.


Цитата(MiklPolikov @ Feb 25 2015, 13:25) *
Полезный совет ! К примеру, у меня многочисленные прерывания от дребезга кнопок всегда глючно обрабатываются, приходится RC ячейку ставить. Причём глючность очень походила на ту ситуацию, которую Вы описали. Использовали ISB ?

У Вас кнопки на десятках МГц дребезжат?

Лучше обратиться к мануалу. Там перечислены все те немногочисленные случаи, когда барьеры нужны на Cortex-M.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Feb 25 2015, 15:00
Сообщение #19


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

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



Цитата(MiklPolikov @ Feb 25 2015, 13:25) *
Использовали ISB ?
DSB


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
jcxz
сообщение Feb 26 2015, 03:52
Сообщение #20


Гуру
******

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



Цитата(aaarrr @ Feb 25 2015, 16:34) *
Однократное копирование и модификация в процессе выполнения - это не одно и то же.

Однократное или многократное - не важно, какая разница - один раз сбой может произойти или много раз?
Если есть самомодификация (хоть одна) - нужен барьер. ISB.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 26 2015, 06:41
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(jcxz @ Feb 26 2015, 06:52) *
Однократное или многократное - не важно, какая разница - один раз сбой может произойти или много раз?

Просто ситуация с немедленным переходом на только что скопированный код очень маловероятна.

Цитата(jcxz @ Feb 26 2015, 06:52) *
Если есть самомодификация (хоть одна) - нужен барьер. ISB.

Тогда уж DSB + ISB.
Go to the top of the page
 
+Quote Post

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

 


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


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