Опубликован: 24.04.2009 | Уровень: специалист | Доступ: платный
Лекция 7:

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

Урок VI: Развертывание кода нового приложения на целевом устройстве

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

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

Если сборка выпуска MyOS еще не выполняется на eBox с предыдущего шага, то используя первый экземпляр VS присоедините целевое устройство, загрузите и выполните начальную загрузку сборки выпуска MyOS на eBox. Подождите пока выполнится начальная загрузка ОС (так же как в предыдущем уроке по сборке ОС).

Если eBox настроен для использования DHCP, необходимо определить присвоенный ему IP-адрес, который был получен при начальной загрузке (он может меняться всякий раз при выполнении начальной загрузки eBox). На целевой системе eBox используйте Start \Rightarrow Run, затем введите CMD, и затем выберите OK, чтобы вывести окно команды Pocket на eBox. Введите ipconfig и отметьте IP-адрес, он понадобится позже. Это можно сделать также на ПК разработки в Windows CE Command Window, нажимая Alt+1, а затем вводя s ipconfig /d в командной строке. IP-адрес появится в окне вывода VS.

Если eBox настроен для использования статического IP-адреса, необходимо задать на eBox статический IP-адрес. На eBox выберите Start \Rightarrow Settings \Rightarrow Network and Dial-up Connections. Выберите иконку сетевого устройства в появившемся окне, сделайте щелчок правой кнопкой мыши и выберите свойства. Задайте статический IP-адрес и маску подсети (255.255.255.0) для eBox. Этот IP-адрес будет нужен позже.

Настройка в реестре также доступна для начального задания статического IP-адреса. Если вы не хотите настраивать сеть вручную, можно добавить следующее (подставляя ваш статический IP-адрес, адрес DNS, и адрес шлюза) в файл реестра Project.reg дизайна ОС (а не в Platform.reg ).

Конфигурирование вручную адреса IPv4

[HKEY_LOCAL_MACHINE\Comm\PCI\RTL81391\Parms\Tcpip]

"DefaultGateway"=multi_sz:"192.168.0.1"

"EnableDhcp"=dword:0

"DNS"=multi_sz:"192.168.0.1"

"IPAddress"=multi_sz:"192.168.0.128"

"SubnetMask"=multi_sz:"255.255.255.0"

Project.reg выводится, когда вы раскрываете в Обозревателе решения (Solution Explorer) "Parameter Files" и "ICOP_Vortex86_60B". Преимущество здесь состоит в том, что для записи реестра в новом проекте дизайна ОС нужно задать IP только один раз.

В любом случае, DHCP или статического IP, ПК системы разработки и целевое устройство должны быть в одной подсети (только последнее число (т.е., ".xxx") в IP-адресе может отличаться), чтобы развертывание работало.

Первый раз, так как вы должны подтвердить, что ПК системы разработки на самом деле находится в той же подсети, что и целевое устройство, выполните на ПК команду ipconfig ( Start =>Run _ введите _Cmd => щелкните _OK => введите ipconfig /all ).

Затем нужно задать настройки IP адреса целевого устройства в экземпляре VS 2005, который выполняет С#. Снова в VS 2005в окне обозревателя решения выберите HelloCSWorld. Сделайте щелчок правой кнопкой мыши и выберите Properties. В появившемся окне свойств HelloCSWorld выберите Devices. Отмените развертывание самой последней версии .NET Compact Framework (если вы включили ее в сборке ОС, так как это сократит время загрузки).

Первый шаг в настройке IP-адреса целевого устройства для кода развертывания

Рис. 7.33. Первый шаг в настройке IP-адреса целевого устройства для кода развертывания

Выберите Tools \Rightarrow Options, а затем в окне выбора раскрой те Device Tools и выберите Devices. Измените устройство для использования по умолчанию на MySDK x86 Device. Проверьте, что MySDK x86 Device выделено, как показано на рисунке 7.33 и нажмите кнопку Properties.

Появится новое окно, такое как на рисунке 7.34. Подтвердите настройки и щелкните на кнопке Configure рядом с TCP Connect Transport. В окне Configure TCP/IP Transport, показанном на рисунке 7.35 введите реальный IP-адрес, присвоенный eBox и щелкните OK три раза, чтобы выйти.

Второй шаг в настройке IP-адреса целевых устройств для развертывания

Рис. 7.34. Второй шаг в настройке IP-адреса целевых устройств для развертывания
На последнем шаге вводим реальный IP-адрес целевого устройства

Рис. 7.35. На последнем шаге вводим реальный IP-адрес целевого устройства

Теперь, когда соединения заданы, необходимо запустить коммуникационные компоненты Corecon, выполняющиеся на eBox, и подтвердить, что процессы выполняются.

В экземпляре VS 2005 с дизайном MyOS нажмите "ALT+1", чтобы вызвать окно Windows CE Command Prompt. В командной строке введите следующие три строки, как показано на рисунке 7.36, чтобы запустить Corecon.

  • s conmanclient2
  • s cmaccept
  • gi proc

Затем проверьте, что процессы conmanclient2 и cmaccept находятся в появившемся списке процессов, чтобы убедиться, что они выполняются. Если они не работают, у вас могут отсутствовать в сборке ОС некоторые из пяти компонентов Corecon. После запуска cmaccept вы имеете три минуты для установления начального соединения. Для остановки Corecon используется ClientShutdown. Если активное соединение после установки прервется, попробуйте остановить и снова запустить Corecon.

Запуск компонентов Corecon, выполняющихся на целевом устройстве

Рис. 7.36. Запуск компонентов Corecon, выполняющихся на целевом устройстве
Бахтиёр Бутаев
Бахтиёр Бутаев
Таджикистан, Душанбе, Таджикский Технический Университет (ТТУ), 2013
Ярославй Грива
Ярославй Грива
Россия, г. Санкт-Петербург