В микроконтроллерах на основе ядра CORTEX-M3, на которых построен ключ Guardant Code, имеется единое адресное пространство в 4Гб. Для загружаемого кода доступны следующие диапазоны адресов:
Адреса | Назначение |
00020000h-0003FFFFh | Flash-память для размещения загружаемого кода и ROM-секции микропрограммы (для варианта с 128 кб Flash-памяти) |
00020000h-00077FFFh | Flash-память для размещения загружаемого кода и ROM-секции микропрограммы (для варианта с 352 кб Flash-памяти) |
40003000h-40007FDFh | RAM (ОЗУ), доступная загружаемому коду. Тут размещаются: стек, буфер ввода-вывода, переменные загружаемого кода |
Диапазон используемых адресов указывается в makefile (параметры CFG_PROGRAM_ADDR, CFG_PROGRAM_SIZE, CFG_ RAM, CFG_RAM_SIZE). Задаваемые адреса должны быть кратны 0x8000 байт, и быть выровнены по границе 32768 байт.
Диапазон адресов, доступных загружаемому коду, описывается в соответствующем дескрипторе аппаратного алгоритма. GrdUtil автоматически заполняет соответствующие поля дескриптора информацией из файла *.bmap.
Поскольку по умолчанию под загружаемый код резервируется вся Flash-память и вся RAM, значения этих настроек без насущной необходимости изменять не нужно.