I did not find in the technical manual how spe gets the firmware from flash. I found the area where the spe firmware is stored in flash.xml, but I don’t understand how spe finds this area when it starts. Can someone tell me how this is achieved? Thank you
SPE firmware is loaded by MB1. You can find useful information in L4T documentation, though those information is scattered in different chapters.
SPE FW is running in TCM, by default.
MB1 will load the SPE FW from storage media and set the corresponding registers and then start SPE R5 core. So SPE will run much more early than CCPLEX Linux. If anything wrong in SPE, most probably, the device will hang right after power-on.
Those part of code (MB1) is not open-sourced, and L4T doc provides some information about MB1 functions, like:
MB1 is responsible for:
•Loading firmwares, including the ones that initialize the CPU complex (CCplex)
Hope that can help you to understand how SPE FW is running.
I have found the description about MB1 starting SPE in the document, thank you.