Опубликован: 24.04.2009 | Доступ: свободный | Студентов: 1069 / 282 | Оценка: 4.39 / 4.28 | Длительность: 18:45:00
Специальности: Программист
Лекция 7:

Создание настройки ядра CE 6.0

Настройка дизайна ОС

В данный момент задан начальный проект дизайна ОС. Файлы проекта находятся в основном каталоге дизайна ОС в папке с названием проекта. Для данного проекта их можно найти в каталоге, ..\WINCE600\OSDesign \MyOS.

Высокоуровневое решение позволяет объединять проект дизайна ОС с несколькими приложениями C/C++ и C# (которые называются подпроектами, а приложения C# появятся как проекты). Следующий шаг состоит в выборе всех отдельных компонентов, которые нужно дополнительно добавить в дизайн ОС. Проверьте, что выбрано представление объектов каталога, как показано на рисунке 7.10 в левом столбце. Обратите внимание, что вкладки внизу этого окна выбирают различные представления проекта.

Представление объектов каталога (левый столбец) используется для выбора отдельных объектов для ОС

Рис. 7.10. Представление объектов каталога (левый столбец) используется для выбора отдельных объектов для ОС

Существует еще ряд полезных объектов, которые можно при желании добавить в новое ядро ОС. Чтобы добавить новый объект, необходимо просто найти его в окне представления каталога объектов и щелкнуть на нем. Всякий раз, когда вы не можете найти окно представления объектов каталога, его можно открыть снова, используя View \Rightarrow Other Windows \Rightarrow Catalog Items View.

Когда объект добавляется, появляется зеленый флажок. Другие объекты, которые могут требоваться вновь выбранному объекту, добавляются автоматически, и они указываются с помощью зеленого квадрата. Объекты, которые нельзя добавить, указываются красным восклицательным знаком. Например, несколько объектов доступно только для определенного типа процессоров.

Во многих случаях нужно будет раскрыть представление, чтобы найти объекты, щелкая на боксе со значком "+". Отметим, что имеется также полезное средство поиска вверху окна представления каталога объектов. Делая щелчок правой кнопкой мыши на каждом объекте, можно вывести свойства объектов или увидеть список других объектов, от которых он зависит.

Щелкните на боксе со значком "+", чтобы раскрыть представление требуемым образом, или используйте средство поиска для нахождения каждого объекта для выбора. Найдите каждый из следующих объектов каталога и выберите их, чтобы добавить в ОС (зеленый флажок), используя окно представления каталога:

  • В разделе Third Party \Rightarrow BSP \Rightarrow ICOP Vortex86_60B:x86 \Rightarrow Device Drivers подтвердите/добавьте следующие два объекта для поддержки дисплея и аудио в eBox:
    • Audio \Rightarrow Vortex86_Audio
    • Display \Rightarrow Vortex86_Display
  • В разделе Third Party выберите ConMan_x86 Files Component. Это добавит файлы Corecon, необходимые для настройки коммуникаций для развертывания кода в eBox и отладки приложений. Если его там нет, он не должен устанавливаться.
  • В разделе Core OS \Rightarrow CEBASE добавьте два следующих раздела:
    • Applications-End User \Rightarrow CAB File Installer/Uninstaller. Этот объект требуется для поддержки разработки приложений с помощью VS 2005.
    • Applications and Services Development \Rightarrow. NET Compact Framework 2.0, подтвердить/добавить .NET Compact Framework 2.0. Он необходим для приложений C#.
  • В разделе Core OS \Rightarrow CEBASE \Rightarrow File Systems and Data Store добавьте два следующих объекта, которые используются для поддержки реестра на основе ульев. Реестр на основе ульев будет сохранять настройки реестра, когда устройство выключают (т.е., настройка сети).
    • File System - Internal \Rightarrow _ROM-only File System
    • Registry Storage \Rightarrow Hive-based Registry
  • В разделе Core OS \Rightarrow CEBASE \Rightarrow Core OS Services \Rightarrow USB Host Support \Rightarrow USB Storage Class Driver. Этот раздел необходим для поддержки внешних дисков USB Flash, подключенных к eBox.
  • В разделе Device Drivers \Rightarrow Storage Devices отметим, что драйвер ATAPI PCI Support уже выбран. Этот объект требуется для поддержки использования внутреннего диска Flash и платы памяти CF, подключаемой в разъем на передней панели eBox. Платы CF необходимо будет форматировать для FAT16 (а не FAT32). Подключите плату CF перед загрузкой ОС, и не удаляйте ее во время выполнения ОС. (Платы CF не имеют горячего подключения в eBox)
  • Для дополнительной внутренней платы беспроводной связи выберите драйвер VNT VNWLC6 Wireless LAN (VIA) в разделе Third Party \Rightarrow Device Drivers. Если его там нет, то значит он не был установлен (см. подробнее в разделе 7.2).
  • Если вы установили драйвер камеры USB CE 6.0 и должны добавить его, то он перечислен в разделе Third Party \Rightarrow Device Drivers. Если его там нет, то он не был установлен (см. подробнее в разделе 7.2).

