Комплексные Решения ЦОС |
Прикладные Материалы | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
AN-ru-201 AN
#201 Rev.B
(2019-08-06) Выбор ОСРВ для ПЦОС TI TMS320C6678 и среды TASDK разработки ПО для AdvancedMC (AMC) модулей TORNADO-A6678xП.А.
Семенов, к.т.н.
Настоящий прикладной материал является частью руководства пользователя среды TASDK® (сокращение от TORNADO-Axxx Software Development Kit) разработки прикладного программного обеспечения (ПО) для AdvancedMC (AMC) модулей TORNADO-A6678x (далее как TA6678x) фирмы МикроЛАБ Системс, построенных на базе 8-ми ядерного процессора ЦОС (ПЦОС) TMS320C6678 фирмы Texas Instruments (TI, www.ti.com) и ПЛИС Xilinx Virtex-7 (www.xilinx.com). Данный материал содержит обзор, сравнение, результаты тестирования и рекомендации по выбору операционной системы реального времени (ОСРВ) для разработки прикладного ПО ПЦОС TMS320C6678 AMC-модулей TA6678x на базе среды TASDK фирмы МикроЛАБ Системс. Этот же материал может быть рекомендован как общее руководство по выбору ОСРВ для разработки прикладного ПО для любых устройств на базе ПЦОС TI TMS320C667x. Нужна ли ОСРВ для ПЦОС TI TMS320C6678?В общем случае, если учесть архитектуру и особенности функционирования 8-ми ядерного ПЦОС TI TMS320C6678, то вопрос "Нужна ли ОСРВ для ПЦОС TI TMS320C6678?" является риторическим и не совсем корректным. Рассмотрим несколько примеров. Когда ОСРВ не нужна ...Так, если рассматривать ПЦОС TI TMS320C6678 как аппаратную платформу для выполнения только алгоритмов ЦОС, то ответ будет однозначный - "Не только не нужна, но и вредна". Это связано с тем, что любой ПЦОС и его прикладное ПО всегда "затачиваются" исключительно на выполнение алгритмов ЦОС с максимально возможной скоростью в реальном времени, а любая ОСРВ для ПЦОС только снижает его производительность и существенно повышает риск "не уложиться" во временные спецификации конкретного приложения. Именно поэтому, все ОСРВ не нашли применения для одноядерных ПЦОС для диспетчеризации задач управления и ЦОС. Эта "печальная" участь постигла как порты ПЦОС таких широко известных, универсальных, мультиплатформенных и отлично оптимизированных ОСРВ как Nucleus RTX/Plus фирмы Accelerated Technology (сегодня подразделение фирмы Mentor Graphics) и многих других, так и специализированную ОСРВ SPOX фирмы Spectron Microsystems для ПЦОС TI TMS320C3x/C4x (была куплена в 1995г. фирмой Texas Instruments и далее преобразовалась в TI DSP SysBIOS и TI-RTOS). Известны даже порты Linux для ПЦОС TI TMS320C64xx, которые бессмысленны по своей сути. Когда ОСРВ нужна ...Однако, если учесть 8-ми ядерную архитектуру ПЦОС TI TMS320C6678 со множеством интегрированных контроллеров и при этом переформулировать вопрос "Нужна ли ОСРВ для ПЦОС TI TMS320C6678?" в "Нужна ли ОСРВ для ПЦОС TI TMS320C6678 в случае, если требуется .... ?", то такая постановка может быть вполне корректна и оправдана. Примером является требование поддержки внешней коммуникации через локальную сеть (LAN) с применением встроенных портов 1GbE ПЦОС TI TMS320C6678. Фирма TI задумала и реализовала архитектуру "Keystone" с оптимизированными высокоскоростными каналами внутренней коммуникации как в своих гетерогенных мультиядерных "системах на кристалле" ARM+ПЦОС (66KAK2Exx, 66AK2Gxx, 66KAK2Lxx, и др.), так и в гомогенных мультиядерных ПЦОС типа TMS320C667x и др. Все из этих устройств имеют встроенные периферийные встроенные порты 1GbE (SGMII) с коммутатором Ethernet, которые предназначены для внешней коммуникации через LAN для задач приемо-передачи данных реального времении и для удаленного управления, в зависимости от конкретного приложения. Для программной реализации коммуникации через LAN требуется ПО IP-стека с поддержкой UDP и TCP/IP пакетов, который, в свою очередь, требует наличия ОСРВ для эффективной работы. Т.к. 8-ми ядерный ПЦОС TMS320C6678 имеет встроенный загрузчик, который стартует на ядре #0 ПЦОС, то в случае приложений с коммуникацией по портам 1GbE через LAN, ядро #0 ПЦОС разумно выделить для задач удаленного управления и приемо-передачи данных реального времени на базе ОСРВ и IP-стека, а ядра #1..#7 - для выполнения приложений ЦОС реального времени без ОСРВ ("bare-metal"). По сути, в этом случае ядро #0 ПЦОС выполняет функционал встроенного управляющего контроллера на базе дешевого процессора (например ARM или RISC), что характерно для ядер ARM при использовании "систем на кристалле" ARM+ПЦОС (66KAK2Exx, 66AK2Gxx, 66KAK2Lxx, и др.). Однако, если сравнить с максимально возможной загрузкой приложениями ЦОС, то это приводит к незначительной потери всего лишь 1/8 (12.5%) от суммарной производительности ПЦОС, но при этом придает универсальные возможности дистанционного управления устройством и внешней коммуникации. Конечно, в общем случае ПО для ядер #1..#7 ПЦОС может также использовать ОСРВ, но это не целесообразно, т.к. приведет к неоправданной потере производительности приложений ЦОС для этих ядер. Организация ПО для ПЦОС TMS320C6678 AMC-модулей TA6678x на базе ОСРВ и среды TASDKИменно описанным выше образом организовано функционирование ПО для ПЦОС TMS320C6678 AMC-модулей TA6678x на базе среды TASDK фирмы МикроЛАБ Системс:
Поддерживаемые ОСРВ для ПЦОС TI TMS320C6678 и среды TASDK для AMC-модулей TA6678xСреда TASDK разработки ПО для ПЦОС AMC-модулей TA6678x поддерживает следующие ОСРВ:
В последующих разделах приводится сравнение ОСРВ для среды TASDK для AMC-модулей TA6678x по общим критериям и объективным показателям различных тестов, что позволяет сделать правильный выбор ОСРВ для среды TASDK в зависимости от конкретных требований разрабатываемого прикладного ПО и требований эксплуатации AMC-модулей. Общие критерии сравнения ОСРВ для среды TASDK для AMC-модулей TA6678xОбщее сравнение ОСРВ для среды TASDK для AMC-модулей TA6678x можно провести на основе сравнительного анализа следующих характеристик для каждой из ОСРВ:
В настоящем разделе кратко рассматриваются перечисленные выше общие критерии сравнения ОСРВ для среды TASDK для AMC-модулей TA6678x. Для более детальнй информации обращайтесь к документации для рассматриваемых ОСРВ или в службу технической поддержки МикроЛАБ Системс. Сравнение функционала ОСРВ и сетевой функции ОСРВ для среды TASDK для AMC-модулей TA6678xВ таблице 1 приведено сравнение функционалов ОСРВ и сетевых функций (опций) ОСРВ для среды TASDK для AMC-модулей TA6678x. Таблица 1. Сравнение функционала ОСРВ SysBIOS+NDK (TI) и ThreadX+NetXDuo (Express Logic) для TASDK для AMC-модулей TA6678x.
Как видно из приведенного сравнения, функционал ОСРВ SysBIOS (TI) и ThreadX (Express Logic) примерно одинаков. Однако, функционал сетевой функции ОСРВ ThreadX+NetXDuo несколько шире, чем у сетевой функции ОСРВ SysBIOS+NDK. Кроме того, у ОСРВ ThreadX имеется богатый сервисный функционал в виде универсального трассировщика и системного отладчика, которые полностью отсутствуют у ОСРВ SysBIOS, что значительно упрощает отладку и "тонкую" настройку разрабатываемого многозадачного прикладного ПО. Интерфейс API библиотек ОСРВ для среды TASDK для AMC-модулей TA6678xСравнение "качества" интерфейса API библиотек ОСРВ является достаточно субъективным критерием, который может быть различным у разных пользователей. Однако, при реальном сравнении синтаксиса и имен API функций ОСРВ, можно сказать, что "качество" API интерфейса ОСРВ ThreadX+NetXDuo (Express Logic) гораздо лучше, чем у ОСРВ SysBIOS+NDK (TI) за счет легко запоминающихся имен API функций без сокращения. Необходимо отметить, что данный критерий сравнения ОСРВ является несущественным для разработки приложений для ядра #0 ПЦОС TI TMS320C6678 на базе среды TASDK для AMC-модулей TA6678x, т.к. пользователю рекомендуется пользоваться унифицированными библиотеками TASDK_RTOS_xxx.LIB с удобным унифицированным интерфейсом ОСРВ вместо непосредственного вызова API функций ОСРВ. При использовании библиотек TASDK_RTOS_xxx.LIB пользователю не потребуется использовать непосредственно вызовы API функций ОСРВ. Библиотеки TASDK_RTOS_xxx.LIB транслируют унифицированные API функции ОСРВ в соответствующие вызовы ОСРВ SysBIOS+NDK и ThreadX+NetXDuo, что позволяет иметь единый код разрабатываемого приложения для всех ОСРВ и обеспечить быструю компиляцию приложения для любой поддерживаемой ОСРВ без модификации самого кода. Наличие и качество исходного кода ОСРВ для среды TASDK для AMC-модулей TA6678xОбе ОСРВ SysBIOS+NDK (TI) и ThreadX+NetXDuo (Express Logic) поставляются с исходными кодами, что позволяет модифицировать код при наличии такой необходимости. Однако, при реальном сравнении "качества" исходного кода поддерживаемых ОСРВ, можно сказать, что "качество" кода ОСРВ ThreadX+NetXDuo (Express Logic) значительно лучше, чем у ОСРВ SysBIOS+NDK (TI) за счет наличия подробных комментариев, понятных имен используемых переменных и локальных функций, и лучшего оформления кода. Аналогично критерию интерфейса API библиотек ОСРВ, данный критерий сравнения ОСРВ также является несущественным для разработки приложений для ядра #0 ПЦОС TI TMS320C6678 на базе среды TASDK для AMC-модулей TA6678x, т.к. пользователю рекомендуется пользоваться унифицированными библиотеками TASDK_RTOS_xxx.LIB с удобным унифицированным интерфейсом ОСРВ вместо непосредственного вызова API функций ОСРВ. Пре-сертификация ОСРВ для среды TASDK для AMC-модулей TA6678xКритерий наличия для конкретной ОСРВ пре-сертификатов соответствия промышленным стандартам имеет значение в случае, если к разрабатываемому прикладному ПО предъявляются повышенные требования по надежности работы и требование обязательной последующей сертификации разрабатываемого ПО. Это имеет место при использовании изделий для "критических" приложений (телекоммуникация, медицина, промышленные установки, авионика, и др). Из поддерживаемых ОСРВ для среды TASDK для AMC-модулей TA6678x, только ОСРВ ThreadX+NetXDuo фирмы Express Logic имеет пре-сертификацию по целому ряду промышленных стандартов UL (www.ul.com) и TUV (www.tuvsud.com) и стандартов IoT (интернет вещей), что позволяет гаранировать надежность ее работы в "критических" приложениях. Для множества стандартов UL и TUV имеются полные аналоги стандартов ГОСТ. ОСРВ SysBIOS+NDK фирмы Texas Instruments не имеет пре-сертификации на соответствие промышленным стандартам и, соответственно, не гарантирует надежность разрабатываемого приложения ПЦОС и не допускает использования для "критических" приложений. Техническая поддержка ОСРВ для среды TASDK для AMC-модулей TA6678xТехническая поддержка любого ПО, в том числе и ОСРВ, определяется его "открытостью" и лицензией. Так, все "свободные" бесплатные ОСРВ с откытым кодом, как правило, либо имеют техническую поддержку через он-лайн форум пользователей (и/или разработчиков), либо вообще не имеют технической поддержки. К таковой ОСРВ для среды TASDK для AMC-модулей TA6678x относится ОСРВ SysBIOS+NDK фирмы Texas Instruments. Она не имеет прямой технической поддержки от TI, однако имеет он-лайн форум пользователей. Ответы на технические вопросы на форуме либо приходят с большой задержкой (и, как правило с низким техническим уровнем), либо не приходят вообще (типовой случай). Полной противоположностью является быстрая и высококвалифицированная техническая поддержка коммерческой ОСРВ ThreadX+NetXDuo фирмы Express Logic. При этом, базовую техническую поддержку осуществляет фирма МикроЛАБ Системс (как официальный дистрибьютор Express Logic на территории РФ), а поддержку по специальным техническим вопросам - сама фирма Express Logic. Однако, данный критерий является несущественным для разработки приложений для ядра #0 ПЦОС TI TMS320C6678 на базе среды TASDK для AMC-модулей TA6678x, т.к. пользователю рекомендуется пользоваться унифицированными библиотеками TASDK_RTOS_xxx.LIB с удобным унифицированным интерфейсом ОСРВ вместо непосредственного вызова API функций ОСРВ. В результате, техническая поддержка ОСРВ не потребуется. Всем разработчикам прикладного ПО на базе среды TASDK для AMC-модулей TA6678x фирмой МикроЛАБ Системс оказывает полноценная техническая поддержка среды TASDK. Области применения ОСРВ для среды TASDK для AMC-модулей TA6678xКритерий широты применения конкретной ОСРВ и числа ее инсталляций (количества подтвержденно успешно работающих промышленных устройств с конкретной ОСРВ) является одним из основных для определения ее популярности и успешности. Этот фактор является косвенной характеристикой качества и надежности ОСРВ. Из поддерживаемых ОСРВ для среды TASDK для AMC-модулей TA6678x, только ОСРВ ThreadX+NetXDuo фирмы Express Logic может подтвердить более 6 млрд. промышленно эксплуатируемых устройств, использующих эту ОСРВ в своем ПО. Основными областями применения устройств на базе ОСРВ ThreadX являются компьютерная техника (принтеры Hewlett Packard), промышленность, медицина, IoT (интернет вещей), бытовая техника, сетевые маршрутизаторы, "Системы на Кристалле", авионика, военная техника и др. Такой широкий спектр применения ОСРВ объясняется больших числов поддерживаемых аппаратных платформ (типов процессоров). Полной противоположностью является ОСРВ SysBIOS+NDK (TI-RTOS, TI-RTOS-MCU) фирмы Texas Instruments, которая рассчитана исключительно на процессоры фирмы Texas Instruments (ПЦОС, процессоры ARM, микроконтроллеры MSP430), из которых только процессоры TI ARM имеют относительно широкое распространение. Никаких данных, подтверждающих число промышленно эксплуатируемых устройств с этой ОСРВ, не приводится. Выводы по общему сравнению ОСРВ для среды TASDK для AMC-модулей TA6678xНа основе проведенного выше общего сравнения ОСРВ SysBIOS+NDK (Texas Instruments) и ThreadX+NetXDuo (Express Logic) для среды TASDK для AMC-модулей TA6678x, можно сделать следующие выводы:
Тесты качества и производительности ОСРВ для среды TASDK для AMC-модулей TA6678xПоказатели качества и производительности ОСРВ являются основными характеристиками всех встраиваемых ОСРВ. Именно эти параметры главным образом определяют быстродействие ОСРВ и соответствие разрабатываемого ПО техническим требованиям приложения в части обработки данных реального времени и управления устройством. В настоящем разделе будут рассмотрены сравнительные характеристики качества и производительности ОСРВ SysBIOS (TI) и ThreadX (Express Logic Inc), используемых в среде TASDK для ядра #0 ПЦОС TI TMS320C6678 AMC-модуля TORNADO-A6678/FMC. Характеристики производительности ОСРВК характеристикам производительности ОСРВ обычно относят временные спецификации ОСРВ, включающие времена сохранения и восстановления контекста задач (потоков), переключения задач, создания и удаления задач, передачи сообщений, обработки семафоров, отклика на прерывания, выделения памяти, и др. Казалось бы, что все эти параметры можно узнать из документации для конкретных ОСРВ. Однако, временные характеристики доступны далеко не для всех ОСРВ. Так, они никогда не публикуются для "свобдных" ОСРВ с отрытым кодом (FreeRTOS, TI SysBIOS, Linux и др). Это происходит потому, что основной целью и преимуществом "свободных" ОСРВ является именно открытый код, а не конкуренция и достижение максимально возможной производительности. Как правило, "свободные" ОСРВ с открытым кодом значительно проигрывают коммерческим ОСРВ по характеристикам производительности, которые существуют и развиваются в условиях жесткой конкуренции, и именно характеристики производительности ОСРВ для них являются одними из ключевых для успешного продвижения на рынке. Временные спецификации для отдельных компонентов (объектов) ОСРВ (времена сохранения и восстановления контекста задач, переключения задач, создания и удаления задач, передачи сообщений, обработки семафоров, отклика на прерывания, выделения памяти, и др.) измеряют либо в единицах тактах процессора, или в единицах времени (нс, мкс) при заданной частоте процессора. Как правило, точно измерить эти параметры могут только сами производители ОСРВ, т.к. это требует доступ к коду ОСРВ и детальное знание кода ядра ОСРВ для определения "временных точек" кода, между которыми необходимо производить измерения на симуляторе процессора. Для "свободных" ОСРВ с открытым кодом, такие измерения в принципе могут быть сделаны и самим разработчиком прикладного ПО, однако, только если он достаточно хорошо разбирается в коде ядра ОСРВ. Знание временных спецификаций для различных компонентов ОСРВ позволяет разработчику прикладного ПО оценить "временные издержки", вносимые ОСРВ в работу реально разрабатываемого приложения, и в целом сделать выбор ОСРВ для реализации своего проекта. Характеристики качества ОСРВКроме характеристик производительности ОСРВ, важными параметрами для выбора ОСРВ являются характеристики "качества" ОСРВ, которые характеризуют "качество" выполнения функционала ОСРВ. Основными характеристиками "качества" ОСРВ являются:
Характеристика детерминизма ОСРВ является фундаментальным показателем качества ОСРВ, отвечающая за способность ОСРВ гарантировать, что все готовые к выполнению задачи с одинаковыми приоритетами получат одинаковое число запусков от диспетчера задач в течение определенного интервала времени. Эта характеристика является непосредственной оценкой качества алгоритма работы диспетчера задач ядра ОСРВ, являющимся основным компонентом ОСРВ. Наличие детерминизма ОСРВ особенно критично для приложений с требованием гарантированного времени отклика на внешние события и непосредственно определяет гарантированное время отклика приложения на все внешние события. Характеристика "утечки" памяти ОСРВ определяет качество алгоритма динамического управления пулом памяти ОСРВ, который также является одним из основных компонентов ОСРВ. Остутствие "утечки" памяти ОСРВ гарантирует долговременную правильную работу разрабатываемого приложения, которое использует динамичекое выделение и возврат областей памяти из различных задач ОСРВ. В противном случае, приложение будет "фатально" остановлено через некоторое время после старта. Тесты Thread Metrics оценки качества и производительности ОСРВВ настоящее время нет общепринятых независимых тестов оценки производительности ОСРВ, которые бы широко использовались для сравнительной оценки временных характеристик ОСРВ для различных типов процессоров. Вместо этого, пользователи и сами фирмы-разработчики ОСРВ проводят свои множественные уникальные тесты, позводяющие получить абсолютные покомпонентные оценки временных характиристик ОСРВ в единицах времени (нс, мкс) с различной степенью достоверности. При неоспоримом желании иметь такие результаты, они все-таки не дают сравнительной оценки различных ОСРВ, и, что особенно важно, не позволяют оценить реальные типовые временные характеристики разрабатываемого приложения, которое всегда включает вызовы API-функций ОСРВ со встроенной диспетчеризацией задач. В последнем случае реальная временная оценка далеко не всегда получается путем суммирования временных параметров отдельных компонентов ОСРВ. Кроме того, абсолютные временные зарактеристик не дают оценок "качества" ОСРВ. Для объективной оценки "качества" и производительности ОСРВ могут быть использованы унифицированные тесты Thread Metrics, разработанные фирмой Express Logic Inc. Исходный код для тестов Thread Metrics можно скачать по ссылке https://rtos.com/support/extra-tools/ после простой регистрации или запросить в фирме МикроЛАБ Системс как официальном дистрибьюторе фирмы Express Logic на территории РФ. Тесты Thread Metrics являются простыми и понятными по сути, а также легко и без ограничений портируются на любую встраиваемую ОСРВ. Они также могут спортированы даже на ОС Linux и Windows с определенными ограничениями. Тесты Thread Metrics включают:
Схемы (алгоритмы) для всех тестов Thread Metrics приведены на рисунках 1-7. Рис.1. Схема теста Thread Metrics Cooperative Scheduling.
Рис.2. Схема теста Thread Metrics Preemptive Scheduling.
Рис.3. Схема теста Thread Metrics Interrupt Processing.
Рис.4. Схема теста Thread Metrics Interrupt Preemption Processing.
Рис.5. Схема теста Thread Metrics Message Processing.
Рис.6. Схема теста Thread Metrics Synchronization Processing.
Рис.7. Схема теста Thread Metrics Memory Allocation. Все тесты являются простыми и цикличными, построенные таким образом, чтобы основное время в этих тестах занимали соответствующие вызовы API функций ОСРВ и диспетчеризация задач в ядре ОСРВ, а не смысловая обработка данных, которая будет "размывать" характеристики производительности ОСРВ. В результате, время выполнения каждого цикла с достаточной точностью будет соответствовать времени выполнения вызовов к ядру ОСРВ и будет включать как время выполнения API-функций ОСРВ, так и время диспетчеризации задач. В качестве объективной оценки производительности для каждого теста используется число полных циклов за определенный промежуток времени. ВНИМАНИЕ Тесты Thread Metrics не являются "абсолютными" измерительными тестами, позволяющими измерить отдельные временные характеристики ОСРВ (время сохранения и восстановления контекста, время переключения задач, время обработки ссобщений, и др.) в единицах тактов процессора. Как правило, такие тесты не дают полноценных интегральных временных характеристик поведения ОСРВ в реальных приложениях. Вместо этого, тесты Thread Metrics являются сравнительными тестами, позволяющим сравнивать практически важные интегральные временные характеристики ОСРВ для различных комбинаций операций ядра ОСРВ, которые часто используются в реальных приложениях. Именно поэтому тесты Thread Metrics были выбраны для сравнительной оценки качества и производительности ОСРВ, используемых в среде TASDK для AMC-модулей TORNADO-Axxx. Оценка качества ОСРВ в тестах Thread MetricsОсобое значение среди тестов Thread Metrics имеют тесты Cooperative Scheduling и Preemptive Scheduling, которые позволяют определить "качество" ОСРВ в виде ее соответствия фундаментальному требованию детерминизма ОСРВ. Эта характеристика особенно критична для приложений с требованием гарантированного времени отклика на внешние события. В тестах Thread Metrics Cooperative Scheduling и Preemptive Scheduling используются задачи с одинаковыми приоритетами. В случае ОСРВ, соответствующей требованию детерминизма, все эти задачи должны получить одинаковое число проходов за заданное время от диспетчера задач (допустимая ошибка составляет ±1 от числа проходов). В противном случае, тестируемая ОСРВ считается не соответствующей фундаментальному требованию детерминизма. Результаты тестов Thread Metrics для ОСРВ среды TASDK для AMC-модулей TA6678xПеред проведением тестирования, все тесты Thread Metrics были портированы фирмой МикроЛАБ Системс на ОСРВ SysBIOS (TI) и ThreadX (Express Logic Inc) для ядра #0 ПЦОС AMC-модуля TORNADO-A6678/FMC. Данные тесты входят в комплект поставки TASDK для AMC-модулей TA6678x. На рис.8 представлены результаты тестов Thread Metrics качества и производительность ОСРВ SysBIOS (TI) и ThreadX (Express Logic Inc) для ядра #0 ПЦОС AMC-модуля TORNADO-A6678/FMC. Рис.8. Результаты теста Thread Metrics для ОСРВ SysBIOS (TI) и ThreadX (Express Logic Inc) для ядра #0 ПЦОС AMC-модуля TORNADO-A6678/FMC. Тесты Thread Metrics для ядра #0 ПЦОС AMC-модуля TORNADO-A6678/FMC показали следующее:
Таким образом, производительность ОСРВ ThreadX фирмы Express Logic значительно превосходит производительность ОСРВ SysBIOS фирмы Texas Instruments для ядра #0 ПЦОС TMS320C6678. Выбор ОСРВ ThreadX фирмы Express Logic является более предпочтительным по сравнению с ОСРВ SysBIOS фирмы Texas Instruments для TASDK для высокоскоростных приложений для ядра #0 ПЦОС TMS320C6678. Тесты пропускной способности сетевой функции ОСРВ для среды TASDK по интерфейсу 1GbE SGMII ПЦОС AMC-модулей TA6678xПоказатели пропускной способности сетевой функции ОСРВ характеризуют максимальное быстродействие Ethernet интерфейсов в разрабатываемом приложении. Эти параметры определяют соответствие разрабатываемого ПО требованиям приложения в части максимальной скорости внешней коммуникации для ввода/вывода и управления устройствов по LAN/WAN портам. В настоящем разделе будут рассмотрены характеристики пропускной способности сетевыx функций ОСРВ SysBIOS (TI) и ThreadX (Express Logic Inc), используемых в среде TASDK для 1GbE портов SGMII-0/1 и ядра #0 ПЦОС TI TMS320C6678 AMC-модуля TORNADO-A6678/FMC. Характеристики пропускной способности сетевой функции ОСРВПропускная способность сетевой функции ОСРВ измеряется в количестве принятых/переданных бит в секунду (bps) и сильно зависит от реализации сетевой функции (IP стека) ОСРВ, настройки параметров задач ОСРВ, загрузки процессора, а также от типов используемых коммуникационных IP пакетов (UDP, TCP/IP). Для исключения зависимости от реализации конкретного пользовательского приложения, используются характеристики максимальной пропускной способности сетевой функции ОСРВ, которые определяются алгоритмом работы IP стека и характеристиками производительности ОСРВ (времена сохранения и восстановления контекста задач, время переключения задач, время реакции на прерывания, и др.). Измерения производят для различных типов используемых IP пакетов и отдельно в режимах приема и передачи данных. Тесты IPERF оценки производительности сетевой функции ОСРВТесты IPERF является общепринытыми свободно распространяемыми тестами с открытым кодом (https://iperf.fr/) для объективной оценки пропускной способности сетевого функционала ОСРВ с применением разных типов IP пакетов. Тесты IPERF включают:
Все тесты IPERF производятся между двумя нодами - испытуемым устройством и измерительным устройством, используя прямое соединение Ethernet портов без внешних коммутаторов IP пакетов. В качестве измерительного устройства обычно используется ПК, для которого имеется специальная программа на JavaScript. Для тестов IPERF AMC-модуля TA6678x использовался 1GbE порт #0 ПЦОС, который доступен через порт #0 AdvancedMC интерфейса при установке AMC-модуля в адаптер AdvancedMC слота (симулятор кросс-панели MicroTCA). В качестве измерительного устройства использовался 1GbE порт ПК c Windows 7/64. Суть тестов IPERF в следующем:
Результаты тестов IPERF для сетевой функции ОСРВ СРЕДЫ TASDK для AMC-модулей TA6678xПеред проведением тестирования, все тесты IPERF были портированы фирмой МикроЛАБ Системс на ОСРВ SysBIOS с сетевой опцией NDK (Texas Instruments) и ОСРВ ThreadX с сетевой опцией NetXDuo (Express Logic Inc) для 1GbE порта SGMII-0 и ядра #0 ПЦОС AMC-модуля TORNADO-A6678/FMC. Данные тесты входят в комплект поставки TASDK для AMC-модулей TA6678x. На рис.9 представлены результаты тестов IPERF пропускной способности сетевых функций ОСРВ SysBIOS+NDK (TI) и ThreadX+NetXDuo (Express Logic Inc) для 1GbE SGMII порта и ядра #0 ПЦОС AMC-модуля TORNADO-A6678/FMC. Рис.9. Результаты тестов IPERF для сетевых функций ОСРВ SysBIOS+NDK (TI) и ThreadX+NetXDuo (Express Logic Inc) для 1GbE SGMII порта и ядра #0 ПЦОС TMS320C6678 AMC-модуля TORNADO-A6678/FMC. Тесты IPERF для сетевой функции NetXDuo ОСРВ ThreadX фирмы Express Logic и сетевой функции NDK ОСРВ SysBIOS фирмы Texas Instruments показали следующее:
Таким образом, выбор ОСРВ ThreadX является более предпочтительным для сетевой коммуникации по сравнению с ОСРВ SysBIOS для разработки высокоскоростных приложений на базе среды TASDK для ядра #0 ПЦОС TMS320C6678 с коммуникацией по порту 1GbE ПЦОС. Выбор ОСРВ для среды TASDK для AMC-модулей TA6678xВ таблице 2 представлены суммарно обобщенные критерии выбора ОСРВ для TASDK для разработки прикладного ПО для ядра #0 ПЦОС TI TMS320C6678 AMC-модулей TA6678х. Рекомендации основаны на приведенных выше общем сравнении ОСРВ и сравнительных тестах ОСРВ. Эти же рекомендации справедливы для выбора ОСРВ для других устройств на базе ПЦОС TI TMS320C6678, т.е. не для AMC-модулей TA6678х. Таблица 2. Выбор ОСРВ для среды TASDK для разработки приложений для ядра #0 ПЦОС TI TMS320C6678 для AMC-модулей TA6678x.
Фирма «МикроЛАБ Системс»
Дубнинская ул, д. 83, оф. 612, г.Москва, 127591,
Российская Федерация
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C) МикроЛАБ Системс,
1992-2024 последнее обновление: 22 Jul 2024 12:56 |