Versions Compared

Key

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

...

  • Проект Visual Studio 2005 .NET в папке Win32, демонстрирующий использование Guardant API (т. е. необходимую инициализацию и запуск загруженного кода)
  • Пример загружаемого кода в папке Loadable Code, содержащий проект GCC-ARM в виде исходного кода на C и makefile. При сборке примера получаются *.bin и *.bmap файлы, которые необходимо указывать GrdUtil для генерации GCEXE-файла соответствующего алгоритма.

...

  • UI Text Box
    typeinfo

    Важно!
    Для корректной работы примеров
    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

...