Для обеспечения полной совместимости ключей Guardant Code 5 поколения (выпускаемых с июня 2021 года) с предыдущим поколением устройств, требуется однократно пересобрать загружаемый код (далее - ЗК). BIN-файл, подготовленный в соответствии с данной инструкцией, будет универсальным. Его можно будет загружать как в новые, так и старые ключи.

Процедура сборки

Для сборки универсального ЗК нужно:

  1. Скачать Guardant SDK последней версии по ссылке и установить (требуется Guardant SDK 7 Update 7 или новее)
  2. Из установленного SDK потребуются следующие файлы: 
    1. Универсальный makefile (можно взять в составе примера [%ProgramFiles(x86)%\Guardant\SDK7\Samples\Loadable Code API\01 - General Sample\Loadable Code\])
    2. Утилита elfconv.exe (в директории [%ProgramFiles(x86)%\Guardant\SDK7\Build\arm\bin])
  3. В одну директорию с исходным кодом ЗК нужно скопировать новый makefile
  4. Если в makefile через [CFG_SYS_DIR = "$(BUILD_ARM)\bin"] указана нестандартная директория, то в эту же директорию нужно скопировать утилиту elfconv.exe . Если этот параметр в makefile настроен «по умолчанию» (см. выше пункт 2.b), то elfconv.exe никуда копировать ненужно
  5. Если требуется, указать в makefile свои параметры ROM и RAM
  6. Выполнить make template, затем make

Примечание

Отличие нового makefile от старого: адрес RAM памяти задаётся в относительных значениях, как смещение. Для этого введена константа [CFG_RAM_OFFSET]: