...
Info | ||
---|---|---|
| ||
Для корректной работы примеров Guardant Code необходимо записать Mask.nsd в ключ при помощи GrdUtil. |
Структура используемого файла маски
Файл маски (Mask.nsd), используемый в примерах для ключей Guardant Code / Code Time, отличается от файла маски GrdUtil по умолчанию (default.nsd) и имеет следующую структуру, одинаковую для всех примеров:
...
По умолчанию файл маски Mask.nsd находится в директории "Program Files\Guardant\SDK <версия>\DEMONVK\Samples\ARM".
Краткая характеристика примеров
- Шаблон проекта загружаемого кода. На его основе можно разрабатывать собственные модули.
- Функция main(), возвращающая определенный код (демонстрация передачи параметров dwRet и dwP1).
- Демонстрация использования буферов ввода-вывода.
- Демонстрация работы необнуляемого буфера (внутренняя память). В одном вызове можно записать данные, а в следующем – считать обратно.
- Разделение загружаемого приложения на несколько логических частей (обработка команд).
- Управление индикатором. Демонстрация работы функций GcaLedOn()/GcaLedOff().
- Создание интерфейса к EEPROM. Обеспечивает чтение/запись участка в 512 байт EEPROM блоками по 16 байт. Блоки шифруются на AES-128 в режиме ECB, на ключе, хранящемся внутри загружаемого приложения.
- Демонстрация работы с защищенными ячейками. Проход по аппаратным алгоритмам и получение информации о них (сервисы времени, чтения, модификации, счетчик запусков).
- Модификация содержимого заданной защищенной ячейки.
- Демонстрация функций работы с таймером (только для Guardant Code Time). Получение текущего времени и валидности RTC. Функция установки времени отсутствует. Единственный способ установить время в электронном ключе – при помощи GrdUtil.
- Получение времени жизни защищенной ячейки.
- Функции криптографии. Демонстрация генерации ключевой пары, подписи и проверки этой подписи по ECC160 с возвратом всех буферов в PC.
- Использование аппаратного алгоритма для подписи.
- Подсчет хэша.
- Возврат блока случайных данных.
- Отличие форматов хранения чисел с плавающей точкой в GCC ARM и PC.
- Демонстрация использования встроенных математических функций.
- Пример реализации вычислительной задачи (вычисление заданной точки на кривой Безье порядка N, параметры кривой хранятся внутри загружаемой микропрограммы).
- Реализация целочисленной задачи. Шифрование на алгоритме Blowfish для блока данных на заданном ключе.
- Демонстрация использования отладочной библиотеки.Для запуска примера необходимо запустить проект Demo.sln
...