blocks - 2023.2 简体中文

Vitis 统一软件平台文档 嵌入式软件开发 (UG1400)

Document ID
UG1400
Release Date
2023-12-13
Version
2023.2 简体中文

语法

  • 对于 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 字节。