Начинаем работу с Windows CE 6.0 R3

Начинаем работу с Windows CE 6.0 R3

Сообщение pilamaster » 09 ноя 2010, 11:19

Будем работать с WinCE 6.0 R3 (самая свежая сборка встраиваемой винды на сегодня), прикладное ПО для системы можно писать на С++ использую морально устаревшую embedded Visual Studio, которая на ОС выше ХР иногда ведет себя очень странно, я же выбрал вариант со связкой C# + .NET Compact Framework (версии 2.0 или выше, 1.0 и 1.1 слишком стары и убоги), поскольку это позволяет создавать приложения достаточно быстро и удобно. Но для начала надо собрать образ винды и залить его в мини.
Для этого нам потребуется:
1) Visual Studio 2005 Professional с установленными SP1, SP1 Update for Vista (если работаем в Висте/7-ке), SP1 ATL Security Update. Студенты, школьники и аспиранты студию могут получить легально и бесплатно по программе dreamspark.com, остальным гугл в помощь.
2) Windows Embedded CE 6.0 Platform Builder
Windows Embedded CE 6.0 Platform Builder SP1
Windows Embedded CE 6.0 RE2 Platform Builder
Windows Embedded CE 6.0 RE3 Platform Builder
Это добро можно найти на рутрекере ввиде отдельных образов, либо получить через dreamspark в виде одного образа(легально и бесплатно)
3) с сайта friendlyarm.net необходимо скачать свежие WinCE 6.0 BSP и SDK.

Порядок установки всего этого добра:

- Microsoft® Visual Studio 2005
- Microsoft Visual Studio 2005 Service Pack 1 (VS80sp1-KB926601-X86-ENU.exe)
- Microsoft Visual Studio 2005 Service Pack 1 Update for Windows Vista® (VS80sp1-KB932232-X86-ENU.exe)
- Windows Embedded CE 6.0
- Windows Embedded CE 6.0 Platform Builder Service Pack 1
- Windows Embedded CE 6.0 R2
- Windows Embedded CE 6.0 R3
- Mini2440-CE6-Suite-1022.exe (берется из архива wince6-bsp_20100609.zip с friendlyarm.net)

При установке все директории для установки оставляем без изменений, чтобы потом геморроя не было с путями. Также в висте/7-ке на всякий случай лучше все установшики запускать от имени администратора. Все файлы системы находятся в папке c:\WINCE600\PLATFORM\Mini2440\. Можно там полазить, посмотреть исходники драйверов и т.д.

Когда все установилось, попробуем собрать образ системы. Запускаем студию, причем ОБЯЗАТЕЛЬНО от имени администратора, иначе будут косяки при сборке образа! Запустили. Жмем File-Open-Project/Solution... и находим файл c:\WINCE600\OSDesigns\Mini2440\Mini2440.sln и открываем его. На скриншоте показано окно студии с открытым проектом.
Изображение

В закладке Catalog Item View можно выставляя или убирая галочки по всякому менять параметры будущего образа (вырезать ненужный софт - игры к примеру, добавить или убрать дрова, уточнить включенную в образ версию .NET Compact Framework (на выбор 2.0 или 3.5)). Для сборки образа выбираем Build-Advanced Build Commands-Clean Sysgen и ждем некоторое время, иногда может показаться что построение образа зависло, но это не так, надо ждать. Когда в окне Output студии появится что-то типа:
Mini2440 build complete

Mini2440 - 0 error(s), 64 warning(s)
===========Build: 1 succeded or up-to-date, 0 failed, 0 skipped============


значит все готово к заливке в мини 2440. Идем в папку c:\WINCE600\OSDesigns\Mini2440\Mini2440\RelDir\Mini2440_ARMV4I_Release\ и ищем там файл NK.bin - это и есть образ системы. Теперь будем его заливать. Предполагается, что у нас уже поставлен драйвер USB из комплекта поставки, есть необходимые шнурки и прошит загрузчик последней версии в мини.

1) Запускаем DNW.exe
2) Configuration-Options. Выставляем номер своего COM-порта, скорость 115200, Download address 0x30000000. Жмем ОК.
3) Подсоединяем к мини USB шнурок, COM-портовый шнурок и шнурок питания(ПИТАНИЕ НЕ ВКЛЮЧАЕМ!), переключатель S2 переводим в положение NOR.
4) В DNW Serial Port-Connect. Теперь включаем питание мини с помощью переключателя S1.
В окне DNW появится нечто подобное:
Изображение

