protector 0 13 мая, 2014 Опубликовано 13 мая, 2014 · Жалоба Есть следующая проблема. Имеется плата с самсунговским 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
den_po 0 26 мая, 2014 Опубликовано 26 мая, 2014 · Жалоба Поздно, но может ещё будет полезным. Из C# можно вызывать код нативных DLL, только нужно в настройках разрешить небезопасный код. Пример объявления: [System.Runtime.InteropServices.DllImport("coredll.dll")] public static extern bool DeleteObject(IntPtr hObject); 115200 для такой железки достаточно скромно. Графика и пользовательский интерфейс - это уже от реализации зависит, анимация, прозрачность, прочие весёлости. Касательно сборщика мусора, он особо не мешает в плане производительности, но иногда становится непонятно, отчего приложения вылетают с нехваткой памяти. Сразу пара советов по этому поводу: для форм и других объектов не забывать реализовывать Dispose и вызывать оттуда Dispose для дочерних объектов, временные объекты создавать с помощью using. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться