What is contained in the standard SPE firmware?

Hello,
the Linux_for_Tegra sources of the Jetson Linux/JetPack that are flashed onto the device by the SDK Manager contain an SPE (Sensor Processing Firmware) firmware with a size of 256 KiB.

  1. What does this firmware contain?
  2. What tasks/functions does it fulfill in the standard setup?
  3. Is the source code for this default SPE firmware available?

I could not find any information about this in documentation.
The provided binary does not seem to be the demo SPE firmware that can be downloaded at the Jetson Linux site (Sensor Processing Engine Sources) as this is only 172 KiB in size.
I appreciate any information.
Thanks

Hello, jonathan.schnitzler:

  1. SPE means Sensor Processing Engine, and that’s a R5 core in AON cluster. You can search AON and SPE as keywords in TRM for details.
  2. By default, SPE firmware delas with TCU. The SPE firmware source package is open-source and some other real-time tasks, like GPIO, timer, etc., can be added.
  3. Default SPE firmware is only provided by binary. The main functions are the same as release source package.

You can take a look at doc folder in SPE source package, and you can have an overview for the SPE firmware/functions.

br
ChenJian

Hi @jachen,

thank you for your answer.

SPE means Sensor Processing Engine

Good point, I mistyped that in my question.

By default, SPE firmware delas with TCU.

What are you referring to with the term “TCU”? I could not find that term in the TRM.

thanks

Hello, jonathan:
You can take a look at Jetson/AGX Xavier Tegra Combined UART - eLinux.org for some information of TCU.
That’s mostly a software implementation of muxed UART. So there’s no such information in TRM.

br
ChenJian

Hello ChenJian,
does this also apply to the Jetson Orin?
The demux tool (GitHub - NVIDIA/python-jetson: Python utilities for NVIDIA Jetson) currently only supports Xavier.

greetings
Jonathan

Hello, jonathan.schnitzler:
I have tested that tool ( jetson-demux) and it is still available for Orin AGX.
Please note that the UART node is /dev/ttyACMx in Orin AGX, instead of /dev/ttyUSBx.

br
ChenJian

Hello ChenJian,

thank you for trying it out. I could not successfully use it yet but I will try again.

Another question: According to the SPE documentation (Jetson Sensor Processing Engine (SPE) Developer Guide: Welcome) CAN, UART and SPI are currently not supported.

  1. Will this change in the future?
  2. Is this caused by the hardware layout of the Jetson Orin or rather by missing drivers?

Also, is there any more in-depth documentation of the SPE apart from the one I linked? In the TRM I also found no chapter about the SPE.

Thank you for answering my questions.
Greetings
Jonathan Schnitzler

Hello,
May I know what modules are essential for your use case by SPE? We are expecting more inputs from users which can enrich Jetson ECO system. Though I cannot commit anything, those requests will be discussed internally.
You can also send me message if your use case is not proper for public.

Theoretically, those modules in AON clusters are always accessible in SPE firmware. Some exceptions may just be due to conflictions in kernel side.

You can just search AON/SPE in Xavier TRM, and you can get more information from chip side.

br
Chenjian

Hello,
we are currently just exploring the possibilities of the SPE. One of our possible main applications for the SPE would require connecting to external hardware. Being limited to only I2C and not having access to UART, SPI or CAN makes using the SPE for this application a lot less attractive.

You can just search AON/SPE in Xavier TRM, and you can get more information from chip side.

So this part of the Xavier TRM also applies to the Jetson Orin?

Theoretically, those modules in AON clusters are always accessible in SPE firmware. Some exceptions may just be due to conflictions in kernel side.
Ok, thank you for this information.

For your information: I could now successfully use the jetson-demux tool.

Greetings
Jonathan Schnitzler

Hello,
You can check Xavier TRM as a reference for AON/SPE and the basic concept is the same.
For those modules in AON cluster, it’s better to check Orin TRM.
You can search AON to identify modules SPE firmware can access.
For example:
UARTC (in AON)
SPI2 (in AON)
…

Theoretically, you can develop your own UART/SPI/CAN/I2C SPE driver/apps, by taking reference code in Xavier SPE firmware, since all code and resources are public.

We will evaluate the request, but full support may take time.

Just be careful of the confliction of SPE and CCPLEX access.

br
Chenjian

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.