5) Жмем f для форматирования NAND памяти
6) Жмем v для заливки свежего supervivi. Предварительно надо скачать с friendlyarm.net свежую версию под свой объем NAND памяти.
Как определить объем NAND:
На плате ищем модуль памяти Samsung, смотрим маркировку:
K9F1208 > 64 MB NAND Flash
K9F1G08 > 128 MB NAND Flash
K9F2G08 > 256 MB NAND Flash
K9F8G08 > 1024 MB NAND Flash
7) Выбираем USB Port - Transmit, указываем путь к файлу supervivi-XXX (XXX = размер NAND), ждем окончания загрузки.
8) Теперь грузим nboot. Жмем n, USB Port - Transmit, выбираем версию nboot согласно используемому экрану nboot_A70.bin, nboot_T35.bin или nboot_N35.bin, если брали плату с 3,5 дюймовым экраном, то подойдет nboot_T35.bin. Ждем окончания загрузки.
9) Грузим бутлого. Жмем l, USB Port - Transmit, выбираем файл bootlogo.bmp.
10 Грузим образ системы. Жмем w, USB Port - Transmit, выбираем недавно созданный NK.bin. По завершению загрузки образа мини загрузится сама. Теперь можно ее выключить, вернуть переключатель в положение NAND и работать с системой. По умолчанию в системе есть драйвера для работы с переферией (GPIO, ADC), но они предполагают написание кода на С++. Мне же было интересно создавать приложения используя преимущества C# + .NET Compact Framework. Один хороший человек Domodom http://www.domodom.fr/spip/index.php?lang=en написал драйвер для работы с GPIO средствами C# + .NET Compact Framework (http://www.domodom.fr/spip/A-GPIO-driver-for-mini2440.html). Скачиваем драйвер с его сайта и приступаем к интеграции в образ системы.
Скачиваем архив,
1) папку gpio кладем в \WINCE600\PLATFORM\Mini2440\SRC\DRIVERS
2) файл gpio.h в папку C:\WINCE600\PLATFORM\Mini2440\SRC\INC
3) в файл \WINCE600\PLATFORM\Mini2440\SRC\DRIVERS\dirs дописываем строку gpio
4) в файл \WINCE600\PLATFORM\Mini2440\FILES\platform.bib дописываем строку
gpio.dll $(_FLATRELEASEDIR)\gpio.dll NK SHK

5) в файл \WINCE600\PLATFORM\Mini2440\FILES\platform.reg добавляем
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GPI]
"Prefix"="GPI"
"Dll"="GPIO.DLL"
"Order"=dword:100
"Index"=dword:0
"FriendlyName"="Domodom GPIO Driver"


Собираем образ как описано выше. Все, драйвер интегрирован в систему. Чуть позже расскажу как написать первое приложение чтобы помигать диодами и считывать нажатия кнопок, как написать приложение для работы с COM-портом, как подключить BT USB донгл и повесить его на виртуальный COM-порт.
Аватара пользователя
pilamaster
 
Сообщения: 15
Зарегистрирован: 22 май 2010, 15:39
Откуда: Санкт-Петербург
прог. языки: C,C#,Python

Re: Начинаем работу с Windows CE 6.0 R3

Сообщение Romeo » 09 ноя 2010, 20:41

А я пишу проги для WinCE на Basic4PPC(v.6.0). Не надо никаких Microsoft® Visual Studio 2005, Windows Embedded CE 6.0 и т.д. и т.п. После компиляции готовая прога просто копируется на КПК (её кстати можно и на компе запускать, при отладке).
Были написаны проги "Шашки" и "Калькулятор". Разбираюсь с обменом данными с компом (через виртуальный COM-порт). Если получится, можно будет и контроллеры к КПК подключать.
Аватара пользователя
Romeo
 
Сообщения: 320
Зарегистрирован: 04 фев 2009, 16:02
Откуда: Десногорск
прог. языки: VB, MicroC, Pascal, С++ Builder

Re: Начинаем работу с Windows CE 6.0 R3

Сообщение Eruman » 03 фев 2011, 23:25

Попал в руки ГПС-навигатор Prology iMap400. Довольно несложно отключили оболочку, убедились, что это КПК, только без связи. Есть USB, и говорят, есть GPS-модуль, подцепленный к COM-порту. Разбирать было жалко, поэтому поверил на слово. Товарищи, есть у кого опыт программирования для таких девайсин? Думаю, если бы эту штукенцию прикрутить к ардуине, цены бы ей не было: и сенсорный экран, и места порядочно, и мультимедийность, и порты для связи с дунькой. А учитывая, что есть навигаторы со встроенным гпрс-модулем, так еще и интернет по-идее можно завести...

Добавлено спустя 2 минуты 34 секунды:
На борту WinCE 5.0 Core вроде було
Соединяй и здравствуй.
Аватара пользователя
Eruman
 
Сообщения: 897
Зарегистрирован: 12 авг 2010, 15:10
Откуда: Астраханская обл.

Re: Начинаем работу с Windows CE 6.0 R3

Сообщение creasysee » 03 май 2011, 17:08

Посоветуйте как на x86 комп Windows CE поставить.
Делаю так:

Из под MS-DOS запускаю из autoexec.bat:
loadcepc.exe /L:800x600x16 nk.bin

Что имею: загруженную винду CE из образа. Любые изменения после презагрузки не сохраняются. Т.е. создать папку в "Мой девайс", или любой текстовый документ, сынсталлировать любую прогу - после перезагрузки все выносится - остается лысая винда из образа. Где то ж оно сохраняет мой файл пока работает? В озу - ну это ж бред...

Нашел целую статью:
http://www.e-consystems.com/BootingWindowsCE.asp - много манипуляций, но в конце:
You should see you nk.bin loading and enjoy your Windows CE on your target board booting out of hard disk directly!!!

Я и так уже давно вижу "nk.bin loading" и у меня нет "enjoy"-я потому как пользы мне с этого мало...

Действительно, можно предположить, что WinCE не видит жесткого диска - а образ nk.bin - это типа ПЗУ (как дос раньше грузился не с дискеты), и диск будет как "Memory Card", но это как то не удобно.

Может кто-нибудь поможет с разъяснением инсталляционного процесса?
creasysee
 
Сообщения: 1
Зарегистрирован: 03 май 2011, 16:52

Re: Начинаем работу с Windows CE 6.0 R3

Сообщение k0der1 » 22 июл 2011, 21:32

Добрый день. Начал работать по пути автора темы. Все сделал верно, но у меня micro2440. При загрузке дисплей повернут на 90 градусов. в какую сторону копать?
k0der1
 
Сообщения: 64
Зарегистрирован: 06 апр 2011, 20:36

Re: Начинаем работу с Windows CE 6.0 R3

Сообщение k0der1 » 28 июл 2011, 22:18

дисплей lcd-w35i. он у всех такой?
k0der1
 
Сообщения: 64
Зарегистрирован: 06 апр 2011, 20:36

Re: Начинаем работу с Windows CE 6.0 R3

Сообщение k0der1 » 29 июл 2011, 07:02

неужели WinCУ никому не интересен?
k0der1
 
Сообщения: 64
Зарегистрирован: 06 апр 2011, 20:36

Re: Начинаем работу с Windows CE 6.0 R3

Сообщение Angel71 » 29 июл 2011, 13:03

win ce это не интересно. :pardon: вчерашний день. есть местами не сильно удачная win phone 7, которую обещают до ума довести и выпустить 8ку. выйдет, будет интересно под некоторые задачи помучать. только есть подозрение, что 2440 для неё не подойдёт. а вообще есть андроид, которого с головой почти под все задачи.
экранов у 2440 только официально 3 штуки с диагоналями 3.5", 4.3" и 7".
про поворот экрана начать смотреть можно тут http://msdn.microsoft.com/en-us/library/ee499095(v=winembedded.60).aspx. +возможно нужно будет пошаманить с драйвером, но это всё очень легко гуглится. готовый софт для этих задачь есть, главное поискать тот, который у вас заработает.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Начинаем работу с Windows CE 6.0 R3

Сообщение k0der1 » 29 июл 2011, 16:25

у меня вот задача стоит: сделать систему регистрации данных (через uart). Вроде как WinCE более удачна для этих целей
k0der1
 
Сообщения: 64
Зарегистрирован: 06 апр 2011, 20:36

Re: Начинаем работу с Windows CE 6.0 R3

Сообщение Angel71 » 29 июл 2011, 18:21

это можно сделать и на phone7 и на андроиде и на ce 6. phone 7 требовательна к ресурсам. андроид - самое оно. имхо ce это худший из 3х вариантов, но раз вам он больше нравиться. :) у каждого своя колокольня
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Начинаем работу с Windows CE 6.0 R3

Сообщение k0der1 » 29 июл 2011, 20:38

в общем от темы отдаляться не будем. подумаю хорошо еще раз.

с диска загрузил qtopia . изображение опять повернутое. походу дело в загрузчике. куда копать пока не знаю.
k0der1
 
Сообщения: 64
Зарегистрирован: 06 апр 2011, 20:36

Re: Начинаем работу с Windows CE 6.0 R3

Сообщение afm2 » 22 июл 2014, 22:55

а как поставить досбокс на шестерку?
afm2
 
Сообщения: 1
Зарегистрирован: 22 июл 2014, 22:53


Вернуться в mini2440

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3