Таджикистан, Душанбе, Таджикский Технический Университет (ТТУ), 2013 |
Архитектура встраиваемой ОС реального времени – CE 6.0
Конфигурационные файлы системы сборки
Система сборки использует несколько типов конфигурационных файлов для сборки нового образа ОС. Эти файлы настраиваются автоматически, но при удобном случае можно сделать в этом файле изменения. Понимание основ системы сборки будет также полезно для понимания и исправления любых ошибок в сборках ОС. Конфигурационные файлы исходного кода содержат следующую информацию для инструмента Build (Build.exe):
- Каталоги для обхода
- Файлы C и C++ для компиляции
- Тип двоичного файла для сборки
На основе этой информации инструмент Build собирает исходный код в каталоге и указанных подкаталогах. Таблица 6.9 показывает типы конфигурационных файлов исходного кода
Инструмент Build обходит дерево каталогов в поиске файлов dirs, а затем файлов sources. Файлы Dirs определяют файлы sources, которые содержат:
- Исходный код для сборки
- Информацию о дополнительных подкаталогах, которые содержат файлы исходного кода
Когда инструмент Build находит файл sources в текущем каталоге, он вызывает инструмент Nmake (Nmake.exe), который делает одно из следующего:
- Компилирует указанные файлы sources C и C++
- Связывает объектный модуль, согласно правилам связей, содержащимся в файле makefile
Инструмент Make Binary Image (Makeimg.exe) вызывает ряд приложений и пакетных файлов, которые используют конфигурационные файлы образа для создания образа времени выполнения. Таблица 6.10 показывает типы конфигурационных файлов образа времени выполнения.
Специальные конфигурационные файлы образа времени выполнения применяются для аппаратной платформы; другие применяются к рабочим пространствам, которые содержат модули и компоненты на основе CE.
Независимо от области действия можно использовать условные блоки IF и ENDIF и переменные окружения в любом конфигурационном файле образа времени выполнения для модификации получающегося образа времени выполнения. Таблица 6.11 показывает области действия конфигурационных файлов образа времени выполнения.
Файл сборщика двоичного образа (.bib) определяет, какие модули и файлы включаются в образ времени выполнения. Makeimg.exe использует файлы .bib для определения, как загружать модули и файлы в память целевого устройства.
- Аппаратные модули и файлы, такие как файлы драйверов, для целевого устройства
- Модули и точки входа файлов для образа времени выполнения, таких как файлы .exe и файлы аудио (.wav).
Файл Config.bib содержит разделы MEMORY и CONFIG для образа времени выполнения. Раздел MEMORY файла Config.bib определяет таблицу памяти для образа времени выполнения, определяя имя, адрес, размер, и тип областей MEMORY в образе времени выполнения.
При обновлении Platform.bib или Project.bib для включения файла определите следующие объекты:
- Исходный код и имя файла образа времени выполнения
- Область раздела MEMORY, определенную как тип RAMIMAGE.
- Атрибуты файла в образе времени выполнения
Используйте параметры Address и Size в таблице памяти для определения раздела памяти, предназначенного для RAM, а также для ROM. Параметр Address определяет адрес, где начинается раздел RAM. Вместе параметры Address и Size указывают адрес, где заканчивается раздел RAM.
Раздел MODULES файлов *.bib определяет, какие модули на основе CE включены в образ времени выполнения, и как они загружаются в таблицу памяти, созданную в разделе MEMORY файла Config.bib. Он модифицируется для добавления файлов *.dll и подпроектов в образ ОС.
Этот раздел может содержать до 2000 модулей, которые состоят из двух-частной комбинации исходного кода и данных. Следующий пример показывает столбцовый формат, используемый записью раздела MODULES в файле *.bib:
Параметр name определяет имя входа раздела MODULES, как он появляется в таблице памяти. Обычно запись Name совпадает с именем файла, указанным Path.
Параметр path определяет полный путь доступа к файлу, как определено в разделе MODULES, который Romimage.exe включает в образ времени выполнения. Обычно имя файла Path совпадает с Name записи раздела MODULES.
Параметр Memory block определяет раздел RAMIMAGE области памяти в которую Romimage.exe загружает объектный модуль. Romimage.exe помещает объектные модули в указанное место памяти в том порядке, в котором они появляются в разделе MEMORY. Это место памяти соответствует разделу MEMORY, определенному в файле Config.bib. Существует только один RAMIMAGE на образ времени выполнения. Имя, которое используется для определения раздела MEMORY должно совпадать с именем, определенным в файле Config.bib.
Параметр section override определяет тип записи раздела, как ее интерпретирует Romimage.exe, и может быть задан как MODLES или FILES. Когда этот параметр добавлен в запись, Romimage.exe игнорирует раздел, в котором находится запись, и интерпретирует запись как члена указанного раздела. Это является необязательным.
Параметр type определяет тип файла, и может быть комбинацией следующих символов:
- S для определения как системного файла.
- H для определения как скрытого файла.
- R для сжатия ресурсов. Применяется только к разделу MODULES.
- C для сжатия всего, если применяется к модулю.
- D для отключения выполнения отладчика.
- N для пометки модуля как ненадежного. Применяется только к разделу MODULES.
- K для указания, что Romimage.exe должен зафиксировать модуль в адресе ядра.
Дополнительная информация
- Оперативная справочная система, предоставляемая в Visual Studio for CE 6.0, содержит описания всех вызовов API, и содержит дополнительную информацию об ОС и ее свойствах. Используйте настройку фильтра Windows Embedded CE 6.0 в справочной системе.
- Для обзора всех базовых концепций ОС, таких как виртуальная память, процессы, потоки, планирование выполнения, и методы синхронизации будет полезен любой вводный учебник по ОС. Одним из вариантов является Operating System Concepts 6th Edition, авторов Shilbershatz и Gavin.
- Учебник Building Powerful Platforms with Windows CE авторов James Y. Wilson и Aspi Havewala, хотя и был написан для более ранней версии CE, все еще является прекрасным источником информации для дополнительных деталей о системе сборки CE.
- Учебник Programming Microsoft Windows CE.Net, Third Edition автора Douglas Boling, и опубликованный издательством Microsoft Press содержит дополнительные подробности о разработке прикладных программ Windows Embedded CE с помощью CE API.
- Книга Inside Microsoft Windows CE, автора John Murray, основывается на интервью с несколькими членами начальной команды разработчиков CE. Это прекрасный источник информации о целях разработки и ранней истории разработки CE.
Несколько сайтов сообщества пользователей и новостных групп обсуждают различные темы и проблемы связанные с Windows Embedded CE:
- Windows Embedded Community:
- Platform Builder News Group:
http://msdn.microsoft.com/newsgroups /default.aspx?dg=microsoft. public.windowsce.platbuilder
- Windows Embedded News Group:
http://msdn.microsoft.com/embedded/community/community/newsgrp/ default.aspx
- Mike Hall’s Embedded WEblog: