-
- Как я понял пример, чтобы проверить на отсутствие свойства "static" у локальной переменной. shan(530 знак., 30.06.2015 16:03)
- Неправильно поняли. Приведенный мной текст - ловушка для вложенных вызовов функции. Статик переменная - счетчик вызовов. Если она больше 1, то это означает, что выполнение функции было прервано, поток переключился и из другого потока была снова vmp(21 знак., 30.06.2015 18:08)
- Добавил эту ловушку. shan(166 знак., 30.06.2015 21:17)
- Можно ловушку и на адрес буфера поставить. vmp(268 знак., 30.06.2015 21:25 - 21:57)
- Поставил на адрес буфера+длина: shan(377 знак., 30.06.2015 22:19 - 22:26)
- Ставить семафоры без причины - это танцы с бубном. У вас есть бубен? Если нет, то ничего не получится. - SciFi(30.06.2015 22:28)
- Мониторинг показал, что ОС иногда добавляет к передаваемым данным из ОЗУ в SPI 2 байта. shan(1430 знак., 10.07.2015 16:27 - 16:32)
- Если программа работает, то количество ошибок четное:) - Vit(10.07.2015 16:37)
- Поставил мьютики на все запросы к файловой системе во всех потоках. НЕ ПОМОГЛО - shan(10.07.2015 16:03)
- Мониторинг показал, что ОС иногда добавляет к передаваемым данным из ОЗУ в SPI 2 байта. shan(1430 знак., 10.07.2015 16:27 - 16:32)
- Отладчик может показать последовательность вызовов функций. А если не получается - ставьте ловушки выше (или ниже, всё относительно) по дереву вызовов. На самом деле всё просто. Вот если бы ошибка происходила раз в месяц, тогда было бы тяжко. - SciFi(30.06.2015 22:23 - 22:26)
- Ставить семафоры без причины - это танцы с бубном. У вас есть бубен? Если нет, то ничего не получится. - SciFi(30.06.2015 22:28)
- Поставил на адрес буфера+длина: shan(377 знак., 30.06.2015 22:19 - 22:26)
- Можно ловушку и на адрес буфера поставить. vmp(268 знак., 30.06.2015 21:25 - 21:57)
- Добавил эту ловушку. shan(166 знак., 30.06.2015 21:17)
- Неправильно поняли. Я с ртосами не возился, но даже мне понятно. Вы в курсе, для чего существуют мьютексы, семафоры и прочее? SciFi(38 знак., 30.06.2015 16:18)
- Конечно. В проекте уже есть с десяток семафоров. Но к функциям SPI драйвера и SPI флеш памяти я напрямую не обращаюсь а только через файловые функции ОС. shan(807 знак., 30.06.2015 16:44 - 16:53)
- Неправильно поняли. Приведенный мной текст - ловушка для вложенных вызовов функции. Статик переменная - счетчик вызовов. Если она больше 1, то это означает, что выполнение функции было прервано, поток переключился и из другого потока была снова vmp(21 знак., 30.06.2015 18:08)
- Пардон за сарказм, но строить системы на RTOS и не знать, что такое static, - это атас. - SciFi(29.06.2015 22:42)
- Знаю теоретически, а как на практике это делает компилятор КЕЙЛа, и есть ли подводные камни- опыта маловато. - shan(30.06.2015 15:48)
- можно строить, даже можно успешно строить. А вот без правильно расставленных семафоров низя. - Nikolay801_(30.06.2015 11:30)
- Как я понял пример, чтобы проверить на отсутствие свойства "static" у локальной переменной. shan(530 знак., 30.06.2015 16:03)