Программное обеспечение «CPC503 LPC Driver» для эксплуатации на процессорных платах Fastwel CPC503
Постановка задачи
Целью разработки рограммы является обеспечение поддержки ряда аппаратных возможностей процессорной платы Fastwel CPC503 – сторожевого таймера, памяти FRAM, портов цифрового ввода-вывода и светодиодов.
Условия эксплуатации программного продукта
Программа предназначена для эксплуатации на процессорных платах Fastwel CPC503 под управлением операционной системы Windows Embedded Standard 7.
Функциональные требования
Функциональные требования к Программе приведены в следующей таблице.
№ |
Требование |
Описание |
Поддержка сторожевого таймера | ||
1.1 |
Конфигурирование
|
Запуск/остановка счетчика, установка периода таймера, считывание значения счётчика |
1.2 |
Сброс счетчика |
Сброс значения счётчика |
1.3 |
Чтение флагов тайм-аута |
Чтение флагов тайм-аута сторожевого таймера |
Поддержка памяти FRAM | ||
2.1 |
Доступ к FRAM по чтению |
Чтение информации по заданному адресу FRAM |
2.2 |
Доступ к FRAM по записи |
Запись информации по заданному адресу FRAM |
2.3 |
Конфигурирование защиты последнего килобайта FRAM |
Включение и отключение блокировки записи в последний килобайт FRAM |
Поддержка портов цифрового ввода-вывода | ||
3.1 |
Поддержка ввода и вывода информации через порты цифрового ввода-вывода |
Конфигурирование направления передачи информации, её чтение/запись |
Поддержка светодиодов | ||
4.1 |
Включение и выключение светодиодов |
Включение и выключение светодиодов с помощью соответствующего регистра |
Драйвер разработан на базе Windows Driver Frameworks (WDF) и использует символьную ссылку:
CEPCLpcDev
Пример использования на C++ с использованием WinAPI 32:
hndFile = CreateFile(
L"\\\\.\\CEPCLpcDev",
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0,
NULL
);
Все функции касательно работы с памятью FRAM, модулями Watchdog timer и RIO GPIO/LED выполнены в едином драйвере cepclpc.sys. Работа с функциями организована через IOContol обработчик.