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

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

Если в сборку ОС добавлен подпроект AutoLaunch, то он будет автоматически запускать компоненты CoreCon. Он добавляет записи реестра, необходимые для автоматического запуска компонентов CoreCon сразу после начальной загрузки ОС. Это реальная экономия времени, когда выполняется обширная отладка приложения. Смотрите подробнее в "Приложение A: Автоматическое выполнение приложения" .

Как другой вариант можно также запустить компоненты Corecon с помощью окна команд CE, выполняющегося на eBox. Для такого подхода откройте окно команд eBox ( Start \Rightarrow Run, введите CMD, а затем щелкните OK). Вернитесь в окно команд eBox, введите Conmanclient2, повторите процесс для другого окна команд и выполните Cmaccept (здесь не вводится никаких "S" на eBox, нет команды "gi proc" для использования, и Cmaccept работает, но не возвращается в приглашение командной строки на eBox). Этот подход является полезным, если начальная загрузка eBox выполняется с помощью локальной копии ядра.

Чтобы проверить, что все настроено правильно, в экземпляре VS с проектом C# HelloCSWorld выберите Tools \Rightarrow Connect to device, затем выберите устройство MySDK и щелкните connect, как показано на рисунке 7.37.

Когда соединение будет успешно установлено, выводится сообщение "Connection succeeded", как показано на рисунке 7.38.

Выбор устройства MySDK для соединения

Рис. 7.37. Выбор устройства MySDK для соединения
Компоненты Corecon выполняются на целевом устройстве и оно присоединено

Рис. 7.38. Компоненты Corecon выполняются на целевом устройстве и оно присоединено

Теперь, когда соединение было настроено, можно развернуть приложения на целевое устройство. Если возникают проблемы соединения, проверьте внимательно сетевые соединения и описанные ранее шаги настройки IP адреса. Вам может понадобиться остановить и запустить компоненты Corecon на eBox, если вы сделаете какие-либо изменения в настройке сети.

Вернитесь назад в окно представления обозревателя решения в экземпляре VS 2005 с вашим проектом C#, выберите проект HelloCSWorld, сделайте щелчок правой кнопкой мыши, и выберите Debug \Rightarrow Start New Instance. Через несколько секунд проект должен развернуться без ошибок и еще через несколько секунд приложение должно загрузиться и запуститься на eBox, как показано на рисунке 7.39.

Новое приложение C# было развернуто и выполняется на eBox

Рис. 7.39. Новое приложение C# было развернуто и выполняется на eBox

На eBox щелкните на кнопке HelloCSWorld и проверьте, что сообщение в текстовом поле изменилось на "Goodbye", как показано на рисунке 7.40. Щелкните на красном символе X в верхнем правом углу окна для выхода. Окно должно закрыться.

Поздравляем, вы успешно разработали, скомпилировали, развернули и выполнили приложение C#. Все подробности о программировании приложений находятся за рамками этого документа, но существует ряд доступных прекрасных сетевых ресурсов и учебников о программировании C# и .NET Compact Framework.

Вернитесь назад в окно представления решения, просмотрите файлы проекта *.cs и обратите внимание на весь код, который был автоматически сгенерирован мастером проектирования Forms.

Когда система была правильно соединена и развернута, можно будет протестировать приложение, сделать изменения, и повторно развернуть новое приложение без изменения настройки, пока вы не перезагрузите eBox. Если вы перезагрузитесь, вам нужно будет повторить весь процесс настройки развертывания.

Текстовое поле нового приложения C# изменяется после нажатия кнопки

Рис. 7.40. Текстовое поле нового приложения C# изменяется после нажатия кнопки

Когда вы разработали стабильное приложение, и хотите выполнять его без отладки и развертывания каждый раз, можно скопировать файл *.exe приложения на флэш-диск USB, внутренний флэш-диск, или плату CF и выполнить его на eBox без необходимости развертывать его каждый раз. Если вы хотите загрузиться с флэш-диска USB, просмотрите Приложение А.

Такой подход разработки SDK обычно используется на более крупных проектах, которым требуется несколько разработчиков приложений. SDK также иногда выпускаются производителями встраиваемых устройств, чтобы другие разработчики могли разработать код для их встраиваемых продуктов. Многие производители не хотят, чтобы конечные заказчики могли изменять ОС, так как это сделает поддержку очень трудной, если вообще возможной. Это типично для популярных потребительских устройствах, таких как сотовые телефоны и PDA.

Пока вы постоянно делаете изменения в ОС и выполняете ее пересборку на постоянной основе, то использованный здесь подход (делая приложение C# другим проектом) будет легче. Когда имеется стабильная сборка ОС, и не требуется поддержка для отладки, можно объединять ОС и проекты С# в одно решение в Visual Studio.

Когда имеется ОС и разработанный код приложения, eBox можно сконфигурировать для автоматической начальной загрузки новой ОС и даже для автоматического запуска выполнения приложений во время начальной загрузки. Она может выполнить начальную загрузку с внутреннего флэш-диска или с флэш-диска USB. Все детали настройки содержатся в "Дополнительные возможности ОС" и в Приложениях.

Дополнительная информация

  • Web-сайты компании Microsoft имеют другие учебники и лабораторные работы по использованию Visual Studio 2005 и C#, которые могут представлять интерес.
  • eBox 2300 Windows Embedded CE 6.0 Jump Start Guide также содержит несколько базовых учебников по eBox ( www.embeddedpc.net )

Лабораторные упражнения

  1. Используйте онлайновую справочную систему для поиска дополнительной информации о вызове API CE GetTickCount. Что он делает?
  2. Соберите отладочный образ времени выполнения и образ времени выполнения для выпуска, как описано в руководстве. Определите и сравните требования к памяти.
  3. Соберите образ времени выполнения для выпуска без поддержки .NET Compact Framework для C#. Сравните требования к памяти со своим ядром с .NET Compact Framework. Насколько больше файл ядра с .NET Compact Framework?
  4. Выполните программу оценки производительности Osbench на своем ядре выпуска. Исследуйте вывод и сделайте сводку среднего времени примитивов синхронизации ОС. Загрузите свое ядро, введите ALT+1 и в предложении командной строки "Windows CE>" введите s osbench –all. Вывод из Osbench появится в окне вывода.
  5. Соберите ядро Small OS, используя шаблон Small Footprint Device, которое имеет минимальный набор свойств. Включите объект каталога Tiny Kernel Test Sample Application (TKTEST) в сборку ОС. Сравните размер с исходным образом времени выполнения из учебника. В коде TKTEST обратите внимание на использование функции RETAILMSG.
  6. Добавьте минимальный необходимый набор свойств ОС, так чтобы вы могли выполнять программу TKTEST на ядре Small OS, которое соединено с ПК системы разработки. Проверьте, что базовые функции ядра Small OS работают, выполняя TKTEST на eBox.
Роман Пархоменко
Роман Пархоменко
Россия, Sankt Piterburg, 182, 1997
Олег Корсак
Олег Корсак
Латвия, Рига