Разворачивание рабочего места для сборки ядра
Данный пункт достаточно громоздок, но прост в понимании. Надо установить все необходимые дистрибутивы, в целом следуя бессмертному тексту документу eBox2300SX_SPARK, а именно:
- Visual Studio 2005 (лучше найти на диске)
- Visual Studio 2005 SP1
- Windows Embedded CE 6.0 (есть в офисе на диске), с обязательным выбором платформы X86
- Windows Embedded CE 6.0 SP1 (есть в офисе на диске),
- Windows Embedded CE 6.0 R2 (есть в офисе на диске),
- Windows Embedded CE 6.0 R3 (есть в офисе на диске) – опционально,
- Если мы собираем ядро для eBox2300, то
- Vortex86DX_60A_BSP_090324.msi (а не ICOP_eBox2300SX_60A2, как рекомендуется)
- eBox2300SX_WINCE600_SDK.msi
- Если мы собираем ядро для eBox3310, то
- eBox3310A_WINCE600_SDK.msi
- ICOP_eBox3310A_60GS_BSP
- VS2005_CoreCon_x86_WINCE600.msi
Бонус-трек:
- Дрова для WiFi карты VT6655 Wireless driver – если будем использовать карточку
- Полезная хреновина – проект для автозапуска AutoLaunch
Станцию лучше иметь Win XP. Весь процесс установки долгий и займет примерно полдня.
Особенности: если какой-то SDK не будет ставиться, выберете тип установки “Custom…” и устанавливайте без документации.
Создаем проект
Ядро – это проект VS2005. Открываем студию, создаем новый проект типа Platform builder. Место для этих проектов по умолчанию - C:\WINCE600\OSDesigns.
NB: В настоящее время существует 4 живых проекта:
Проект |
BSP |
Железо |
Используется в проекте |
eBox_v1.0 |
Vortex86DX_60A_x86 |
eBox2300SX |
КЗСП |
eBox_v3.0 |
ICOP_eBox2300_60B_x86 |
eBox2300JSK |
КЗСП |
eBox_v1.2 |
Vortex86DX_60A_x86 |
eBox2300 |
МДВ, СТП |
eBox_v4.0 |
ICOP_eBox3310A_60GS_BSP |
eBox3310 |
ТБС |
Так что новый проект наверное имеет смысл именовать также. Я рассмотрю пример проекта с именем “eBox_XX”
Собираем проект, следуя мастеру
- Выберем BSP - Vortex86DX_60A или ICOP_eBox3310A_60GS, в зависимости от железа (см чуть выше)
- Выберем тип – Industrial Device,
- Выберем подтип – Industrial Controller,ы
- Потом начинаем ставить галочки предустановки ряда компонентов:
- Соглашаемся с предупреждением о политике безопасности, жмем ОК.
- Получаем проект операционной системы и достраиваем ее.
Достройка операционной системы
То, что мы отстроили галочками, маловато для нормальной работы системы. Добавим так сказать системе драйва. Первое, что мы сделаем, это пробежимся по галочкам на вкладке Catalog Items View.
Блок “Third Party”. Это блок опций сборки данной BSP. Что мы отмечаем в нашем BPS (он собственно только и может быть выбран):
- 2nd IDE Device – без этого в системе часто не бывает папки \Hard disk, так как в BIOS карточка Compact Flash определена как Second IDE Master, а не Primary. Если Primary – то галочку можно на ставить
- R6040 Ethernet Driver – поддержка собственной LAN карты
- RAM… 128 – поддержка в ядре малой памяти. Мы строим ОС для eBox2300, а там как раз столько памяти
- Vortex86sx Comptability mode – поддержка процессора Vortex86SX в рамках BSP для процессора Vortex86DX
- Z9s Display Driver – тут тонкая ситуевина. Ставить можно любое расширение, но глубина цвета должна быть только 16 цветов, иначе не будет работать CERHOST – удаленный рабочий стол. Я обычно ставлю 800x600x16x60
Ставим галочки поддержки CoreCone – для деплоймента приложений и для драйвера WiFi карты:
Переходим к галочкам от Microsoft – блок Core OS.
В приложениях конечного пользователя добавим Word для корректировки XML файлов, возможность развертки CAB файлов, ActiveSync.
Если пользователи заслужили, можно также добавить им сапера или косынку.
Applications and Service Deployment:
- Меняем .NET 2.0 на .NET 3.5
- Добавляем SQL Compact
“Галочка” из черного квадратика означает - “выбрано, потому что выбрано что-то другое”. Например, на OS Dependecies for .NET CF 3.5 она появляется сама, когда выставляется галочка на NET CF 3.5.
В Communication Services докинем поддержку ASP в веб-сервере:
В Core OS Services выставляем:
- Remote Display Application – это наш CERHOST,
- Поддержку USB клавы, мышки и флешки
С галочками все. Но не все с проектом. Сделаем еще пару вещей.
Проект автозапуска
Добавим подпроект AutoLaunch, для чего скопируем скачанную папку в C:\WINCE600\OSDesigns\eBox_XX\AutoLaunch, а потом на вкладке Solution Explorer добавим этот подпроект:
Кстати, заметьте что там появилось два подпроекта. Это следствие установки галочек “VIA VNWLC6 PCI Wireless LAN” и “VS2005_CoreCon_X86_WINCE600 Files Component”
Этот шаг даст возможность запускать хост CERHOST и разрешение на коннект CoreCone автоматически. Заглянем в AutoLaunch.reg в этом подпроекте:
Все очевидно.
Далее, если мы хотим внести изменения в реестр – например, указать статический IP или сделать автозапуск, редактируем файл project.reg в основном проекте:
Что я туда обычно добавляю:
[HKEY_LOCAL_MACHINE\Init]
"Launch70"=\\Hard Disk\\Intelmet\\Autorun\\Intelmet.SteelTracePoint.AutoRun.exe
Это автозапуск “разрульщика” Intelmet.SteelTracePoint.AutoRun, который на основании конфига запускает SteelTracePoint
Добавляю постоянный www root folder:
[HKEY_LOCAL_MACHINE\COMM\HTTPD\VROOTS\/intelmet]
@="\\Hard disk\\Intelmet\\wwwpub"
"a"=dword:0
Настраиваю WiFi карточку на подключение ко всем доступным сетям (подробнее см тут - http://www.msembedded.ru/forum/ShowPost.aspx?PostID=16983)
[HKEY_LOCAL_MACHINE\Drivers\Builtin\Ethman\Popup]
"Popup"=dword:0
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WZCSVC\Parameters\Interfaces\PCI\VNWLC61]
"ControlFlags"=dword:0181c002
Сборка
Уф, мы подготовили проект к сборке. Но, прежде чем жать на Build.. и ждать 40 минут, сделаем еще пару вещей.
Идем в Build – Configuration manager и ставим ему тип Release
Идем в свойства проекта:
В Build options снимаем все галки
Все. Командуем - Build.
Ждем 40 минут, наблюдая за аутпутом, и трясем бубном...
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
Ура, это победа!
Идем в папку C:\WINCE600\OSDesigns\eBox_XX\eBox_XX\RelDir\Vortex86DX_60A_x86_Release и забираем оттуда ядро – файл NK.BIN
Комментарии
Vortex Created by Аноним in 18.03.2013 11:28:20 Не работает ссылка на Vortex86DX_60A_BSP_090324.msi
|
Vortex Created by Аноним in 18.03.2013 10:48:04 Не работает ссылка на Vortex86DX_60A_BSP_090324.msi
|
|
|
|
|