Простые системы реального времени часто работают в архитектуре "большой петли" с некоторыми критическими по времени событиями, обрабатываемыми прерываниями. Это не «плохая» архитектура, хотя она несколько негибкая, плохо масштабируется, и любое изменение может повлиять на время и / или на все части системы.
Неверно, что RL-TCPnet должен работать таким образом, но он предназначен для автономной работы, и примеры работают таким образом, чтобы не было никаких зависимостей от других библиотек для самой широкой применимости. Они являются только примерами и предназначены для демонстрации RL-TCPnet и ничего более. В этом смысле примеры не являются реалистичными и должны быть адаптированы к вашим требованиям.
Вы можете разработать систему, в которой весь код вашего приложения выполняется в обработчиках прерываний, а сетевой стек представляет собой службы в бесконечном цикле в контексте потока, но архитектурно это, вероятно, намного хуже, чем архитектура "большого цикла", так как у вас могут получиться очень длинные обработчики прерываний, более высокоприоритетные из которых истощаются и влияют на реакцию в реальном времени низко приоритетных. В итоге вы получите систему, которую сложно спланировать удовлетворительно. Более того, не все библиотечные подпрограммы подходят для выполнения в обработчике прерываний, поэтому это будет довольно ограничительным.
Можно обслуживать сетевой стек в потоке с низким приоритетом в ОСРВ. Структура для такой операции описана в документации в разделе: Использование RL-TCPnet с ядром RTX. . Это потребует от вас понимания и использования библиотеки ядра RL-RTX, но с учетом ваших оговорок в отношении кода «большого цикла» и описания задач, которые должна выполнять ваша система, похоже, что это то, что вы хотите делать в любом случае. Если вы решите использовать другую ОСРВ, тогда RL-TCPnet может работать аналогично с любой ОСРВ.