1*4882a593Smuzhiyun firmware_merger read setting.ini to get partition info and create firmware.firmware_merger can generate 2*4882a593Smuzhiyunthree kinds of firmware(1.flat rk firmware 2.flat gpt firmware 3.compact gpt firmware).flat firmware can be 3*4882a593Smuzhiyundirectly written into flash by 'wl'command.Compact firmware can only be written by productiontool. when SPL 4*4882a593Smuzhiyunis rk miniloader,firmware use flat rk format.when SPL is u-boot,firmware use flat gpt. 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunfollow us to config settting.ini: 7*4882a593Smuzhiyun1.set format of firmware 8*4882a593SmuzhiyunGpt_Enable= /*flat rk firmware*/ 9*4882a593SmuzhiyunGpt_Enable=0 /*flat gpt firmware*/ 10*4882a593SmuzhiyunGpt_Enable=1 /*compact gpt firmware*/ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun2.backup header of firmware or not 13*4882a593SmuzhiyunBackup_Partition_Enable=1 /*backup firmware header*/ 14*4882a593SmuzhiyunBackup_Partition_Enable= /*default,no backup firmware header,when you don't know flash size,no backup*/ 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun3.idblock partition (must be first partition) 17*4882a593SmuzhiyunName=IDBlock /*partition name,fixed 'IDBlock'*/ 18*4882a593SmuzhiyunType=0x2 /*partition type,fixed=2*/ 19*4882a593SmuzhiyunPartOffset=0x40 /*partition offset,fixed=0x40*/ 20*4882a593SmuzhiyunPartSize=0x400 /*partition size,must be smaller than 2M*/ 21*4882a593SmuzhiyunFlag= /*partition flag,default value*/ 22*4882a593SmuzhiyunFile=Image/FlashData.bin,Image/FlashBoot.bin /*ddr_init.bin,loader.bin*/ 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun4.layout other partition sequentially,four case to config 25*4882a593Smuzhiyuna.written partition file and fill up to partition size 26*4882a593SmuzhiyunFlag= 27*4882a593SmuzhiyunFile=partition file 28*4882a593Smuzhiyun 29*4882a593Smuzhiyunb.partition be filled up to partition size 30*4882a593SmuzhiyunFlag=0x2 31*4882a593SmuzhiyunFile=/*do not set*/ 32*4882a593Smuzhiyun 33*4882a593Smuzhiyunc.skip,none of data be written to partition 34*4882a593SmuzhiyunFlag=0x1 35*4882a593SmuzhiyunFile=/*do not set*/ 36*4882a593Smuzhiyun 37*4882a593Smuzhiyund.last partition,partition size be set at runtime,alloc all of remain flash to it 38*4882a593SmuzhiyunFlag=0x4 39*4882a593SmuzhiyunFile=/*set file as required*/ 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun5.fix partition uuid 42*4882a593Smuzhiyuna.add Type_Guid=UuidKeyName into partition section 43*4882a593Smuzhiyunb.add uuid item into PARTITION_TYPE_GUID section 44*4882a593Smuzhiyunexample: 45*4882a593Smuzhiyun[userPart1] 46*4882a593SmuzhiyunName=rootfs 47*4882a593SmuzhiyunType_Guid=rootfs_uuid 48*4882a593Smuzhiyun[PARTITION_TYPE_GUID] 49*4882a593Smuzhiyunrootfs_uuid=00000000-0000-0000-0000-000000000000