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

 
 
> STM32F4 Ethernet + Dallas: перетягивание каната
k000858
сообщение Aug 27 2015, 04:15
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Всем привет.
Есть девайс : stm + 1-wire шина (реализованная аппаратным UART'ом) + ethernet (обслуживается стеком Lwip), управляется FreeRTOS.

Есть 2 задачи (есть и другие, но они на работу не влияют):
1) Обслуживание Ethernet (приоритет realtime (highest))
2) Обслуживание шины 1 wire. (задача выполняется раз в секунду с osDelay(1000)wink.gif Этапы:
- поиск устройств на шине
- запись инициализирующих данных (для каждого по серийнику из найденных)
- конвертация температуры (для всех)
- osDelay(100);
- конвертация напряжения/тока (для всех СКИП РОМ)
- osDelay(5);
- чтение памяти каждого датчика (по серийнику)

Если приоритет 2й задачи нормал или хай (ниже езернетного таска), езернет работает отлично (пинг без потерь, время ответа 1 мс), однако датчики Даллас работают с перебоем - видимо нарушаются задержки в протоколе общения (задержки аппаратные, т.к. 1-wire шина эмулируется ЮАРТом).
Если приоритет 2й задачи = приоритету езернета, езернет работает неситабильно, регулярно время ответа увеличивается до 10-100мс (при 3 датчика Даллас на шине 1-wire) (в этот момент видимо проц занят работой 2й задачи, по обслуживанию шины 1-wire).

Посоветуйте, плиз, как оптимизировать работу этих 2х задач, что бы задача 1 работала стабильно (с текущим приоритетом), задача 2 так же работала стабильно, выполняясь раз в секунду.



Второй вопрос по тему: FreeRTOS к девайсу прикрутил совсем недавно. Разбираюсь с распределением памяти. На данный момент определяюсь, сколько памяти отдать каждой задачи. Вроде как нужно определить функцию диагностики стэка ОС, которой определять, у какой задачи переполняется стек, увеличивать стек каждой задачи пока не прекратится переполнение. Верно? Как определить такую диагностическую функцию? не могу найти ее в исходниках. Как посчитать (хотя бы ориентировочно), сколько кучи выделить в целом ОС (configTOTAL_HEAP_SIZE) ? И влияет ли размер памяти, выделяемой для Ос на настройки стека/кучи всего Си проекта?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- k000858   STM32F4 Ethernet + Dallas: перетягивание каната   Aug 27 2015, 04:15
- - SasaVitebsk   Есть понятие системного тика. Это время переключен...   Aug 27 2015, 04:59
|- - k000858   Цитата(SasaVitebsk @ Aug 27 2015, 07:59) ...   Aug 27 2015, 05:09
|- - SasaVitebsk   Цитата(k000858 @ Aug 27 2015, 08:09) При ...   Aug 27 2015, 05:57
- - mantech   Цитата(k000858 @ Aug 27 2015, 07:15) Есть...   Aug 27 2015, 06:17
|- - Сергей Борщ   Цитата(mantech @ Aug 27 2015, 09:17) Личн...   Aug 27 2015, 07:42
|- - jcxz   Цитата(mantech @ Aug 27 2015, 12:17) Личн...   Aug 27 2015, 08:03
- - SasaVitebsk   Как формируются задержки при работе с ОСью. Моё ви...   Aug 27 2015, 06:18
- - scifi   Цитата(k000858 @ Aug 27 2015, 07:15) Если...   Aug 27 2015, 06:23
|- - k000858   Цитата(scifi @ Aug 27 2015, 09:23) Дурдом...   Aug 27 2015, 06:53
|- - scifi   Цитата(k000858 @ Aug 27 2015, 09:53) може...   Aug 27 2015, 07:17
|- - SasaVitebsk   Цитата(k000858 @ Aug 27 2015, 09:53) пока...   Aug 27 2015, 07:39
- - bugdesigner   Проблема с нестабильностью 1-wire скорее всего свя...   Aug 27 2015, 07:07
|- - k000858   Цитата(bugdesigner @ Aug 27 2015, 10:07) ...   Aug 27 2015, 07:21
|- - jcxz   Цитата(k000858 @ Aug 27 2015, 13:21) в ка...   Aug 27 2015, 07:49
- - Сергей Борщ   Цитата(k000858 @ Aug 27 2015, 07:15) одна...   Aug 27 2015, 07:36
- - Сергей Борщ   Добавлено: так у вас там еще и ПДП. Тогда вообще н...   Aug 27 2015, 07:50
- - SasaVitebsk   Вот кидаю вам картинку, где виден плагин FreeRTOS,...   Aug 27 2015, 08:29
|- - k000858   Цитата(SasaVitebsk @ Aug 27 2015, 11:29) ...   Aug 27 2015, 08:33
|- - SasaVitebsk   Цитата(k000858 @ Aug 27 2015, 11:33) вот ...   Aug 27 2015, 08:46
|- - jcxz   Цитата(k000858 @ Aug 27 2015, 14:33) вот ...   Aug 27 2015, 08:53
- - k000858   а теперь вопрос на миллион!!! 1) задач...   Aug 27 2015, 09:02
|- - scifi   Цитата(k000858 @ Aug 27 2015, 12:02) при ...   Aug 27 2015, 09:32
|- - jcxz   Цитата(k000858 @ Aug 27 2015, 15:02) при ...   Aug 27 2015, 09:34
|- - k000858   Цитата(jcxz @ Aug 27 2015, 12:34) Ну если...   Aug 27 2015, 10:41
- - SasaVitebsk   Я бы никаких критических секций не делал. И даже н...   Aug 27 2015, 11:27
|- - k000858   Цитата(SasaVitebsk @ Aug 27 2015, 14:27) ...   Aug 28 2015, 02:47
|- - jcxz   Цитата(SasaVitebsk @ Aug 27 2015, 17:27) ...   Aug 28 2015, 16:23
- - k000858   Что бы не создавать вторую тему, задам вопрос в эт...   Aug 28 2015, 05:47
|- - scifi   Цитата(k000858 @ Aug 28 2015, 08:47) Подо...   Aug 28 2015, 06:37
|- - k000858   Цитата(scifi @ Aug 28 2015, 09:37) Сомнев...   Aug 28 2015, 06:50
|- - scifi   Цитата(k000858 @ Aug 28 2015, 09:50) в пр...   Aug 28 2015, 10:05
|- - kolobok0   Цитата(k000858 @ Aug 28 2015, 09:50) ...в...   Aug 28 2015, 16:31
- - k000858   появился еще вопрос от относительно ФрииРТОС: есть...   Sep 1 2015, 10:54
|- - kolobok0   Цитата(k000858 @ Sep 1 2015, 13:54) ... е...   Sep 1 2015, 11:20
- - SasaVitebsk   Переменные передаваемые при создании задачи служат...   Sep 1 2015, 18:37
- - k000858   весьма информативно. благодарю. исследование работ...   Sep 2 2015, 03:03
- - k000858   в процессе доработки столкнулся с зависанием некот...   Sep 2 2015, 06:50
|- - Сергей Борщ   Цитата(k000858 @ Sep 2 2015, 09:50) задач...   Sep 2 2015, 06:54
|- - jcxz   Цитата(k000858 @ Sep 2 2015, 12:50) Есть ...   Sep 2 2015, 06:59
- - k000858   да это понятное дело, что я могу сам сваять некий ...   Sep 2 2015, 07:02
|- - jcxz   Цитата(k000858 @ Sep 2 2015, 13:02) да эт...   Sep 3 2015, 03:45
- - k000858   Если мне необходимо выполнять некую задачу (наприм...   Sep 3 2015, 07:15
- - SasaVitebsk   Ну я так понимаю, что вам же не надо точно 1 сек? ...   Sep 4 2015, 05:22
|- - k000858   Цитата(SasaVitebsk @ Sep 4 2015, 08:22) Н...   Sep 4 2015, 08:07
- - SasaVitebsk   1. Я не совсем понял ф-ции osSemaphoreRelease/ osS...   Sep 7 2015, 06:01


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

 


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


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