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

ПРОГРАММИРОВАНИЕ ложений осуществляет ядро Linux. Ста тическое отображение, используемое для ядра и загружаемых модулей, под разумевает, что виртуальный и физи ческий адреса отличаются на задан нуюпостояннуювеличину (например, смещение). При динамическом отоб ражении, которое используется для пользовательских приложений, могут применяться более сложные механиз мы отображения данных в физичес кой памяти. Ядро Linux также обладает способ ностью динамически выделять память под выполняемые процессы, которые могут включать в себя модули ядра Linux и пользовательские приложения. Эти процессы могут быть загружены в память для выполнения конкретной задачи, а затем удалены, когда в них нет необходимости, обеспечивая бо лее эффективное распределение памя ти в системе. Следовательно, при пе редаче памяти от приложения к ядру илимодулям ядра Linux следует прини мать во внимание возможности ядра Linux по статической и динамической трансляции адреса, а также способ ность ядра динамически размещать процессы в памяти. С ЛОЖНОСТИ ОТЛАДКИ ВСТРАИВАЕМЫХ СИСТЕМ L INUX Масштабы использования операци онной системы Linux во встраиваемых устройствах продолжают быстро рас ти. Согласно маркетинговому исследо ванию [1], 23% опрошенных компаний планируют использовать Linux в своих новых проектах. Отладка проектов с встраиваемой ОС Linux может быть чрезвычайно сложной задачей, по скольку разработка затрагивает и на чальный загрузчик, и ядро Linux, и мо дули ядра, и приложения. Проблемы, в которых должен разобраться програм мист, включают файл конфигурации целевой системы для загрузчика, адре сациюпамяти в режиме ядра и в режи ме пользователя, перемещение гло бальных идентификаторов ядра, диа гностику дефектов, охватывающих пространства ядра и пользователя. Стандартные решения на базе отладоч ных агентов (GDB, KGDB) не позволя ют эффективно решить ни одну из этих задач. Начальный загрузчик Операционная система Linux для за пуска использует начальный загруз чик. Он представляет собой код, ко торый постоянно находится во флэш памяти (или любой другой энерго независимой памяти) и выполняется непосредственно после включения пи тания или аппаратного сброса. При за пуске загрузчик копирует себя в ОЗУ и выполняет все необходимые предва рительные операции – низкоуровне вую инициализацию процессора, па мяти и периферийных устройств – и после этого запускает ОС Linux. Проблемы отладки начального загрузчика Отладка начального загрузчика мо жет быть достаточно сложной задачей, поскольку он является аппаратно за висимым, и разработчики должны обеспечить его перемещение из флэш памяти в ОЗУ после запуска. Современ ные системына кристалле (SoC) содер жат сотни конфигурационных регист ров, которые необходимо правильно инициализировать. Это требует изуче ния тысяч страниц технической доку ментации в поисках конкретных па раметров. Установка неправильных значений регистров может привести к последующим проблемам при запуске 69 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 7 2012 Москва Тел.: (495) 234-0636 • Факс: (495) 234-0640 • info@prosoft.ru • www.prosoft.ru C.-Петербург Тел.: (812) 448-0444 • Факс: (812) 448-0339 • info@spb.prosoft.ru • www.prosoft.ru ОФИЦИАЛЬНЫЙ ПОСТАВЩИК ПРОДУКЦИИ WIND RIVER Реклама Northrop Grumman X-47B Первый БПЛА “летающее крыло”, способный к автономной посадке на палубу авианосца Первый полет: авиабаза Эдвардс, 29 минут 4 февраля 2011 года ИННОВАЦИИ — ЭТО ПЕРВЫЙ БЕСПИЛОТНИК, СПОСОБНЫЙ САДИТЬСЯ НА АВИАНОСЕЦ Корпорация Northrop Grumman выбрала ОС реального времени VxWorks в качестве программной платформы для своей программы UCAS-D, а GE Aviation – в качестве базовой ОС для ядра всех компьютеров UCAS-D (Common Core System), бортовых сетей и электроники сопряжения. Это позволило разработать ответственные системы управления БПЛА в рамках установленных сроков и бюджета. Потому что когда инноваторы работают вместе, даже небо – не предел. ИННОВАЦИИ НАЧИНАЮТСЯ ЗДЕСЬ. ' СТА - ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy