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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
zltigo
сообщение Feb 7 2010, 16:05
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(aaarrr @ Feb 7 2010, 18:50) *
Хорошо, давайте рассмотрим случай, когда на шине одновременно присутствуют устройство с протоколом (например, SD/MMC карта в SPI-режиме) и без (например, 25-я еепромка для хранения каких-нибудь мелочей). Что будем делать?

Прежде всего думать об оптимальном решении для каждого конкретного случая. Мютекс просто универсальное решение минимального системного уровня, но для конкретного случая надо рассматривать и альтернативы. Тот-же мютекс при всей своей универсальности, не годится для обработчика прерывания.
Цитата
Это верно, только если слейв один и достучатся до него пытается только одна задача.

С чего-бы это вдруг? Две задачи проверяют занятость общей части железа обслуживающего несколько слейвов и не лезут в него, пока занято. Если в ту-же '25' лезут изредка, а SD нагружен изрядно, то можно уже и подумать, а дергать-ли каждый раз системный мютекс при работе с SD, или пусть обращение изредка тупенько поспит/повисит на сканировании железного (или банального софтового) флага.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 7 2010, 16:42
Сообщение #17


Гуру
******

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



Цитата(zltigo @ Feb 7 2010, 19:05) *
С чего-бы это вдруг? Две задачи проверяют занятость общей части железа обслуживающего несколько слейвов и не лезут в него, пока занято.

Только если железо достаточно интеллектуально, чтобы обеспечивать передачу "от и до", что далеко не всегда наблюдается в реальной жизни.

Цитата(zltigo @ Feb 7 2010, 19:05) *
Если в ту-же '25' лезут изредка, а SD нагружен изрядно, то можно уже и подумать, а дергать-ли каждый раз системный мютекс при работе с SD, или пусть обращение изредка тупенько поспит/повисит на сканировании железного (или банального софтового) флага.

А почему бы не дергать? С SD работа идет здоровыми блоками, дерганье мьютекса ни на чем не скажется. А спать/висеть на сканировании флага - как-то не комильфо.


Конечно, каждый из рассмотренных подходов имеет право на существование в своих условиях. Но если вернуться к теме, то увязывание работы "кучи разных микросхем" в одну задачу в общем случае не представляется правильным. Так же, например, как увязывание 25 и SD.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 7 2010, 18:49
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(aaarrr @ Feb 7 2010, 19:42) *
Только если железо достаточно интеллектуально, чтобы обеспечивать передачу "от и до", что далеко не всегда наблюдается в реальной жизни.

Eстественно, на железо надо смотреть - оно не названо.
Цитата
А почему бы не дергать?

У названной Автором FreeRTOS есть только очереди, все остальное виртуальное. И честно говоря, меня это не смущает, ибо всегда
смотрел на те-же мютексы как крайнее средство для заставить чего-то работать.
Цитата
А спать/висеть на сканировании флага - как-то не комильфо.

Естественно, что поставить заявку на побудку это с точки зрения системы элегантнее. Но и такой тупой вариант со сканированием не следует сразу отвергать.
Цитата
Конечно, каждый из рассмотренных подходов имеет право на существование в своих условиях.

О чем и речь smile.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
lazarev andrey
сообщение Feb 10 2010, 19:55
Сообщение #19


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

Группа: Свой
Сообщений: 184
Регистрация: 6-12-06
Пользователь №: 23 196



ну вы мужики даете smile.gif !!!!
не ожидал, что такая в общем то несложная задача вызовет такой бурный интерес, прошу прощения, что не отписывался, но вам и так интересно smile.gif.

по сути то, да. SPI у меня для тупых задач, никаких там протоколов, никаких огромных объемов передаваемых данных.
это уж я как обычно задумался над тем, а как бы вот так скрестить много устройств на шине под управлением РТОСа.
у меня один мастер - МК. и куча слэйвов, там отличие только в том, что в парочке надо поменять полярность тактирующего сигнала, да для удобства количество бит за передачу.

но в любом случае ответы наталкивают на серьезные размышления smile.gif.
пойду осозновать, очень, очень вдумчивые мысли smile.gif
Go to the top of the page
 
+Quote Post
SergeiCh
сообщение Feb 22 2010, 08:03
Сообщение #20


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

Группа: Участник
Сообщений: 99
Регистрация: 22-03-07
Из: Novosibirsk
Пользователь №: 26 415



Цитата(zltigo @ Feb 7 2010, 22:38) *
работают флаги в железе.
Без обработчика прерываний? Задача, которая инициировала обмен по SPI, должна как-то данные забрать. А если она инзкоприоритетная?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 00:21
Рейтинг@Mail.ru


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