Part Number: AM6442
Looking for information on how to boot the R5 before Linux. Today they boot the R5 after Linux has started and for customer application the R5 functionality needs to be up and running as soon as possible.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Part Number: AM6442
Looking for information on how to boot the R5 before Linux. Today they boot the R5 after Linux has started and for customer application the R5 functionality needs to be up and running as soon as possible.
Hello Lawrence,
For fast booting r5/m4 core options, you may refer to
software-dl.ti.com/.../SBL_BOOTING_LINUX_OSPI.html
software-dl.ti.com/.../SBL_BOOTING_LINUX_EMMC.html
Best,
-Hong
Hello Lawrence,
For more information about boot options for remote cores, please refer to the new AM62x Multicore Academy, section Booting and disabling processor cores:
https://dev.ti.com/tirex/explore/node?node=A__ARxKiGQnRRZIrn8bcmYQPw__linux_academy_am62x__XaWts8R__LATEST
We also published the AM62A Multicore Academy here. The next version of AM64x Academies is still being written as of Oct 31, 2023.
Regards,
Nick
Hong, Nick,
Some background. Customer is looking to fast boot RT linux and think these are the current options as of SDK 9.0
Currently they are not sure what drivers/services/peripheral loading can be optimized on the ARAGO RT Linux. Their profiling shows that it takes about 15-17 sec to load the R5 image with normal linux boot flow and ~30 sec – 1 min to fully load the linux image, reset/restart R5 PRU and run our linux communication app.
They have to use the SD card over EMMC loading at this point due to two reasons.
Your valuable feedback will be greatly appreciated.
Hello Lawrence,
Some general pointers:
1/. For the user case of fast booting r5/m4 core before u-boot prompt, I'd recommend SBL=>Linux boot flow in my last reply.
2/. For booting r5/m4 core @u-boot prompt, here is one e2e on booting m4 @u-boot in addition to Nick's feedback.
e2e.ti.com/.../4623450
3/. A general fast boot on Linux - Falcon mode.
e2e.ti.com/.../faq-am625-how-to-boot-from-r5-u-boot-spl-directly-into-the-linux-kernel-skipping-a53-spl-and-a53-u-boot-falcon-mode
Best,
-Hong
Hi Hong,
Question from customer. The R5 images they use create, use the RPmsg driver and relies on linux to be ready for end point creation.
Will this have any impact on loading the R5 image independently ?
How to mitigate that (not sure if RPmsg has protection for this situation)
Regards,
Lawrence
Hello Lawrence,
To add additional information on top of https://dev.ti.com/tirex/explore/node?node=A__ARxKiGQnRRZIrn8bcmYQPw__linux_academy_am62x__XaWts8R__LATEST , section "Initializing remote cores":
In our RPMsg echo examples, you can see that the remote cores will just wait for Linux to acknowledge the remote core's end point(s) before the remote core firmware continues. So it does not matter whether the R5F core is initialized before Linux, the R5F firmware will wait for Linux. Linux will boot, see that the R5F was already initialized by someone else, and then finish initializing the resource table.
I would expect that after Linux finishes initializing the resource table and RPMsg resources, then it would notify the R5F that the RPMsg resources were ready to use, and the customer's code could continue running as expected.
For more information about the resource table, reference https://dev.ti.com/tirex/explore/node?node=A__AVP4Q-S9hfvfv8aDiSbBJw__linux_academy_am62x__XaWts8R__LATEST, section "How to create remote core firmware that can be initialized by Linux".
Regards,
Nick
Another update: AM64x Linux SDK 9.1 will add a uboot rproc driver, which means that the R5F cores can also be initialized during Linux uboot. This is the option the customer would want to use if they select the SPL boot that is the default in the Linux SDK.
Regards,
Nick