Менеджер конфигурации и сборка отладки и выпуска

Запустите Менеджера конфигурации (Configuration Manager), используя Build \Rightarrow Configuration Manager. Должно появиться окно Менеджера конфигурации, как на рисунке 7.11. Проверьте, что ICOP_Vortex_60B_x86 Debug выбрана в качестве активной конфигурации. Для каждого проекта поддерживается два типа сборок ОС. Отладочная сборка включает много отладочных и статусных сообщений, которые будут полезны при первоначальном переносе ОС на новое устройство. Вариант без отладочных сообщений называется сборкой выпуска. Отладочная сборка требует примерно на 40% больше памяти и загружается значительно медленнее, так как она выводит много сообщений, но эти сообщения могут оказаться очень полезны, когда появляются какие-то проблемы.

В окончательно развернутой системе будет использоваться сборка выпуска. Можно переключиться в сборку выпуска, выбирая конфигурацию Release в менеджере конфигураций. Последний шаг сборки ОС должен повторяться для каждой конфигурации, если вам нужны обе. Для сборки выпуска некоторые из параметров отладки скорее всего не будут включаться. Закройте окно Менеджера конфигурации.

Менеджер конфигурации можно использовать для выбора сборки ОС отладки или выпуска

Рис. 7.11. Менеджер конфигурации можно использовать для выбора сборки ОС отладки или выпуска

Задание параметров сборки проекта

Перед сборкой ОС необходимо выбрать еще несколько параметров сборки. В левом столбце внизу выберите вкладку Solution Explorer, чтобы вывести представление решения проекта. Выберите MyOS, сделайте щелчок правой кнопкой мыши и выберите Properties. Когда появится окно страницы свойств, раскройте Configuration Properties и выберите Build Options. В окне страницы свойств, которое появится, как показано на рисунке 7.12, выберите следующие параметры сборки:

  • Включите пространство eboot в памяти ( IMGEBOOT=1 ). Этот параметр добавляет поддержку для отладки Ethernet, включая начальный загрузчик Ethernet в образ.
  • Включите отладчик ядра (без IMGNODEBUGGER=1 ). Выберите перед сборкой образ времени выполнения, чтобы позволить отладчику соединиться с хост-устройством и передать информацию отладки из целевого устройства.
  • Включите KITL (без IMGNOKITL=1 ). KITL, сокращение от Kernel Independent Transport Layer (Независимый от ядра уровень транспорта), предоставляет соединение отладки/загрузки между целевым устройством Windows CE и станцией разработки. KITL должен быть включен вместе с образом, чтобы использовать удаленные инструменты в VS2005 и Platform Builder
  • Не включайте "Run-time Image Can be Larger than 32 MB" ("Образ времени выполнения может быть больше 32 MB"), так как этот режим использует только 64M памяти RAM, а не все 128M. Это задается позже, когда переменная окружения IMGRAM128 задается равной 1.

Пока не щелкайте на OK! В этом окне необходимо выполнить еще несколько дополнительных операций.

Окно страниц свойств (Property Pages)  используется для задания параметров сборки и переменных окружения

Рис. 7.12. Окно страниц свойств (Property Pages) используется для задания параметров сборки и переменных окружения

Задание переменных окружения ОС

Переменные окружения системы сборки используются для включения и исключения различных объектов образа и настройки конфигураций памяти. Выберите далее Environment вместо Build Options в окне страницы свойств предыдущего шага. Существует критически важная переменная окружения, которую нужно теперь добавить, как видно на рисунке 7.13.

Щелкните на кнопке New…, введите IMGRAM128 для имени переменной (Variable), и введите 1 для значения Variable и щелкните OK. Задавая переменную IMGRAM128, получаемый образ активирует все 128M памяти, общий объем памяти RAM, которая предоставляется в eBox 2300. Могут возникать ошибки нехватки памяти и другие странные проблемы, если эта настройка будет задана неправильно.

Щелкните Apply и затем OK для завершения конфигурации.

Добавление переменной окружения с помощью окна страницы свойств

Рис. 7.13. Добавление переменной окружения с помощью окна страницы свойств

Другим примером переменной окружения, которую можно добавить при удобном случае, является IMGENFORA=1. Это включает драйвер модема сотового телефона для автономного модема Enfora SA-GL GSM/GPRS. Многие переменные окружения задаются автоматически как значения по умолчанию при выборе начального шаблона конструкции и при выборе объекта каталога вручную.

Теперь, когда все параметры сборки и настройки были выбраны, можно выполнить сборку нового образа ОС. В меню верхнего уровня выберите Build \Rightarrow Build Solution. Утилита Platform Builder соберет теперь новый образ ОС вместе со всеми подпроектами, которые он может включать (т.е., решение). Процессу нужно проверить, скомпилировать, и скомпоновать тысячи файлов, и это потребует примерно 10-20 минут. Не забывайте, что активная программа антивирусной проверки, выполняющая сканирование доступа, заставит его выполняться на самом деле медленно. Внизу окна VS 2005 будут появляться сообщения системы сборки.

В самом низу окна выводится следующее небольшое анимированное битовое изображение, показывающее, что процесс сборки еще выполняется:

Наверно лучше не пытаться делать что-то еще в VS 2005 или каталогах ОС, и, возможно, даже на ПК во время длинной сборки. Очень легко заблокировать файл или ресурс, делая что-то еще, и это может приводить к ошибкам сборки. Если это произойдет, необходимо выполнить ReBuild (Повторная сборка). ReBuild очищает сначала файлы от предыдущей сборки и запускает новую сборку. Точно также, если не остановить сначала Отладчик (Debugger) перед запуском новой сборки, то это приведет к ошибкам сборки, так как в этом случае блокируются некоторые символьные файлы. Когда процесс сборки завершается, вы должны увидеть, что окончательная сборка выполнилась без сообщений об ошибках в области вывода внизу окна VS 2005 , как видно на рисунке 7.14.

Сборка ОС завершилась без ошибок

Рис. 7.14. Сборка ОС завершилась без ошибок

Когда процесс сборки завершается, генерируются получаемые файлы и помещаются в следующие каталоги сборки (предполагая, что используется место установки по умолчанию):

  • Для образа Debug (Отладка):

    C:\WINCE600\OSDesigns\MyOS\MyOS\RelDir\ICOP_Vortex86_60B_x86_Debug

  • Для образа Release (Выпуск):

    C:\WINCE600\OSDesigns\MyOS\MyOS\RelDir\ICOP_Vortex86_60B_x86_Release

После успешной сборки в указанных выше каталогах появится большой файл NK.BIN. Это новый образ ОС Windows Embedded CE 6.0.

Поздравляем, вы только что закончили сборку своего первого образа ОС времени выполнения для eBox 2300. Теперь мы посмотрим, будет ли он правильно загружаться и выполняться на eBox.

Роман Пархоменко
Роман Пархоменко
Россия, Sankt Piterburg, 182, 1997
Олег Корсак
Олег Корсак
Латвия, Рига