СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №7/2012

В ВЕДЕНИЕ Традиционно отладка систем на базе Embedded Linux требовала совместной работы программных и аппаратных средств – JTAG инструментария для ввода оборудования в действие и ре шений на основе отладочных агентов для разработки программ. Эти инстру ментычасто решали основные пробле мы, но не предназначались для интег рированной разработки Linux. Компания Wind River изменила спо соб, которым разработчики могут от лаживать Linux, объединив традици онные средства JTAG отладки аппара туры с конфигурированием ядра Linux, управлением исправлениями, а также разработкой, отладкой и анализом приложений пользовательского уров ня в единой инструментальной среде (IDE), известной как Wind River Work bench. Такая функциональность поз воляет разработчикам использовать ПРОГРАММИРОВАНИЕ 68 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 7 2012 JTAG соединение там, где традицион ные решения на базе отладочных аген тов технически или экономически не оправданы. Два наиболее распространённых сценария, где может быть использова но JTAG соединение, – невозможность подключиться к отладочному агенту из за отсутствия соединения Ethernet или необходимость отладки в систем ном режиме при разрешении проблем в пространстве пользователя или ядре Linux. Новое поколение инструмента рия JTAG от компании Wind River поз воляет отлаживать аппаратуру, началь ный загрузчик, ядро Linux и приложе ния пользователя, выявляя аварийные события в системе и другие проблемы, которые возникают между ядром, при ложением и целевой системой. Более того, разработчики, использующие операционную систему (ОС) Wind River Linux, могут свободно переклю чаться между отладкой с помощью агента и отладкой с помощью соеди нения JTAG. Эти нововведения во встроенной отладке предоставляют эффективные альтернативы для про ектов, где отладка на основе агентов является либо недоступной, либо слишком затратной. К РАТКИЙ ОБЗОР ОС L INUX Первым шагом в устранении непо ладок Linux является понимание внут реннего устройства самой ОС Linux и областей, в которых отладчику требу ется анализировать взаимодействие компонентов. В общем случае ОС Linux состоит из множества взаимосвязан ных модулей и использует сложные механизмы управления памятью. От ладка встраиваемой системы на базе Linux требует мощных инструменталь ных средств, которые выявляют осо бенности работы ОС и её взаимодей ствия с оборудованием. Основными компонентамиОС Linux являются ядро, модули ядра и приклад ное программное обеспечение (ПО). Ядро Linux является стержнем ОС и имеет высшие привилегии. Модули яд ра Linux являются элементами ОС, ко торые динамически загружаются и вы гружаются и часто используются для реализации драйверов устройств. По сле загрузкимодуль ядра Linux получа ет такие же привилегии, как у ядра (см. рис. 1). Ядро Linux разделяет всё про граммное обеспечение для выполне ния в двух возможных режимах – ре жиме ядра или режиме пользователя. Приложения, выполняющиеся в режи ме пользователя, имеют ограниченные привилегии. В частности, они не могут напрямую обращаться к памяти ядра или оборудованию, что позволяет пре дотвратить возможные сбои основной системы от действий приложения. Та ким образом, за все действия систем ного уровня отвечает ядро. Это обеспе чивает приложениямконтролируемый доступ к системнымресурсам, включая память и периферийные устройства. Обычно в системе Linux приложе ния выполняются в режиме пользова теля, а драйверы устройств – в режиме ядра. Такой подход позволяет защи тить ядро (Linux kernel) от потенци альных отказов системы и задержек в обслуживании, но имеет свои недо статки, в частности, снижение быстро действия, поскольку модули ядра Linux, как правило, имеют более высокую производительность, чем приложения пользователя. В отличие от используемых во мно гих встраиваемых устройствах более простых 8 , 16 и 32 разрядных ОС с «плоской» или «статической» моделью памяти, в ОС Linux реализована пере довая технология виртуальной адреса ции (см. рис. 2). Виртуальная адреса ция позволяет модулям ядра Linux и загруженным приложениям выпол няться в системе как бы в непрерыв ном пространстве адресов, хотя реаль но программные модули могут быть разнесены в памяти по различнымфи зическим областям. Отображение и выделение памяти для загружаемых модулей ядра и пользовательских при Режим пользователя Приложения Загружаемые модули ядра Ядро Linux Режим ядра Рис. 1. Компоненты ОС Linux Виртуальная память 0х10000788 0х1EA78788 Отображение Физическая память (ОЗУ) Рис. 2. Управление памятью в Linux Ускорение отладки устройств на базе Linux при помощи внутрисхемной отладки JTAG Йоахим Хампп (Германия) В статье обсуждаются проблемы, возникающие при отладке встраиваемых систем на базе ОС Linux, и преимущества интегрированных отладочных решений на базе JTAG от компании Wind River, позволяющие ускорить разработку и снизить производственные издержки. ' СТА - ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy