Есть ли какой нибуть эмулятор Windows mobile? Что бы софт тестить не на смарте, а на компе??
Эмулятор WM5
Сообщений 1 страница 10 из 10
Поделиться22007-10-29 21:17:49
Нет в природе.
Поделиться32007-10-29 23:19:01
Это не есть ГУД! Очень бы хотелось... ведь для явы есть!
Поделиться42007-10-29 23:28:55
Для явы есть, но ведь ява активно используеться в интернет технологиях. Так что изготовить его не составило труда.
Поделиться52007-10-29 23:46:54
А что ты думаешь мелкомягким это так солжно сделать эмулятор WinMob for WinXP or Vista ?
Поделиться62007-10-30 06:57:29
Действительно не сложно. Нашёл статью про эмуляцию КПК.
Введение
Рынок смартфонов/коммуникаторов еще очень далек от насыщения, поэтому пока нельзя сказать с уверенностью, какая операционная система займет лидирующие позиции через несколько лет. В любом случае, Windows Mobile (WM) достанется очень большой кусок рынка, ведь за ней стоит Microsoft с армией зависимых от ее технологий компаний. Рассуждения о том, насколько это хорошо или плохо оставим за рамками данной статьи. Практически монополизировав рынок ОС для персональных компьютеров, Microsoft бросила огромные ресурсы на развитие линейки Windows Mobile и покорение рынка карманных компьютеров. Главным конкурентом WM является операционная система Symbian, поддерживаемая гигантами Nokia и Sony Ericsson, но о ней мы расскажем в другой раз. Прежде чем приступить к описанию эмулятора WM от Microsoft, мы предлагаем совершить небольшой экскурс в историю этой операционной системы.
Историческая справка
С переменным успехом Microsoft (MS) продвигалась к созданию ОС для карманных компьютеров еще с начала 1990-х годов, особенно активизировавшись после выхода первых КПК линейки Apple Newton MessagePad. Вплоть до 1994 года специалисты MS пытались использовать код настольной Windows при создании ОС для КПК, что окончилось провалом, и проект WinPad (по созданию первых КПК на платформе MS) был закрыт. Та же учесть постигла проект Pulsar, предполагавший создание простого беспроводного устройства с базовым набором функций. В результате обе команды разработчиков были объединены в одну, и к 1995 году уже были созданы промежуточные версии ОС Windows Pegasus, которая уже в то время поддерживала работу с Unicode и могла дать фору многим «старшим братьям» для обычных ПК. Итак, в 1996 году вышла первая версия Windows CE 1.0. Вторая версия Windows CE появилась годом позже и имела уже модульную архитектуру, позволяя разработчикам использовать эту ОС не только в КПК, но и для различных встраиваемых решений, вроде автомобилей или бензоколонок. Клавиатурные КПК на Windows CE тогда было принято называть Handheld PC (наладонный ПК). В апреле 2000 года на рынок вышла Windows CE 3.0, которая использовалась в качестве основы как для Handheld PC, так и для новой линей Pocket PC 2000 (бесклавиатурный карманный ПК). В конце 2001 года появились Pocket PC 2002 (кодовое имя Merlin) и Smartphone 2002 (Stinger). Направление Handheld PC (HPC) было решено свернуть из-за плохой перспективы платформы.
Версия 4.0 получила модную приставку .NET и неплохую поддержку индустрии. Модификация Windows CE 4.20 стала основой для Pocket PC 2003 for Pocket PC (версия для КПК) и Pocket PC 2003 Phone Edition (версия для коммуникаторов) и Pocket PC 2003 for Smartphone (для смартфонов). Коммуникаторы отличаются от КПК поддержкой функции телефонии (звонки, SMS, встроенный GPRS-модем и прочее) и практически полностью совместимы на уровне программ. Смартфоны в свою очередь лишены сенсорного экрана (тачскрина), поэтому все управление у них происходит с помощью клавиатуры и джойстика. В принципе все три версии Pocket PC 2003 совместимы на уровне API (программный интерфейс ОС), но из-за отсутствия тачскрина смартфоны лишены всего богатства программного обеспечения, доступного владельцам КПК/коммуникторов. Также Pocket PC 2003 уже начали называть Windows Mobile 2003 и эта традиция закрепилась в настоящее время. В 2004 году была выпущена версия Windows Mobile 2003 SE с поддержкой VGA-дисплеев.
Основанная на ядре Windows CE 5.0 в 2005 году вышла ОС Windows Mobile 2005, которая также делилась на 3 ветви: «for Pocket PC», «Phone Edition» и «for Smartphone». Официальное название этой ОС — Windows Mobile 5.0, хотя иногда можно встретить и надпись Windows Mobile 2005. Не стоит путаться, это названия синонимы.
В 2006 году свет увидела платформа Windows CE 6.0, главными достоинствами которой являются поддержка одновременной работы 32000 процессов вместо 32 у CE 5.x, и 2 ГБ виртуальной памяти для каждого приложения (вместо 64 МБ). Новая Windows Mobile «Photon» (на ядре WinCE 6.0) обещала быть очень интересной и объединить под одной крышей КПК/коммуникаторы и смартфоны (почему в MS этого не сделали раньше, добавив виртуальный курсор к смартфонам – остается загадкой). Но, судя по всему, MS не успела, и в феврале 2007 года параллельно с Windows Vista вышла Windows Mobile 6.0 (кодовое имя Crossbow, на ядре Windows CE 5.2). Главные нововведения коснулись интерфейса ОС (a la Windows Vista), интеграции с сервисами Windows Live и поддержки VoIP (протокол SIP) на уровне системы.
Отдельного упоминания заслуживает новая классификация Windows Mobile, которая будет принята в версии 6.0 и выше:
WM 5.0 for Pocket PC заменили на Windows Mobile 6 Classic;
WM 5.0 for Pocket PC Phone Edition заменили на Windows Mobile 6 Professional;
WM 5.0 for Smartphone заменили на Windows Mobile 6 Standard.
Итак, мы добрались до сегодняшнего дня. Будем надеяться, что исторический экскурс оказался полезен не только для общего развития, но и для понимания различий между смартфонами, коммуникаторами и КПК. Теперь можно смело переходить к освоению эмулятора Windows Mobile.
Установка
Где взять эмулятор и образы Windows Mobile?
Этот вопрос не должен смутить профессионального программиста в Microsoft Visual Studio, ведь все необходимое программное обеспечение входит в комплект поставки среды разработки. Установить необходимые компоненты можно либо сразу на этапе инсталляции, либо потом через повторный запуск Setup’а и доустановки необходимых программ.
Запуск эмулятора с помощью Visual Studio 2005 осуществляется через пункт меню Tools->Device Emulator Manager...
О программировании для Windows Mobile мы поговорим в другой раз, поэтому тему с Visual Studio закрываем и плавно переходим к так называемым «standalone» решениям (отдельные независимые компоненты). Это вызвано тем, что далеко не у каждого человека под боком есть дистрибутив с последней версией Visual Studio, да и ставить этот огромный пакет себе на компьютер захочет редкий пользователь, не связанный с программированием.
Прежде чем приступить к описанию установки эмулятора необходимо ввести такое понятие как «образ компьютера». Под «образом» мы будем понимать некий файл, содержащий описание различных параметров реального или виртуального компьютера, одним словом – «модель». Файл с образом можно скачать из интернета и запустить поверх эмулятора, при этом мы получим виртуальный аналог реального компьютера (насколько это сравнение подходит к операционной системе).
Вот список программ, которые нам потребуются:
Microsoft ActiveSync 4.0 и выше (7-8 МБ);
Microsoft Device Emulator 2.0 (~1 МБ);
Microsoft Virtual Machine Network Driver (netsvwrap.msi, ~180 КБ);
образы Windows Mobile 5.0 (efp.msi, ~60 МБ) или Windows Mobile 6.0 (от 80 МБ за комплект локализованных образов);
На самом нижнем уровне находятся виртуальные сервисы (virtual services), которые организуют взаимодействие вышестоящих уровней с внешней средой (в данном случае с реальным ПК). Находящийся выше Device Emulator Manager нужен для управления различными образами виртуальных машин, он позволяет подключать/отключать образ к виртуальному кредлу и многое другое (см. ниже). Device Emulator занимается, собственно, эмуляцией виртуального КПК, информация о котором содержится в образе (device emulator image). И поверх всех этих виртуальных эмуляций работает... нет не Матрица, а виртуальная Windows Mobile. Компьютер, на котором запускается эмулятор, мы для простоты будем называть «хозяином».
Вводная часть закончилась, и мы переходим к установке необходимых программ. Мы будем подниматься вверх уровень за уровнем, изображенным на рисунке 3.
Виртуальная сеть
Для начала рекомендуем поставить себе Virtual Machine Network Driver (VMNet Driver), то есть драйвер для виртуальной сети (да-да, он относится к виртуальным сервисам с рисунка 3). VMND нужен для того, чтобы эмулятор устройства (Device Emulator) мог создавать виртуальное соединение с любым сетевым адаптером, установленным в системе «хозяина».
ActiveSync для своей работы создает виртуальную локальную сеть между ПК и КПК, через которую и происходит обмен данными. Драйвер VMNet позволяет назначать виртуальный IP-адрес (дополнительный) реальному сетевому адаптеру ПК и сетевому подключению КПК. В общем, без драйвера VMNet сети между Device Emulator и «хозяином» не будет.
Ставим эмулятор
Теперь переходим к установке самого эмулятора Device Emulator (из файла vs_emulator.exe). Дело это бесхитростное и особых знаний не потребует.
По умолчанию Device Emulator ставится в папку «C:\Program Files\Microsoft Device Emulator», где его и следует искать. Установка не создает никаких ярлыков, да оно и не нужно, со всем остальным справится инсталлятор образов Windows Mobile
Device Emulator состоит из двух программ: самого эмулятора (DeviceEmulator.exe) и специального менеджера (dvcemumanager.exe). Последний нужен для управления эмулятором и различными образами, мы вернемся к этому менеджеру ближе к концу статьи.
Создание виртуальной сети
Теперь можно и перейти к созданию виртуального соединения, которое будет использоваться эмулятором для взаимодействия с ПК.
Идем в «Пуск\Панель управления». Жмем «Установка оборудования», перед нами появляется мастер настройки. Жмем далее.
Windows спросит, подключено ли устройство к компьютеру, выбираем «Да, устройство уже подсоединено» и идем дальше.
В появившемся выпадающем списке выбираем «Добавление нового устройства». Жмем «Далее».
Выбираем «Установка оборудования, выбранного из списка вручную». Жмем «Далее».
Выбираем «Сетевые платы», снова жмем «Далее».
В списке слева выбираем Microsoft, справа выбираем «Адаптер Microsoft замыкания на себя». Жмем далее.
Все, адаптер установили, надо теперь его настроить. Идем в «Панель управления\Сетевые подключения». По умолчанию созданный адаптер настроен на получение IP-адреса по DHCP, поэтому если в сети нет DHCP-сервера, то появится сообщение об отсутствии подключения.
Выбираем только что созданный адаптер и жмем правой кнопкой мыши, выбираем «Свойства», в списке «Компоненты, используемые этим подключением» должна быть галочка рядом с «Microsoft Virtual Machine Services», если галочки нет – ставим.
Дальше выбираем «Протокол Интернета (TCP/IP)» и жмем «Свойства». Ставим переключатель в положение «Использовать следующий IP-адрес» и вводим IP-адрес из диапазона частных сетей (вроде 10.x.x.x или 192.x.x.x), например, 10.250.0.1 кликаем на поле «Маска подсети», там появится 255.0.0.0. Ничего не меняем, жмем OK. Потом «Закрыть».
Если вы не знаете, что мы сейчас делали, то это тема совсем отдельной статьи, советую поискать в интернете по ключевым словам «Windows стек TCP/IP».
Установка образов
Образы виртуальных машин устанавливаются из файла Images5.0.msi (для Windows Mobile 5.0). Инсталляция проходит быстро и легко. В меню «Пуск\Программы» создается папка с ярлыками «Microsoft Windows Mobile 5.0 MSFP Emulator Images» или «Windows Mobile 6 SDK», в зависимости от выбранной версии ОС.
Опишем коротко предназначение каждого ярлыка:
Device Emulator Manager – запуск менеджера, позволяющего управлять работой запущенных эмуляторов. Об этой программе поговорим ниже.
XXXXX – Coldboot – запуск "чистого" образа Windows Mobile, версия с настройками по умолчанию, то есть «голая» система.
XXXXX – Savestate – запуск виртуального компьютера из сохраненного ранее состояния.
Версия «Smartphone QVGA» отличается от обычной «Smartphone» тем, что у QVGA разрешение дисплея 320х240 пикселей, а стандартное разрешение для WM-смартфонов считается 176х220 точек. Сейчас производители в основном выпускают смартфоны с разрешением 320x240, так что QVGA-режим наиболее актуален.
Рекомендую также посмотреть свойства ярлыков для запуска виртуальной машины.
Работа с эмулятором
Немного о запуске
Эмулятор принимает первоначальные настройки лишь в качестве аргументов командной строки, а при самостоятельном (без параметров) запуске файла DeviceEmulator.exe выводится лишь список допустимых аргументов.
Например, ярлык «Pocket PC – Coldboot» вызывает эмулятор со следующими параметрами:
C:\Program Files\Microsoft Device Emulator\1.0\DeviceEmulator.exe» pocketpc.nb0 /memsize 128 /skin Pocket_PC.xml /vmid {f1b1af09-969d-4035-8223-b800c75f451f} /s pocketpc.dess /p /funckey 193
Более подробно о параметрах командной строки мы поговорим позднее.
Сейчас же посмотрим, что за файлы использует эмулятор:
в файлах с расширением .png хранятся изображения скинов для различных режимов: кнопки нажаты, кнопки отжаты и маска с цветными областями, выделяющая сами кнопки (эмулятор будет определять по цвету, куда нажал пользовать и перерисовывать соответствующие кнопки);
в файлах с расширением .xml хранится описание каждого скина, именно эти файлы надо указывать в качестве скина;
в файлах с расширением .nb0 или .bin хранятся сами образы виртуальных машин;
в файлах с расширением .dess хранится содержимое оперативной памяти (ОЗУ), сохраненное до следующего запуска виртуальной машины.
Все остальные файлы носят вспомогательный характер и не представляют какого-либо интереса, так как при работе виртуальной машины не используются.
Итак, все готово. Жмем для примера «PocketPC – Coldboot» и в дальнейшем будем работать именно с образом Pocket PC. Перед нами появилось окно с виртуальным КПК, который можно использовать для различных экспериментов. А пока предлагаю перейти к настройке эмулятора.
Настройка эмулятора
Как уже писалось выше, основные параметры передаются DeviceEmulator.exe в качестве аргументов, поэтому открыв настройки эмулятора (File/Settings) мы увидим, что некоторые свойства изменить нельзя (они заблокированы от греха подальше).
На вкладке General можно изменить поля Host key и FuncKey, которые не играют практически никакой роли при использовании эмулятора, поэтому их можно не трогать (поясним, что эти параметры влияет на работу с клавиатурой). А вот параметр Shared Folder очень даже полезен и позволяет использовать папку на ПК в качестве виртуальной карты памяти для эмулятора. Можно либо выбрать каталог из списка, либо ввести путь вручную. Стоит обратить внимание, что введенный адрес должен существовать, иначе эмулятор выдаст ошибку.
Все параметры с этой вкладки можно задать, используя параметры командной строки:
binfile – полное имя файла с образом виртуальной машины. Например: “C:\Program Files\Microsoft Device Emulator\1.0\DeviceEmulator.exe” “C:\Program Files\Windows Mobile 6 SDK\PocketPC\Deviceemulation\0419\PPC_RUS_GSM_VR.BIN”. Если эмулятор запускается из папки с образом, то полный путь до файла можно не указывать
/memsize size – установить объем виртуальной памяти в size мегабайт. Например /memsize 64
/sharefolder directoryname – путь к общей папке. Например: /sharefolder “C:\PPC_SD”
/funckey key – установка FuncKey. Например: /funckey 193
/hostkey keyname – установка Host key (“None”, “Left-Alt” или “Right-Alt”). Например: /hostkey Left-Alt
/flash filename – позволяет установить поле “Flash memory file” для эмуляции флэш-памяти через файл. Например: /flash ppc_flash.bn
Далее переходим на вкладку Display. Здесь можно либо выбрать готовый Skin/Скин (внешность виртуального КПК), либо указать разрешение вручную. Каждый скин описывается в XML-файле, который хранится в папке с образами (или в отдельных папках). Что же касается режима Video (можно выбрать либо Video, либо Skin), то поля Screen width, Screen height и Color depth скорее всего будут задизейблен, так как параметры экрана можно задать в через командную строку, о чем говорилось выше. Режим Zoom 2x увеличивает размеры дисплея эмулятора в 2 раза, не меняя при этом фактического разрешения экрана виртуального КПК. Always on top – всегда держать эмулятор над остальными окнами, Show tooltips – показывать всплывающие подсказки. Orientation – поворот КПК на 0, 90, 180 или 270 градусов по часовой стрелке.
Соответствующие параметры командной строки:
/skin filename – задать файл скина (желательно указывать полный путь). Например: /skin Pocket_PC.xml
/video <width>x<height>x<bit-depth> — задать параметры видео, где width – ширина, height – высота, а bit-depth – количество отображаемых цветов (в битах). Например: /video 640x480x16
/z – включить режим Zoom 2x
/a – включить Always on top
/tooltips state – включить (state=ON) или выключить (state=OFF) подсказки. Например: /tooltips OFF
/rotate angle – повернуть экран на angle (0, 90, 180 или 270) градусов. Например: /rotate 90
На следующей вкладке Network можно настроить различные параметры сетевого подключения эмулятора к нашему ПК. Галочка «Enable NE2000 PCMCIA Network Adapter and bind to» позволяет подключить сетевой адаптер КПК (тот самый NE2000) к сетевому адаптеру ПК. Для этого мы ставили специальный драйвер Virtual Machine Network Services Driver (см. выше), который добавляет соответствующий компонент к сетевым адаптерам ПК. В выпадающем списке отображаются те сетевые подключения, у которых рядом с компонентом Virtual Machine Network Services стоит галочка. В общем, людям знакомым с сетевыми возможностями компьютеров ничего объяснять не нужно, а новичкам будет достаточно выбрать любой адаптер из списка.
Пункт «Enable CS8900 Network Adapter and bind to» будет задизейблен, так как он относится только к специальным образам ОС с поддержкой Kernel Independet Transport Layer (KITL). В общем, образы Windows Mobile этого режима не поддерживают. Галочку «Host-only Networking» лучше оставить выключенным, так как в противном случае эмулятор не сможет работать с внешней сетью.
Соответствующие параметры командной строки:
/h – включить режим «Host-only Networking»
/p [macaddress] – задать MAC-адрес сетевого адаптера, который будет использоваться в качестве NE2000. Если не знаете, что такое MAC-адрес – спросите Гугл
/n [macaddress] – то же для адаптера CS8900
последняя вкладка – Peripherals (периферия). Здесь можно подключить последовательные порты виртуального КПК к COM-портам реального ПК, что будет полезно только профессионалам. А вот галочки Speakerphone, Headset и Carkit позволяют эмулировать подключение соответствующей периферии (спикерфон, гарнитура, набор для автомобиля). Поле Battery позволяет задать уровень заряда виртуального аккумулятора (если выключена эта галочка, то считается, что устройство работает от сети).
Необходимые параметры командной строки:
/battery – включить режим работы от батареи (100% зарядка)
/batterycharge percentage – работа от батарей с заданным уровнем заряда percentage в процентах. Например: /batterycharge 73
/c – показывать консоль работы с COM-портами (галочка «Create text console for serial port 1»), позволяет просматривать данные, передающиеся через порт Serial Port 1
параметры u0, u1 и u2 позволяют ассоциировать порты реального ПК с портами виртуального КПК. Например: /u1 COM6
/speakerphone mode – режим спикерфона (SpeakerPhone, Headset или Carkit). Mode задает битовую маску (3 бита) для определения различных режимов работы. Например, mode равное 101 в двоичном виде или 3 в десятичном включает SpeakerPhone и Carkit.
Наиболее удобный способ завершать работу виртуального КПК – пункт меню «File->Save state and exit» — позволит возобновлять работу с эмулятором с того места, где она была окончена. Для возобновления работы из сохраненного образа надо запускать эмулятор с параметром /s и указывать имя файла. Например: /s ppc_rus.dess
Также можно упомянуть параметры vmid (Virtual Machine IDentification – идентификационный номер виртуальной машины) и vmname:
/vmid {GUID} – задать ID виртуальной машины, который помогает идентифицировать виртуальный КПК среди кучи себе подобных. Стоит учесть, что GUID должен содержать такое же количество цифр, как в приведенном примере. Например: /vmid {f1b1af09-969d-4035-8223-b800c75f451f}
/vmname name – задать заголовок окна эмулятора. Например: /vmname “I love Ladoshki.com”
Итак, мы научились использовать параметры командной строки и сможем теперь создавать свои командные файлы для запуска эмулятора с любыми имеющимися образами. Например, запустить Device Emulator с установленными образами Windows Mobile 6.0 можно следующим образом (запуск в режиме Coldboot):
«C:\Program Files\Microsoft Device Emulator\1.0\DeviceEmulator.exe» «C:\Program Files\Windows Mobile 6 SDK\PocketPC\Deviceemulation\0419\PPC_RUS.BIN» /memsize 128 /skin «C:\Program Files\Windows Mobile 6 SDK\PocketPC\Deviceemulation\Pocket_PC\Pocket_PC.xml» /vmid {f1b1af09-969d-4035-8223-b800c75f451f} /s C:\Program Files\Windows Mobile 6 SDK\PocketPC\Deviceemulation\0419\PPC_RUS.dess»
Для запуска сохраненного состояние (Savestate) можно воспользоваться следующей командой
«C:\Program Files\Microsoft Device Emulator\1.0\DeviceEmulator.exe» /s C:\Program Files\Windows Mobile 6 SDK\PocketPC\Deviceemulation\0419\PPC_RUS.dess»
Завершение работы эмулятора с сохранением состояния ОЗУ (переход в режим Savestate) осуществляется через пункт меню «File->Save state and exit».
Менеджер эмуляторов
Отдельно стоит упомянуть программу Device Emulator Manager (DEM), которая позволяет работать сразу с несколькими образами, включать/выключать их, подключать к кредлу, перезагружать и прочее
Кнопка Refresh нужна для ручного обновления состояния виртуальных машин. Эту кнопку необходимо нажимать после запуска/закрытия эмулятора. Каждый образ имеет свой номер (ID), через который можно в DEM работать с виртуальным КПК.
Пункт меню «File->Restore Image» позволяет восстановить образ, сохраненный через «Save state and exit» (см. выше), состояние виртуальной машины сохраняется в файле с расширением .dess.
Если рядом с пунктом меню «File->No Security Prompts» стоит галочка, то при запуске эмулятора запросы на подключение сетевого адаптера/периферии и прочее появляться не будут. Этому пункту соответствует параметр командной строки /nosecuritypromt
В меню «Actions» находятся различные действия, которые можно совершить с виртуальной машиной (это же меню открывает при клике правой кнопкой мыши на ID образа):
Connect – подключить утилиты разработчика к эмулятору (у меня все время было пункт был заблокирован).
Cradle – подключить к кредлу, ActiveSync должен найти КПК.
Uncradle – отключить от кредла.
Shutdown – выключить
Reset – мягкая перезагрузка, «софт ресет» (только обнуление ОЗУ);
Clear Save State – очистить сохраненные параметры, аналог жесткой перезагрузки, «хард ресет» (возвращает КПК в заводское состояние).
Bring to Front – перенести окно эмулятора на передний план.
Чтобы ActiveSync опознал подключение виртуального КПК, в его настройках параметров подключения должна стоять галочка «Разрешить подкл. к след. объектам» и выбран пункт DMA.
Заключение
В этой статье мы постарались помочь обычному пользователю настроить виртуальный КПК самостоятельно. В тени осталась настройка взаимодействия среды разработки Visual Studio и эмулятора, но мы постараемся исправить это упущение, перейдя к теме программирования для карманных компьютеров. Виртуальный КПК вы можете легко использовать не только для обкатки своих программ, но и для знакомства с новой ОС.
Поделиться72007-10-30 09:48:42
откуда статейка подскажи
Поделиться92007-10-30 20:32:20
Нашёл на off сайте мелкомягких эмулятор спешл фор Вин Моб 5.0 аТТач
Сам ещё не тестил, кто меня опередит отписывайте коменты...
Отредактировано TeRRaN (2007-10-30 20:32:57)
Поделиться102007-12-06 18:19:11
Есть эмулятор, конечно.. Официальный.. От MS.%)