|
Библиотека атомарных операций для STM32 |
|
|
|
 |
Ответов
|
Jun 24 2015, 09:02
|
Частый гость
 
Группа: Участник
Сообщений: 142
Регистрация: 10-11-12
Пользователь №: 74 318

|
Недокопипастил. Там в конце main() ещё Код for (;;) {} стоит
--------------------
|
|
|
|
|
Jun 24 2015, 09:31
|
Частый гость
 
Группа: Участник
Сообщений: 142
Регистрация: 10-11-12
Пользователь №: 74 318

|
Цитата(AHTOXA @ Jun 24 2015, 14:19)  Ну, вроде всё вполне согласуется с моими опытами. Единственный момент, ADC_<1>::clear_eoc_flag() - наверняка делает STR в область периферии. Для чистоты эксперимента хорошо бы сделать совсем пустой обработчик прерывания. Так вроде как область адресов периферии не относится к ОЗУ, которое защищает монитор? И без ADC_<1>::clear_eoc_flag() флаг не сбросится и прерывание будет происходить снова и снова как только оно завершиться. Убрал ADC_<1>::clear_eoc_flag(). Поток выполнения перестал доходить до Код bool res = __STREXW(10, &var) == 0; Есть в STM32 такие прерывания для которых не надо сбрасывать флаг при выходе из обработчика?
Сообщение отредактировал ArtDenis - Jun 24 2015, 09:36
--------------------
|
|
|
|
|
Jun 24 2015, 10:27
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(ArtDenis @ Jun 24 2015, 14:31)  Так вроде как область адресов периферии не относится к ОЗУ, которое защищает монитор? Ну, для полноты охвата тестами  Цитата(ArtDenis @ Jun 24 2015, 14:31)  Есть в STM32 такие прерывания для которых не надо сбрасывать флаг при выходе из обработчика? Например, SysTick. Или, вот, PendSV. Взводится вот так: Код SCB->ICSR = SCB_ICSR_PENDSVSET_Msk;
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
Сообщений в этой теме
ArtDenis Библиотека атомарных операций для STM32 Jun 18 2015, 16:31 Gleb80 Атомарная, тоесть выполняющаяся за один машинный ц... Jun 18 2015, 18:47 ArtDenis Цитата(Gleb80 @ Jun 18 2015, 23:47) Атома... Jun 19 2015, 12:40  AlexandrY Цитата(ArtDenis @ Jun 19 2015, 15:40) Их ... Jun 19 2015, 19:14 AlexandrY Цитата(ArtDenis @ Jun 18 2015, 19:31) Кто... Jun 18 2015, 19:27 Aner QUOTE (AlexandrY @ Jun 18 2015, 23:27) ST... Jun 18 2015, 19:41 AHTOXA Цитата(ArtDenis @ Jun 18 2015, 21:31) Кто... Jun 18 2015, 20:40 AlexandrY Цитата(AHTOXA @ Jun 18 2015, 23:40) Не то... Jun 19 2015, 04:40  jcxz Вот моя реализация инкремента/декремента, обмена и... Jun 19 2015, 07:48   AlexandrY Цитата(jcxz @ Jun 19 2015, 10:48) Вот моя... Jun 19 2015, 08:24    jcxz Цитата(AlexandrY @ Jun 19 2015, 14:24) А ... Jun 19 2015, 08:27     AlexandrY Цитата(jcxz @ Jun 19 2015, 11:27) Работае... Jun 19 2015, 08:34      jcxz Цитата(AlexandrY @ Jun 19 2015, 14:34) Но... Jun 19 2015, 08:42 ViKo Объясните, на какой диапазон памяти распространяет... Jun 19 2015, 08:19 ArtDenis Может особо не париться с атомарными операциями, и... Jun 20 2015, 05:07 jcxz Цитата(ArtDenis @ Jun 20 2015, 11:07) Как... Jun 20 2015, 11:12 ArtDenis Ковыряю std::atomic. Оказывается они работают для ... Jun 22 2015, 04:01 AHTOXA Цитата(ArtDenis @ Jun 22 2015, 09:01) В а... Jun 22 2015, 06:08 ArtDenis Так непонятно, нужны ли там барьеры. У STM32 вроде... Jun 22 2015, 08:16 AHTOXA Насколько я понимаю, эти барьеры (DMB) нужны для м... Jun 22 2015, 08:56 jcxz Цитата(ArtDenis @ Jun 22 2015, 14:16) Так... Jun 22 2015, 08:59 AlexandrY Цитата(ArtDenis @ Jun 22 2015, 11:16) Так... Jun 22 2015, 10:03  AlexandrY Цитата(AlexandrY @ Jun 22 2015, 13:03) Из... Jun 22 2015, 13:26   ArtDenis Цитата(AlexandrY @ Jun 22 2015, 18:26) Те... Jun 22 2015, 13:53    AHTOXA Цитата(ArtDenis @ Jun 22 2015, 18:53) А м... Jun 22 2015, 18:40   jcxz Цитата(AlexandrY @ Jun 22 2015, 19:26) Зн... Jun 23 2015, 02:44    AHTOXA Цитата(jcxz @ Jun 23 2015, 07:44) Даташит... Jun 23 2015, 05:01 ArtDenis Ну вообще это очень легко проверить. Завтра поэксп... Jun 22 2015, 19:34 ViKo Если бы эксклюзивные операции отслеживали только с... Jun 23 2015, 05:55 AlexandrY Цитата(ViKo @ Jun 23 2015, 08:55) Если бы... Jun 23 2015, 06:45 jcxz Цитата(ViKo @ Jun 23 2015, 11:55) Если бы... Jun 23 2015, 07:21  AlexandrY Цитата(jcxz @ Jun 23 2015, 10:21) Вполне ... Jun 23 2015, 17:24   AHTOXA Цитата(AlexandrY @ Jun 23 2015, 22:24) Вы... Jun 23 2015, 17:29    AlexandrY Цитата(AHTOXA @ Jun 23 2015, 20:29) А как... Jun 23 2015, 17:32   jcxz Цитата(AlexandrY @ Jun 23 2015, 23:24) Т.... Jun 23 2015, 18:14 ArtDenis На моём STM32L151 получились такие результаты:
Мо... Jun 23 2015, 17:45 AlexandrY Цитата(ArtDenis @ Jun 23 2015, 20:45) Мон... Jun 23 2015, 18:25  ArtDenis Цитата(AlexandrY @ Jun 23 2015, 23:25) Ст... Jun 23 2015, 18:42   ArtDenis Цитата(ArtDenis @ Jun 23 2015, 23:42) Воо... Jun 24 2015, 02:48 ViKo Программы - в студию.
И выводы, желательно, не про... Jun 24 2015, 04:00 ArtDenis Цитата(ViKo @ Jun 24 2015, 09:00) Програм... Jun 24 2015, 04:19  ViKo Цитата(ArtDenis @ Jun 24 2015, 07:19) К с... Jun 24 2015, 07:44   ArtDenis Цитата(ViKo @ Jun 24 2015, 12:44) Устроят... Jun 24 2015, 08:00    jcxz Цитата(ArtDenis @ Jun 24 2015, 14:00) PS:... Jun 24 2015, 09:42     ArtDenis Цитата(jcxz @ Jun 24 2015, 14:42) Все тес... Jun 24 2015, 09:49      jcxz Цитата(ArtDenis @ Jun 24 2015, 15:49) Воо... Jun 24 2015, 10:34       ArtDenis Цитата(jcxz @ Jun 24 2015, 15:34) Вообще ... Jun 24 2015, 10:44
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|