Программное обеспечение «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 обработчик.