Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: работа с Windows CE
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
Alexey K
Есть следующая проблема.

Имеется плата с самсунговским 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
den_po
Поздно, но может ещё будет полезным.

Из C# можно вызывать код нативных DLL, только нужно в настройках разрешить небезопасный код.
Пример объявления:
Код
        [System.Runtime.InteropServices.DllImport("coredll.dll")]
        public static extern bool DeleteObject(IntPtr hObject);

115200 для такой железки достаточно скромно.
Графика и пользовательский интерфейс - это уже от реализации зависит, анимация, прозрачность, прочие весёлости.
Касательно сборщика мусора, он особо не мешает в плане производительности, но иногда становится непонятно, отчего приложения вылетают с нехваткой памяти. Сразу пара советов по этому поводу: для форм и других объектов не забывать реализовывать Dispose и вызывать оттуда Dispose для дочерних объектов, временные объекты создавать с помощью using.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.