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

 
 
> freeRTOs 8.1.2 не стабильно работает приложение, попробую объяснить как получается
kan35
сообщение Apr 11 2015, 05:52
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Приложение крутится на STM32F405 и взаимодействует с vlsi1053b. Захватывает звук по SPI от Vlsi и сохраняет на SD карту (по SDIO). Еще один поток отрабатывает кнопки, итого - 2 потока.
В начале все было хорошо, но как только добавил функцию оцифровки со встроенного ацп (с пустым прерыванием от ДМА по завершению цикла с частотой 22кгц) - появились сбои записи fatfs в основном потоке, например, вызываю запись 100 байтов, а функция сообщает, что записала 55. И после этого уже не пишет ничего.
Пошел дальше - понизил оптимизацию кода до наименьшей - и ошибки начали валиться просто даже при открытии файлов на чтение.
В итоге, убрал взаимодействие с Vlsi, убрал все возможные DMA и прерывания (кроме прерываний от rtos) и результат такой, что сбои случаются если просто запустить и сразу обратиться к карте, хотя если делать все по шагам - все прокатывает отлично. Опять таки - выкручиваю оптимизацию на скорость - и все начинает работать как бы стабильно. Настораживает, что приложение никогда не зависает, просто я фиксирую ошибки по тому или иному блоку (по SD карте или ошибки коммуникации с VlSI) , связанные, как мне видится с длительными блокированиями задач, хотя тот же fatfs работает синхронно по полингу и откуда взяться такому лагу - пока ума не приложу, в vlsi через, например минуту стабильной работы ни с того ни с сего внезапно переполняется буфер с аудиоданнми, вчера день потерял в поиске, что может быть?????

Проект генерировал в STM32CubeMX 4.7, так же стараюсь использовать его обертки для rtos, вроде в них нет подвоха.
настройки прерываний и их приоритеты корректны и за этим следит Cube, тут перепроверял. Глобалный стек - 0x4000, у основной задачи - столько же

Сообщение отредактировал kan35 - Apr 11 2015, 06:02
Go to the top of the page
 
+Quote Post



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

 


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


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