Портирование демонстрационных приложений Windows на WinCE / XP Embedded - PullRequest
0 голосов
/ 12 мая 2009

У нас есть ряд демонстрационных программ для ПК для наших продуктов микроконтроллеров. Программы обычно подключаются к микросхеме USB HID на плате микроконтроллера. Чип USB выступает в качестве коммуникационного моста, позволяя программам связываться с микросхемами через SPI / I2C / UART. Программы могут настраивать микросхемы и возвращать информацию о состоянии для отображения пользователю.

Сейчас мы собираемся создать несколько автономных демонстраций с использованием одноплатных ПК. Мы хотели бы максимально использовать исходный код нашего существующего демо-приложения. В идеале, мы могли бы просто запустить их как есть.

Есть ли у кого-нибудь совет о том, как лучше двигаться вперед? Кажется, что основными опциями являются встроенные платы WinCE или XP. Платы WinCE потребляют меньше энергии, что является преимуществом с точки зрения срока службы батареи.

Наши существующие демоверсии построены либо в C ++ под Borland Builder, либо в Delphi.

Заранее спасибо.

РЕДАКТИРОВАТЬ: см. Мой ответ ниже с информацией от поставщика платы.

Ответы [ 3 ]

1 голос
/ 22 мая 2009

Free Pascal / Lazarus может компилировать некоторые формы приложений Delphi для WiNCE / arm. Даже визуальные.

0 голосов
/ 09 июня 2009

В качестве обновления и для дальнейшего использования я решил опубликовать результаты наших обсуждений с поставщиком плат WinCE здесь. Предостережение: я на самом деле не пробовал ничего из этого.

Суть в том, что не существует простого способа сделать то, на что мы надеялись (то есть, перекомпилировать наши существующие демонстрационные приложения для работы под WinCE). Причина в том, что общие драйверы HID и стандартные API-интерфейсы, которые существуют в версиях Windows для настольных ПК, просто отсутствуют в WinCE.

Чтобы общаться с HID-устройствами в WinCE, вам необходимо реализовать собственный HID-драйвер. Это должно поддерживать интерфейс, позволяющий приложениям пользовательского режима взаимодействовать с драйвером, и создавать отчеты HID для отправки на физическое устройство. Поскольку этот интерфейс сам по себе будет настраиваемым, необходимо соответствующим образом обновить код приложения.

Разработка приложений WinCE обычно выполняется с использованием Visual Studio и компиляторов Microsoft. Подход, рекомендуемый нам, был:

  1. Создайте собственный драйвер класса HID. Это может основываться, например, на драйвере HID клавиатуры Microsoft.
  2. Создание API для общения с драйвером.
  3. Используйте .net для создания наших приложений с графическим интерфейсом и PInvoke для фактического общения с API.

Конечным результатом всех этих головокружительных движений является то, что во избежание затрат времени и обучения, связанных с этим подходом, мы собираемся использовать плату под управлением XP. Затем мы можем использовать наши существующие демонстрационные приложения прямо из коробки. Компромисс в том, что нам придется жить с существенно сокращенным временем автономной работы.

0 голосов
/ 13 мая 2009

Нет версии Delphi для WinCE, поэтому вам придется переписать приложения. То же самое относится и к управляющим библиотекам Borland Builder. Только если вы используете простой Win32 API, вы сможете легко перенести ваше приложение на WinCE. Вы также можете столкнуться с проблемами с аппаратной частью доступа. Драйвер последовательного порта может не работать как есть. Кроме того, вам нужно найти плату WinCE, которая может выступать в качестве USB-хоста и предоставлять драйверы HID (это не очень распространено).

В заключение, я считаю, что вам будет лучше с платами Windows XP Embedded. Они должны запускать ваши приложения такими, какие они есть.

...