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

 
 
> Аналог __SWP для Cortex, чем заменить в IAR?
Alechek
сообщение Feb 17 2011, 08:26
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



У себя в проекте использовал __SWP внутреннюю функцию IAR

В букварях нашел, что в кортексах инструкция SWP заменена на LDREX и STREX.
IAR вроде как о них не знает. Покрайней мере из под Си напрямую не нашел как к ним достучатся.

Как быть?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alechek
сообщение Mar 28 2011, 13:42
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Вопрос возникает дальше....
Можно ли все таки заменить SWP инструкцию на пару LDREX - STREX?

Букварь говорит, что мониторится ячейка памяти на экслюзивный доступ.
Сразу возникают вопросы
1. Мониторится только одна пара LDREX/STREX? Выполнится ли корректно вложенный доступ, типа
Код
LDREX R1, [R0, #0]
LDREX R2, [R0, #4]
STREX R5, R1, [R0, #4]
STREX R6, R2, [R0, #0]

2. Регистр периферии - это ячейка памяти в данном случае? Сможет ли ядро отследить изменение в регистре?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Mar 28 2011, 14:49
Сообщение #3


фанат дивана
******

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



Вот статья, где всё хорошо объясняется: ARM Synchronization Primitives.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post



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

 


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


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