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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> STM32F407: Ethernet + CHECKSUM_BY_SOFTWARE
jcxz
сообщение Apr 28 2017, 15:43
Сообщение #16


Гуру
******

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



Цитата(Forger @ Apr 28 2017, 16:19) *
мьютекс поможет в устранении этого "бага", а вот семафор уже не поможет.

Ещё раз: Каким образом???
Я знаю как это делается например в Win. Но там это свойство - всей системы объектов синхронизации. Вне зависимости от того, что это - мьютекс или event. Т.е. - не зависит от типа объекта.

Цитата(Forger @ Apr 28 2017, 16:19) *
Нужно объявлять объект "ящика" через OSMboxCreate, заранее создав его экземпляр. Т.е. тратим ОЗУ.

Это, к сожалению, так.
Go to the top of the page
 
+Quote Post
Forger
сообщение Apr 28 2017, 16:18
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 484
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(jcxz @ Apr 28 2017, 18:43) *
Ещё раз: Каким образом???

Очень просто - средствами самой os, а точнее, встроенными механизмами борьбы с инверсией приоритетов: протокол наследования приоритета (Priority inheritance protocol), протокол увеличения приоритета (Priority ceiling protocol).
Например, вот как это сделано на примере tnkernel.:

Возвращаясь к началу разговора:
Цитата
Мютекс - это объект RTOS, предназначенный для обеспечения конкурентного доступа к общим ресурсам.
Мютекс представляет собой двоичный семафор с дополнительными свойствами (например, протоколы обхода неограниченной инверсии приоритетов).


Цитата(jcxz @ Apr 28 2017, 18:43) *
Это, к сожалению, так.

А чего тогда было спорить? wink.gif
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 28 2017, 18:40
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 645
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Forger @ Apr 28 2017, 16:16) *
Дабы не спорить, ждем код считалки в студию!

Всё есть здесь.
За исключением драйвера Ethernet, который сделал неизвестно кто. Вот там бы я и искал проблему. Может быть, просто переписал бы его, потому что всё время так и делаю. Там нужно около 300 строк всего.
Go to the top of the page
 
+Quote Post
Forger
сообщение Apr 28 2017, 19:28
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 484
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(scifi @ Apr 28 2017, 21:40) *
Может быть, просто переписал бы его, потому что всё время так и делаю. Там нужно около 300 строк всего.

Кстати, просветите меня - неуча: почему так настойчиво юзают lwip версию 1.4 даже в новых проектах, коли уже давно существует 2.хх?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 28 2017, 19:58
Сообщение #20


Гуру
******

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



Цитата(Forger @ Apr 28 2017, 18:18) *
Очень просто - средствами самой os, а точнее, встроенными механизмами борьбы с инверсией приоритетов:

Передёргиваете.
Вы утверждали выше, что мьютекс сам по себе решает проблему инверсии приоритетов.
Я Вам написал, что это не так, что мьютекс и инверсия приоритетов - это как горячее и зелёное - никакого отношения одно к другому не имеет.
Средства для борьбы с инверсией приоритетов, если таковые есть, они сами по себе, и они не являются свойством мьютекса, а если они есть, то имеются в разных средствах синхронизации (мьютексы, семафоры, критические секции и т.п.).
Т.е. - в каких-то ОС они есть, в каких-то - нет. Я знаю, что такие средства есть в Win, но их нет в uCOS. Но мьютексы есть и там и там.

Цитата(Forger @ Apr 28 2017, 18:18) *
А чего тогда было спорить? wink.gif

Спорить о чём? Где я утверждал, что для объектов синхронизации uCOS не нужна ОЗУ??? wacko.gif
Go to the top of the page
 
+Quote Post
Forger
сообщение Apr 28 2017, 20:41
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 484
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(jcxz @ Apr 28 2017, 22:58) *
Вы утверждали выше, что мьютекс сам по себе решает проблему инверсии приоритетов.

Перечитайте мои посты еще раз отсюда, пожалуйста.
На всякий случай еще раз продублирую мануал uCos: "Semaphores are subject to unbounded priority inversions, while mutex are not."
и википедию: "Мютекс представляет собой двоичный семафор с дополнительными свойствами (например, протоколы обхода неограниченной инверсии приоритетов)."
Цитата(jcxz)
"...Почти везде для разделения ресурсов используем семафоры.."
smile3046.gif

