Я работаю над проектом для автомобильной системы, где мы используем MCU MPC5748. Приложение использует RTOS на основе ОС AUTOSAR, и эта цель MPC поддерживает два типа сторожевых устройств; программного обеспечения и аппаратного обеспечения (они использовали мягкую WDT).Как отключить таймер WatchDog для определенной задачи во встроенной системе
Моя миссия состоит в том, чтобы подгонять алгоритм в этом приложении, разработка алгоритма выполнена, проблема в том, что в задаче, в которой работает алгоритм, есть 1ms-задача, и алгоритму требуется гораздо больше времени, чем время, посвященное этой функции.
Я новичок во встроенном мире. Кстати, в основной функции алгоритма программа сбрасывает себя, и это похоже на timeOut, порожденное истечением сторожевого таймера.
Мои вопросы:
Могу ли я отключить сторожевой таймер для этой заданной функции (которые не должны быть отключены, но только для целей тестирования)? Можно использовать больше timeOut для сторожевого таймера для указанной функции?
Должен ли я разработать другую задачу с большой задержкой в других для запуска алгоритма? Но проблема в том, что алгоритм должен быть синхронизирован с задачей 1ms, так как мы получаем CAN-команды.
Могу ли я добавить сон (< 1ms) на нужную функцию для того, чтобы немного подождать witout затрагивая другие задачи
Какие другие варианты, чтобы попробовать?
NB: Это общая проблема с таймером сторожевого таймера, и любая полезная информация будет полезна для меня. Извините, потому что я не могу поделиться этим кодом.
Я верю [этот ответ] (http://stackoverflow.com/questions/14758045/strategy-for-feeding-a-watchdog-in-a-multitask-environment/14780682#14780682) (и вопрос) будет полезно для вас. – kkrambo
Было бы полезно, возможно, знать, как долго «алгоритм» на самом деле берет на себя выполнение - исправлено ли это? Он детерминирован? Задача 1ms напрямую использует результат алгоритма? Какова цель алгоритма? Что такое ответственность за задание (кроме упоминания CAN Rx)? Вы не можете использовать этот код, но псевдокод, описывающий архитектуру задачи, может помочь. – Clifford
, проблема в том, что алгоритм декомпрессии имеет определенное время и зависит от содержимого сжатого файла ... Я измерил прошедшее время, и я обнаружил, что алгоритм может передавать 10us (MicroSeconds) для декодирования один кадр и для другого кадра, который будет декодирован до большого количества данных, до 800 мкс, а в худшем случае - более 1 мс и более .... –