Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info
titleВажно!

Для корректной работы примеров Guardant Code необходимо записать Mask.nsd в ключ при помощи GrdUtil.

Структура используемого файла маски

Файл маски (Mask.nsd), используемый в примерах для ключей Guardant Code / Code Time, отличается от файла маски GrdUtil по умолчанию (default.nsd) и имеет следующую структуру, одинаковую для всех примеров:

...


По умолчанию файл маски Mask.nsd находится в директории "Program Files\Guardant\SDK <версия>\DEMONVK\Samples\ARM".

Краткая характеристика примеров

  1. Шаблон проекта загружаемого кода. На его основе можно разрабатывать собственные модули.
  2. Функция main(), возвращающая определенный код (демонстрация передачи параметров dwRet и dwP1).
  3. Демонстрация использования буферов ввода-вывода.
  4. Демонстрация работы необнуляемого буфера (внутренняя память). В одном вызове можно записать данные, а в следующем – считать обратно.
  5. Разделение загружаемого приложения на несколько логических частей (обработка команд).
  6. Управление индикатором. Демонстрация работы функций GcaLedOn()/GcaLedOff().
  7. Создание интерфейса к EEPROM. Обеспечивает чтение/запись участка в 512 байт EEPROM блоками по 16 байт. Блоки шифруются на AES-128 в режиме ECB, на ключе, хранящемся внутри загружаемого приложения.
  8. Демонстрация работы с защищенными ячейками. Проход по аппаратным алгоритмам и получение информации о них (сервисы времени, чтения, модификации, счетчик запусков).
  9. Модификация содержимого заданной защищенной ячейки.
  10. Демонстрация функций работы с таймером (только для Guardant Code Time). Получение текущего времени и валидности RTC. Функция установки времени отсутствует. Единственный способ установить время в электронном ключе – при помощи GrdUtil.
  11. Получение времени жизни защищенной ячейки.
  12. Функции криптографии. Демонстрация генерации ключевой пары, подписи и проверки этой подписи по ECC160 с возвратом всех буферов в PC.
  13. Использование аппаратного алгоритма для подписи.
  14. Подсчет хэша.
  15. Возврат блока случайных данных.
  16. Отличие форматов хранения чисел с плавающей точкой в GCC ARM и PC.
  17. Демонстрация использования встроенных математических функций.
  18. Пример реализации вычислительной задачи (вычисление заданной точки на кривой Безье порядка N, параметры кривой хранятся внутри загружаемой микропрограммы).
  19. Реализация целочисленной задачи. Шифрование на алгоритме Blowfish для блока данных на заданном ключе.
  20. Демонстрация использования отладочной библиотеки.Для запуска примера необходимо запустить проект Demo.sln

...