nvflash tool and build the BCT file -- doubts

Tried to build the BCT file, but it is not working. The cmd is:
sudo ./nvflash --buildbct PM375_Hynix_2GB_H5TC4G63AFR_RDA_924MHz.cfg bct_new_test --deviceid 0x40

Nvflash 4.13.0000 started
building bct
Unsupported parameters
BuildBct: bct_new_test file created successfully.

The output file is not working. Need to know that how to generate the new BCT file for new DDR3 memory.

As per the help,

./nvflash --cmdhelp --updatebct
Nvflash 4.13.0000 started

–updatebct command usage ->
1.nvflash --bct --updatebct --bl --sync --go
2.nvflash --blob --bct --updatebct --sync --bl --go

used to update some section of system bct(bctsection) from bct specified
this command is run in 3pserver. As of now, bctsection can be SDRAM which
updates SdramParams and NumSdramSets field of bct, DEVPARAM updates
DevParams, DevType and NumParamSets fields, SIGNEDSECTION updates the complete
signed section of bct and BOOTDEVINFO updates BlockSizeLog2, PageSizeLog2 and
PartitionSize fields and BLINFO which must be used with --download command.
Only SIGNEDSECTION can be updated for secure (PKC/SBK fused) devices.

The doubt is:

In nvflash cmd, how to send these details:

DEVPARAM
SIGNEDSECTION
BOOTDEVINFO
BLINFO
and hash details.

Please help.

Hello, BalajiNP
Can you try :

sudo ./nvflash --bct flash.bct --updatebct SDRAM --updatebct DEVPARAM --updatebct BOOTDEVINFO --bl bootloader.bin --go?

Br
ChenJian

Hi Jachen,
I have stuck in similar kind of issue as BalajiNP.

  1. I have built the BCT from the CFG and tried updating the same to the device and it worked.

sudo ./nvflash --buildbct PM375_Hynix_2GB_H5TC4G63AFR_RDA_924MHz.cfg bct_new_test --deviceid 0x40
sudo ./nvflash --bct bct_new_test --setbct --bl ardbeg/fastboot.bin --create --configfile flash.cfg --bl
fastboot.bin --odmdata 0x6209C000 --boardid 0x177 0x00 0x03 --go

  1. I have get the BCT from the working Device and tried flashing the same but it stuck while flashing.

sudo ./nvflash --bct bct_from_device.bct --getbct --bl ardbeg/fastboot.bin
sudo ./nvflash --bct bct_from_device.bct --setbct --bl ardbeg/fastboot.bin --create --configfile flash.cfg --bl fastboot.bin --odmdata 0x6209C000 --boardid 0x177 0x00 0x03 --go

Error is

creating partition: EBT
bootloader status: BCT is full; no more bootloaders can be added (code: 16) message: CreatePartition 1911 flags: 0
unable to do create partition
command failure/warning: create failed

Error from serial terminal

Region=1 SD Erase start 512B-sector=0,512B-sector-num=8192
Region=2 SD Erase start 512B-sector=0,512B-sector-num=8192
Region=0 SD Erase start 512B-sector=0,512B-sector-num=30777344
SD Alloc Partid=2, start sector=0,num=2048
SD Alloc Partid=3, start sector=2048,num=512
SD Alloc Partid=4, start sector=2560,num=512
SD Alloc Partid=5, start sector=3072,num=1024
CreatePartition failed. NvError 4 NvStatus 16

  1. My observation is each time when I ran getbct the output file checksum varies. So eventhough the size of the bct file is same but for the same device (working device) if I ran --getbct twice I received two different bct files (both doesn’t seems to work when I flash it back).

Can you kindly help me out ?

Thanks in Advance
Jeslin Paul

Hello, Jeslin Paul:
That error is expected since bct read from device already contains BL parameters and again you are filling the bct with same BL info having same partition id in flash.cfg which it will not allow and throw error as shown in description as to why you are filling info which is already present.

May I know what’s the use case for you to readbct? You can flash the device by raw bct.

br
Chenjian