语法
- 对于 Zynq 器件和 Zynq UltraScale+ MPSoC:
[blocks = <size><num>;<size><num>;...;<size><*>] <partition>
- 对于 Versal 自适应 SoC:
{ blocks = <size><num>;...;<size><*>, file=<partition> }
描述
指定加密中的密钥滚动功能的块大小。每个模块均使用其专用密钥进行加密。初始密钥存储在器件上的密钥源中,而每个后续模块的密钥则在前一个模块中进行加密(封装)。
实参
-
<size>
- 指定块大小(字节)。
示例
- 对于 AMD Zynq™
UltraScale+™ MPSoC:
Sample BIF - test.bif all: { [keysrc_encryption] bbram_red_key [bootloader,encryption=aes, aeskeyfile=encr.nky, destination_cpu=a53-0,blocks=4096(2);1024;2048(2);4096(*)] fsbl.elf }
- 对于 Versal 自适应 SoC:
all: { id_code = 0x04ca8093 extended_id_code = 0x01 id = 0x2 metaheader { encryption = aes, keysrc = bbram_red_key, aeskeyfile = efuse_red_metaheader_key.nky, dpacm_enable } image { name = pmc_subsys, id = 0x1c000001 partition { id = 0x01, type = bootloader, encryption = aes, keysrc = bbram_red_key, aeskeyfile = bbram_red_key.nky, dpacm_enable, blocks = 4096(2);1024;2048(2);4096(*), file = plm.elf } partition { id = 0x09, type = pmcdata, load = 0xf2000000, aeskeyfile = pmcdata.nky, file = pmc_data.cdo } } image { name = lpd, id = 0x4210002 partition { id = 0x0C, type = cdo, encryption = aes, keysrc = bbram_red_key, aeskeyfile = key1.nky, dpacm_enable, blocks = 8192(20);4096(*), file = lpd_data.cdo } partition { id = 0x0B, core = psm, encryption = aes, keysrc = bbram_red_key, aeskeyfile = key2.nky, dpacm_enable, blocks = 4096(2);1024;2048(2);4096(*), file = psm_fw.elf } } image { name = fpd, id = 0x420c003 partition { id = 0x08, type = cdo, encryption = aes, keysrc = bbram_red_key, aeskeyfile = key5.nky, dpacm_enable, blocks = 8192(20);4096(*), file = fpd_data.cdo } } }
注释: 在上例中,前 2 个块大小为 4096 字节,后接 1 个大小为 1024 字节的块,再后接 2 个大小为 2048 字节的块。其余块大小均为 4096 字节。