SPE - missing logs(printf)/cannot flash fw - AGX ORIN

Hello Everyone,

I am using Jetson AGX Orin(r35.4.1), I have followed the entire instruction manual, and I still cannot load the firmware on the SPE or I don’t know how to read the logs from SPE.

I added some printf in main.c, but they are missing in the logs.
I think I miss something. I would be grateful for help.

  1. I have built SPI application, then moved spe_t234.bin to /Linux_for_tegra/bootloader/
  2. I use this command to flash firmware
    sudo ./flash.sh -k A_spe-fw jetson-agx-orin-devkit mmcblk0p1
  3. using jetson-demux -d /dev/ttyACM1 to access SPE terminal
  4. Logs are saying only something like this.
I> Unhalting SPE..
I> Enabling combined UART 
spe: early_init
vic initialized
tsc initialized
aon lic initialized
spe: tag is XXX
spe: SafeRTOS v8.4
spe: init
scheduler initialized
aon hsp initialized
tag initialized
tcu initialized
bpmp ipc initialized
spe: late init
cpu_nic clock initialized
apb clock initialized
pm initialized
bpmp hsp initialized
top1 hsp initialized
ccplex ipc initialized
spe: start scheduler

Hello, lukasz.przybylik.td:
The log you pasted was still from original SPE firmware, not the one you built locally.
The possible reason is that the active slot switches to B. You can check log to confirm which slot is active now.
You can start from beginning.
For example, Compile the original SPE firmware, without any change, flash both A and B spe-fw partition, and check the logs.
Then you can add your own code.

br
ChenJian

Thank you @jachen

I decided to reflash whole board using sudo ./flash.sh jetson-agx-orin-devkit mmcblk0p1 and it started to show my logs properly now. It is very likely that if I had flashed the B slot, it would be working too, but I flashed whole board just before I read your reply. Now when I am flashing firmware partition A it is working properly every time.

Could you please explain the circumstances under which the partition slot switches from A to B?

Hello, lukasz.przybylik.td
You can check Update and Redundancy — Jetson Linux Developer Guide documentation (nvidia.com) for details about A/B slots.

br
ChenJian

1 Like

All make sense. Thank you @jachen for your help.