ЖУРНАЛ СТА 2/1997

изводится путем использования 32раз- рядных компиляторов, таких как Borland C++, Microsoft Visual C++, Watcom C/C++, которые позволяют ге- нерировать NTприложения, функцио- нирующие в режиме консоли. Для построения исполняемых файлов на основе выходного объектного кода, формируемого указанными компиля- торами, выполняется компоновка и дополнительная обработка с исполь- зованием средств, предоставляемых RTTarget32. Процедура построения исполняемого файла для переноса во встраиваемую систему показана на рис. 6. Состав RTTarget-32 Загрузочный код целевой системы (Target Boot Code) Загрузочный код выполняет инициа- лизацию процессора и по возможности других аппаратных средств. Далее про- изводится размещение в оперативной памяти и инициализация приложения. Загрузка приложений может выпол- няться с НГМД, НЖМД, твердотельного диска на основе РПЗУ или флэшдиска, а также непосредственно из ПЗУ. Утилита BootDisk Данная сервисная программа пред- назначена для формирования дисков, с которых может производиться за- грузка приложений, имеющих в своем составе компоненты RTTarget32. За- грузочный диск может быть сформи- рован на основе любого дискового накопителя или его эмуляции (диске- ты 5,25", 3,5", НЖМД, твердотельного диска), в котором реализована под- держка файловой структуры, базирую- щейся на FAT. Менеджер размещения (Locator) Менеджер размещения RTLoc пред- назначен для присвоения приложению фиксированных адресов в оператив- ной памяти. RTLoc позволяет выпол- нять загрузку программы в любую за- данную область памяти целевой сис- темы. Части кода приложения, доступ- ные для чтения/записи и только для чтения, могут быть разделены путем по- мещения в различные области памяти. Монитор удаленной отладки (Debug Monitor) Монитор отладки, входящий в состав RTTarget32, является приложением, ко- торое разработано с использованием RTTarget32. Монитор отладки может быть установлен на целевую вычисли- тельную систему для осуществления управления загрузкой тестируемого приложения и связи с отладчиком уровня исходного текста, запускаемым на основной вычислительной системе. Утилита запуска на исполнение (Run Utility) В качестве альтернативного способа запуска программы, который произво- дится из ПЗУ или с дискового накопите- ля, RTRun предоставляет возможность загрузки и запуска приложения с ис- пользованием последовательного ка- нала связи между основной и целевой вычислительными системами. Библиотека эмуляции интерфейса Win32 Данная библиотека представляет со- бой подмножество программного ин- терфейса Win32 API. Указанное под- множество обеспечивает поддержку стандартных исполнительных систем перечисленных ранее компиляторов, что позволяет использовать стандарт- ные функции типа malloc(), printf() и других в приложении, которое подле- жит запуску на целевой системе. Библиотека ввода/вывода В комплект поставки RTTarget32 вхо- дит мощная библиотека ввода/вывода, в которой реализована поддержка свя- зи одновременно через четыре после- довательных порта с использованием прерываний. Основные возможности RTTarget-32 Загрузка целевой системы RTTarget32 позволяет выполнять за- грузку целевой системы с НГМД, НЖМД, твердотельного и флэшдиска или не- посредственно из ПЗУ. Для загрузоч- ного кода требуется около 6 кбайт па- мяти. Кроме того, загрузочный код формирует глобальную дескриптор- ную таблицу (GDT), дескрипторную таблицу прерываний (IDT) и таблицу страничного преобразования памяти целевой системы. Поддержка Borland C/C++, Microsoft C/C++, Watcom C/C++ Для разработки мощных 32разряд- ных встраиваемых приложений могут быть применены указанные популяр- ные 32разрядные компиляторы. Поддержка удаленной кроссотладки Для RTTarget32 обеспечена возмож- ность отладки на уровне исходных текс- тов с помощью отладчика TD32 фир- мы Borland. Поддержка исполнительных систем C/C++ Реализована возможность использо- вания в приложениях стандартных процедур, входящих в состав испол- нительных систем, таких как printf(), malloc() и т. п. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ 2/97 90 Рис. 6. Последовательность переноса приложения с помощью RTTarget-32

RkJQdWJsaXNoZXIy MTQ4NjUy