Цитата
Спорить о чём?
.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 28 2017, 21:10
Сообщение #22


Гуру
******

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



Цитата(Forger @ Apr 28 2017, 22:41) *
Перечитайте мои посты еще раз

Зачем? Вы в сообщении 8 уже небылицы рассказываете.

Цитата(Forger @ Apr 28 2017, 22:41) *
и википедию: "Мютекс представляет собой двоичный семафор с дополнительными свойствами (например, протоколы обхода неограниченной инверсии приоритетов)."

Очевидно, что такого бреда не может быть в википедии. Хотя бы потому, что "мютексов" никаких не существует в природе, а есть "мьютексы". А отсюда следует, что эту фразу Вы ниоткуда не скопировали, а высосали из пальца.
Вы сами то почитайте хотя-бы википедию, https://ru.wikipedia.org/wiki/Мьютекс
и узнаете что такое мьютекс и deadlock и многое другое.

PS: И про отличие семафора от мьютекса там тоже сказано. Совсем не то что Вы думаете.
Go to the top of the page
 
+Quote Post
Forger
сообщение Apr 28 2017, 22:40
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 484
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(jcxz @ Apr 29 2017, 00:10) *
....небылицы рассказываете. ....такого бреда не может быть в википедии. ...
..."мютексов" никаких не существует в природе, а есть "мьютексы".

Когда все объективные аргументы исчерпаны, в ход идет "тяжелая артиллерия": придирка к грамматическим ошибкам, обвинения в "бреде", "небылицах", "высосано из пальца" т.п. ...

Цитата(jcxz)
А отсюда следует, что эту фразу Вы ниоткуда не скопировали, а высосали из пальца.

"Высосано" отсюда.

Цитата(jcxz)
И про отличие семафора от мьютекса там тоже сказано. Совсем не то что Вы думаете.
Значит врут книги или я просто не умею читать.
А мануалы к uCos, freeRTOS, tnkernel и другим осям вообще рассказывают целые "небылицы".... Нда, как все печально-то crying.gif
Уж сделайте милость, просветите неучей - в чем же состоит Истинное Отличие семафора от мьютекса!
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 29 2017, 04:29
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 645
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Forger @ Apr 28 2017, 22:28) *
Кстати, просветите меня - неуча: почему так настойчиво юзают lwip версию 1.4 даже в новых проектах, коли уже давно существует 2.хх?

Полгода всего. Это недавно, почти вчера.
Скажем, если сравнивать с C99, понадобилось лет 10, чтобы начало внедряться.
Кстати, насчёт "новых проектов" я бы уточнил. Скажем, порт lwip для FreeRTOS - это старый проект. Кубический куб - тоже. А вот чтобы кто-то самостоятельно взял исходники lwip с официального сайта и прикрутил к своему проекту - это редкость. Обычно возникают вопросы типа "ой, у меня не работает, где там галочку поставить в кубическом кубе?"
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 29 2017, 08:07
Сообщение #25


Гуру
******

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



Цитата(Forger @ Apr 29 2017, 00:40) *
Когда все объективные аргументы исчерпаны, в ход идет "тяжелая артиллерия": придирка к грамматическим ошибкам, обвинения в "бреде", "небылицах", "высосано из пальца" т.п. ...

Может Вы не поняли, но это не придирка к грамматике. Вы написали про википедию и типа привели выдержку из неё. Я указал, что это не может быть ссылкой оттуда, так как в википедии даже слово "мютекс" не находится. Значит Ваш аргумент выдуман. И в википедии кстати в описании мьютекса ничего не говорится о его возможностях по инверсии приоритета. Как и следовало ожидать. И статья там безотносительно ОС - для всех ОС.

Цитата(Forger @ Apr 29 2017, 00:40) *
"Высосано" отсюда.
Значит врут книги или я просто не умею читать.

Вот это похоже на правду - что не умеете читать.
Отсюда Вы и дёрнули эту цитату. И совсем не поняли, что она относится к конкретной ОС - tnkernel. Т.е. - как я и писал ранее - средства борьбы с инверсией приоритетов - это свойство данной ОС, а не в целом всех мьютексов как класса объектов синхронизации. Мьютексы в других ОС могут не иметь таких средств или иметь другие и от этого они не перестают быть мьютексами.

Цитата(Forger @ Apr 29 2017, 00:40) *
А мануалы к uCos
Уж сделайте милость, просветите неучей - в чем же состоит Истинное Отличие семафора от мьютекса!

Отличия описаны в той же википедии.
Лучше Вы - сделайте милость - укажите каким образом мьютекс в uCOS-II борется с инверсией приоритетов. Мне очень интересно. А то пользуюсь uCOS-II уже лет 10 и не знал о такой её замечательной особенности!
Если докажете что мьютексы умеют это делать, вот ей богу - перейду исключительно на них biggrin.gif

Цитата(scifi @ Apr 29 2017, 06:29) *
А вот чтобы кто-то самостоятельно взял исходники lwip с официального сайта и прикрутил к своему проекту - это редкость.

А чтобы кто-то самостоятельно взял и написал TCP-стек самостоятельно, не беря lwIP? rolleyes.gif
Go to the top of the page
 
+Quote Post
Forger
сообщение Apr 29 2017, 08:09
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 484
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(jcxz @ Apr 29 2017, 11:00) *
Если докажете что мьютексы умеют это делать, вот ей богу - перейду исключительно на них biggrin.gif

Если за 10 лет работы, имея под боком мануалы и исходники оси, вы так и не выяснили даже разницу между мьютексом и семафором, то в данном случае я уже ничем помочь не смогу. Извините rolleyes.gif
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 29 2017, 08:15
Сообщение #27


Гуру
******

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



Цитата(Forger @ Apr 29 2017, 10:09) *
Если за 10 лет работы, имея под боком мануалы и исходники оси, вы так и не выяснили разницу между мьютексом и семафором, то я уже ничем помочь не смогу. Извините rolleyes.gif

Слились значит. Что и следовало ожидать.
Так как никаких средств борьбы с инверсией приоритетов мьютекс (сам по себе, как класс объектов синхронизации в разных ОС) не имеет.
Go to the top of the page
 
+Quote Post
Forger
сообщение Apr 29 2017, 08:21
Сообщение #28


Местный
***

Группа: Свой
Сообщений: 484
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(jcxz @ Apr 29 2017, 11:15) *
Так как никаких средств борьбы с инверсией приоритетов мьютекс (сам по себе, как класс объектов синхронизации в разных ОС) не имеет.

Нда, случай тяжелый ... поэтому последняя попытка: открывайте исходники вашей (оси os_sem.c и os_mutex.c) и изучайте разницу между аналогичными функциями.
На всякий случай подскажу - ищите фразу "OS_ERR_PIP_LOWER" в файле os_mutex.c.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 29 2017, 08:26
Сообщение #29


Гуру
******

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



Цитата(Forger @ Apr 29 2017, 10:21) *
Справитесь самостоятельно или нужно разжевать и тут?

Разжуйте. Какую именно строку надо изучать? laughing.gif

Цитата(Forger @ Apr 29 2017, 10:21) *
На всякий случай подскажу - ищите фразу "OS_ERR_PIP_LOWER" в файле os_mutex.c.

Нет такой фразы! Т.е. - вообще нет ни в одном файле.
Опять из пальца высасываете.
Go to the top of the page
 
+Quote Post
Forger
сообщение Apr 29 2017, 08:27
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 484
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(jcxz @ Apr 29 2017, 11:23) *
Разжуйте. Какую именно строку надо изучать? laughing.gif

Все ясно: привычка "забивать гвозди лопатой" за 10 лет практики уже превратилась в религию
А менять чужую религию - самое последнее, что стоит делать. smile3046.gif


Цитата(jcxz @ Apr 29 2017, 11:26) *
Нет такой фразы! Т.е. - вообще нет ни в одном файле.Опять из пальца высасываете.

У меня есть последняя версия uCos-II v2.90, но это появилось уже в версии 2.80, а в 2.76 нет.
Обновите ось.

А в uCos-III (у меня под боком V3.03.00) мьютекс стал еще более умным - появилось еще больше возможных ошибок применения.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd May 2017 - 16:52
Рейтинг@Mail.ru


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