AUTOSAR: рекомендуется напрямую вызывать runnable из планировщика? - PullRequest
0 голосов
/ 20 февраля 2019

Я открываю для себя мир AUTOSAR.

Мой вопрос касается кода:

Я понял, что исполняемые объекты SW-C вызываются из RTE с использованием API-интерфейсов RTE, согласнособытия (init, хронометраж, прием данных).Можно ли напрямую вызывать исполняемый объект (как мы вызываем функцию) из планировщика, например, после синхронного события (например, в TopDeadCenter движка).Я думаю, что это "переопределит" RTE, опасно ли продолжать так?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

В общем, если вы хотите обойти то, что делает RTE, вы, вероятно, не проектируете вещи, как задумано Autosar.

Прямой вызов исполняемых файлов SWC является довольно серьезным нарушением этой концепции.Runnables являются планируемыми объектами, предназначенными для планирования ОС косвенно через RTE.Runeable должен быть активирован RTE в ответ на RTEEvent или несколько таких событий.

Обход RTE нарушит параллелизм и гарантии повторного входа, которые предоставляет RTE, а также целостность данных гарантирует RTE в отношениилюбые данные, считываемые / записываемые исполняемым файлом.

Если вы хотите вызвать исполняемый файл в ответ на событие, и это событие обнаруживается каким-либо другим SWC, вы должны использовать связь клиент / сервер.Ваш исполняемый файл станет операцией на сервере и будет вызываться через точку вызова.В данном случае «спецификация клиент-сервер» - это то, что вы должны найти в спецификации, чтобы понять ее.

0 голосов
/ 20 февраля 2019

Обход RTE - это не очень хорошая идея, так как он делает нечто большее, чем просто отправка вызовов.

Посмотрите на многоуровневую структуру архитектуры AUTOSAR;Ваше RunnableEntity (Приложение) и Планировщик BSW (Системные службы) находятся «на двух этажах».Так что не надо.:)

...