Flashing bct_mb1 fails because Bin size is more than the allocated space

While trying to flash a new version of the tegra186-mb1-bct-pinmux-quill-p3310-1000-c00.cfg file using an entire system flash procedure, I get an error of 000000000e874502: Failed to check bin load range and a Error: Return value 2 from the flash.sh execution. See the attached log file flash-output.txt (15.7 KB)

The debug serial console outputs only two error lines before aborting:

[0020.301] E> Bin size is more than the allocated space
[0020.306] E> (0e874502): Failed to check bin load range

My pinmux.cfg only grew by 10 lines from 526 total lines to 536 lines, which appears to have grown the mb1* files that are programmed by only 80 bytes. See below for the differences in the sizes (left side works properly, right side gets the error being described).

This is using L4T R32.4.2 for flashing.

How is it that BCT_MB1 is out of space as it looks like flash_l4t_t186.xml defines MB1_BCT to 65536 bytes?

How do I get my pinmux.cfg to program correctly?

hello JDSchroeder,

could you please have a try to remove -r options for verification.

I have already done that…it does not matter.

The problem is with flashing/sending the bct_mb1 and nothing to do with the file system.

hello JDSchroeder,

assume you’re using pinmux spreadsheets to have customization and generate board configuration file.
since l4t-r32.4.2 was JetPack-4.4 Developer Preview release, suggest you should moving to the latest JetPack release for verification, i.e. JetPack-4.4/ l4t-r32.4.3
please share the details steps for reference if you still meet the same failures.

We confirmed there are no issue with JP-4.4 GA.

List our steps for reference:

  1. Download pinmux spreadsheet v1.04 from: https://developer.nvidia.com/embedded/dlc/jetson-tx2-series-module-pinmux
  2. Generate dtsi files on Windows
  3. Run below command to generate cfg file:
$ cd Linux_for_Tegra/kernel/pinmux/t186/
$ python pinmux-dts2cfg.py --pinmux addr_info.txt gpio_addr_info.txt por_val.txt tegra18x-jetson-tx2-default-template-pinmux.dtsi tegra18x-jetson-tx2-default-template-gpio-default.dtsi 1.0 > ../../../bootloader/t186ref/BCT/tegra186-mb1-bct-pinmux-quill-p3310-1000-<version>.cfg

* <version> is the device tree version
  1. Flash image

Please re-read the original post. The issue is not with the stock version of the quill pinmux file. The issue is when you configure additional pins using the spreadsheet. You then go through the process of exporting the dtsi file and converting them to the .cfg file. For every pin in the spreadsheet that you make a GPIO output 0/1 setting this will cause the pinmux file to grow by several lines as there are additional register addresses that must be wrote to for configuring a pin to a GPIO output. If you change enough of the pins to GPIO outputs, the pinmux cfg will grow large enough that it will exceed some artificial limit that is in the recovery programming process or binary application.

Add additional pinmux settings to grow your mb1_bct_MB1_* file (see the screenshot pictured above) to 51,232 bytes and you will begin seeing the issue. If you are using a tegra186-mb1-bct-pinmux-quill-p3310-1000-c00.cfg with only 378 lines in it, you will not see the problem.

hello JDSchroeder,

currently there’s limitation of BCT_MB1, which has fixed to 50K; hence that’s an expected failure with a larger binary.
we’re having internal investigation for the updates, will update the status after we have conclusions.