How to update the new BCFFILE content to board

Hello NVIDIA, I just edit the BCFFILE content.If use flash.sh will take long time.These is another way to update bcffile only??

hello zjj2k,

please take a try with below command, please replace the [BCFFILE] with yours.

./tegraflash.py --bl cboot.bin --bct P2180_A00_LP4_DSC_204Mhz.cfg --odmdata 0x84000 --bldtb tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb --applet nvtboot_recovery.bin --boardconfig [BCFFILE] --cmd "flash;reboot" --cfg flash.xml --chip 0x21

THKS!

I remove the “APP” section in flash.xml and try it. After finish flash, tx1 reboot failed.
follow is the log

Hit any key to stop autoboot:  0 
MMC: no card present
switch to partitions #0, OK
mmc0(part 0) is current device
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
starting USB...
USB0:   USB EHCI 1.10
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
       scanning usb for ethernet devices... 0 Ethernet Device(s) found

USB device 0: unknown device
No ethernet found.
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-tegra210
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
No ethernet found.
Config file not found
No ethernet found.

APP is the root partition…it contains the “/boot” directory with U-Boot’s configuration. Without APP there is no operating system at all. You can substitute a different APP (basically the sample rootfs). The messages you see are U-Boot desperately looking for any means of finding configuration it can since what it expected is missing.

Hey guys sorry to dig up an old thread. I’m wanting to do almost the same thing. I want to try changing pinmuxcfg multiple times trying different setups, but I don’t want to wait the 20 minutes for flashing. Do you have a simular command? Thanks in advance

On R24.2.1 or earlier you can just change the device tree listed in “/boot/extlinux/extlinux.conf” via the FDT entry. After that you will need to look at the docs on customizing…for R28.1 you need to flash just the device tree (you can avoid flashing the rootfs and just flash device tree).

Right we are using 28.1. The pinmux we generated from the excel sheets then we used the python program pinmux-dts2cfg.py which generates the x-x-xpinmux.cfg. They suggest you put it into the /bootloader/t186ref/BCT/ folder. Then finally run ./flash.sh

My problem is ./flash.sh reflashes everything. I don’t think its the dtb file as it seems the pinmux is now part of the BCT. Is there a specific command line for only flashing this BCT?

Looking at the output of flash.sh I see this…

./tegraflash.py --bl nvtboot_recovery_cpu.bin --sdram_config P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --odmdata 0x1090000 --applet mb1_recovery_prod.bin --cmd “flash; reboot” --cfg flash.xml --chip 0x18 --misc_config tegra186-mb1-bct-misc-si-l4t.cfg --pinmux_config tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmic_config tegra186-mb1-bct-pmic-quill-p3310-1000-c03.cfg --pmc_config tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --prod_config tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg --scr_config minimal_scr.cfg --scr_cold_boot_config mobile_scr.cfg --br_cmd_config tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --dev_params emmc.cfg --bins “mb2_bootloader nvtboot_recovery.bin; mts_preboot preboot_d15_prod_cr.bin; mts_bootpack mce_mts_d15_prod_cr.bin; bpmp_fw bpmp.bin; bpmp_fw_dtb tegra186-a02-bpmp-quill-p3310-1000-c01-00-te770d-ucm2.dtb; tlk tos.img; eks eks.img; bootloader_dtb tegra186-quill-p3310-1000-c03-00-base.dtb”

However after that is a bunch of other stuff as well…

./tegraflash.py --bl nvtboot_recovery_cpu.bin --sdram_config P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --odmdata 0x1090000 --applet mb1_recovery_prod.bin --cmd “flash; reboot” --cfg flash.xml --chip 0x18 --misc_config tegra186-mb1-bct-misc-si-l4t.cfg --pinmux_config tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmic_config tegra186-mb1-bct-pmic-quill-p3310-1000-c03.cfg --pmc_config tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --prod_config tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg --scr_config minimal_scr.cfg --scr_cold_boot_config mobile_scr.cfg --br_cmd_config tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --dev_params emmc.cfg --bins “mb2_bootloader nvtboot_recovery.bin; mts_preboot preboot_d15_prod_cr.bin; mts_bootpack mce_mts_d15_prod_cr.bin; bpmp_fw bpmp.bin; bpmp_fw_dtb tegra186-a02-bpmp-quill-p3310-1000-c01-00-te770d-ucm2.dtb; tlk tos.img; eks eks.img; bootloader_dtb tegra186-quill-p3310-1000-c03-00-base.dtb”

And then again…

–bl nvtboot_recovery_cpu.bin --sdram_config P3310_A00_8GB_Samsung_8GB_lpddr4_204Mhz_A02_l4t.cfg --odmdata 0x1090000 --applet mb1_recovery_prod.bin --cmd “flash; reboot” --cfg flash.xml --chip 0x18 --misc_config tegra186-mb1-bct-misc-si-l4t.cfg --pinmux_config tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg --pmic_config tegra186-mb1-bct-pmic-quill-p3310-1000-c03.cfg --pmc_config tegra186-mb1-bct-pad-quill-p3310-1000-c03.cfg --prod_config tegra186-mb1-bct-prod-quill-p3310-1000-c03.cfg --scr_config minimal_scr.cfg --scr_cold_boot_config mobile_scr.cfg --br_cmd_config tegra186-mb1-bct-bootrom-quill-p3310-1000-c03.cfg --dev_params emmc.cfg --bins “mb2_bootloader nvtboot_recovery.bin; mts_preboot preboot_d15_prod_cr.bin; mts_bootpack mce_mts_d15_prod_cr.bin; bpmp_fw bpmp.bin; bpmp_fw_dtb tegra186-a02-bpmp-quill-p3310-1000-c01-00-te770d-ucm2.dtb; tlk tos.img; eks eks.img; bootloader_dtb tegra186-quill-p3310-1000-c03-00-base.dtb”

This seems a little excessive, so I was just wondering what is the proper way for flashing the BCT which from my understanding is doing the pinmuxing now.

The “-r” option to flash.sh tells it to reuse the existing root partition image (“bootloader/system.img”). The “-k” option says to flash a particular partition ("-r" combiend with “-k” should allow not flashing rootfs). There may be some differences in the command to flash the TX1 versus TX2, but note that your command you listed above is for the TX2, not TX1. I say this because “186ref” in the path is a reference to the TX2 hardware…a TX1 would be “t210ref”. t186 and t210 software are not interchangeable.

The tegraflash command might be correct (someone will need to verify that), but you probably have the wrong driver package since you have t186ref and not t210ref. The R28.1 web page has two driver packages listed…be sure to get the TX1 version. There was a short time when the TX1 version disappeared from the web page, but it is there now.

I appolgize, I am using the TX2. I came across this thread from a search for BCT flashing. I should have specified earlier that I am using a TX2 but didn’t realize until I had posted.

I will try flash.sh with -k and -r parameters and see if that speeds up flashing as I am going through multiple iterations of pinmux changing.

Thanks