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.

Linux/AM3358: PRU instant boot with Linux

Part Number: AM3358


Tool/software: Linux

Hello!

I am working on a potential Linux/PRU design was curious to know if the PRU module could be configured to boot instantly and independently of the Linux OS, if there was an error while booting Linux for example, so that the real-time systems serviced by the PRU could still be operational.

Thank you very much for your help in advance.

  • The software team have been notified. They will respond here.
  • Bopamo,

    In theory, yes, it should be possible to have U-Boot load and run the PRU cores before the Linux kernel is started. However, we do not have any examples to provide that shows how to do this.

    Our Automotive team has actually done something very similar to this with the DSP and IPU cores called 'Early Boot and Late Attach' where the cores can be booted by U-Boot and then Linux can attach to them later without resetting them. Here is a wiki page that describes this: processors.wiki.ti.com/.../Early_Boot_and_Late_Attach_in_Linux

    The components that make this possible in the Automotive version of U-Boot (LATE_ATTACH) have not made their way over to the U-Boot provided in the Linux Processor SDK though. It would be an exercise left for you to port/extend any pieces that you need from the Automotive U-Boot/Linux kernel to your current U-Boot/Linux kernel to get this working.

    Jason Reeder

    PS. If your PRU use case is completely standalone (no interaction with ARM/Linux/DDR etc.) then you would only need to port (and extend to the PRU) the part of the code that deals with loading and running the PRUs. You could then remove any mention of the PRUs from your Linux device tree in order to stop Linux from interfering with the cores during the ARM's boot process.