Перейти к содержанию
    

работа с Windows CE

Есть следующая проблема.

 

Имеется плата с самсунговским ARM-ом от фирмы BLUE OCEAN MICROCHIP (533 MHz, 64 MB DDR, 256 MB FLASH). На ней уже установлена операционная система Windows CE 6.0. Производитель приложил к ней пакет SDK который работает совместно с Visual Studio 2005(подходит вроде и к 2008). Для работы со специфицескими устройствами платы GPIO, сторожевой таймер, и т.д. предоставил dll.

 

В студии есть возможность создавать проекты Win32(насколько я понял это работа напрямую с API), MFC, и возможность работы с .Net Compact Framework.

 

На данный момент задача ставится следующим образом необходимо устройство отображения данных, принимаемых по протоколу NMEA, опрос клавитуры или кнопок по GPIO, ну и отсылка пакетов управления и лог на SD карту. Скорость 9600 bps 1 раз в секунду. То есть медленный поток. Но возможно плата будет использоваться для другого проекта, где будет практически непрерывный поток по COM порту на скорости 115200 bps.

 

Работа с Win API или MFC не привлекает(первое трудоемко, второе устарело). Остается вариант C# или попытаться прикрутить библиотеку QT и работать в нативном коде.

 

Если кто-то имеет какой-то опыт проясните мне ситуацию:

 

1)можно ли работать из C# с библиотекой доступа к специфическим устройствам. (нет ли ограничения Compact Framework).

 

2)потянет ли программа на C# в такой системе непрерывный прием по последовательному порту (115200bps) + отображение + лог на SD карту, не будет ли сбоев из-за сборки мусора. Или лучше собрать QT под плату.

 

3)у меня не получается собрать QT по инструкции с сайта, можно ли взять уже собранные библиотеки под windows ce c сайта и не заморачиваться на сборку(или надо собирать с SDK).

 

Прилагаю документ борду(на китайском).

 

Ссылка на документацию на похожую плату

http://www.bluemcu.com/en/UploadFiles/LJD-...er%20Manual.pdf

LJD_eWinV5_ST5.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поздно, но может ещё будет полезным.

 

Из C# можно вызывать код нативных DLL, только нужно в настройках разрешить небезопасный код.

Пример объявления:

        [System.Runtime.InteropServices.DllImport("coredll.dll")]
        public static extern bool DeleteObject(IntPtr hObject);

115200 для такой железки достаточно скромно.

Графика и пользовательский интерфейс - это уже от реализации зависит, анимация, прозрачность, прочие весёлости.

Касательно сборщика мусора, он особо не мешает в плане производительности, но иногда становится непонятно, отчего приложения вылетают с нехваткой памяти. Сразу пара советов по этому поводу: для форм и других объектов не забывать реализовывать Dispose и вызывать оттуда Dispose для дочерних объектов, временные объекты создавать с помощью using.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...