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.

AM57x PRU Questions

Hi,

We have several questions regarding AM57x:

  1. PRU - interfaces with remote proc rpmsg - We are using PRU labs 5 & 6 on wiki for AM335x, but they are not working with AM57x EVM.  -- would like help to talk with AM57x's PRU.  Is there a working example?

Thank you,

Jennifer Wang

  • One topic per thread please.

  • I've made edits to this thread to make it more specific, and created 2 additional threads for the other questions. Thanks.

    Jennifer
  • Thanks, Jennifer. Which version of the Processor SDK are you using? Which version of the PRU software package are you using? Did the PRU software package install cleanly (i.e. did you end up with a new Linux branch)? While I've not personally tried these labs on AM57xx, I have come across other threads where users have this working. Can you post the corresponding output when you try to run the examples? These are THE examples, so we need to debug it (i.e. there's nothing else for me to point you to).
  • Hi Brad,

    We are using SDK v2.0 with latest PRU software v4.0. I am able install PRU software without any problem. Yes, I have end up with new Linux branch.

    I have tried to run PRU lab example 5 and LAB6. After few try I come to know that LAB6 will not work as there is no GPIO connection provide to LEDs. So now I am trying to run LAB5 example.

    In LAB5 example, I am able to run PART 2, which is user space communication, but not able to run PART 1- Kernel space communication.

    Also, to run PART 2, I need to remove omap_remoteproc.ko file from filesystem before board boot and after kernel boot I need to remove remoteproc.ko and  virtio_ring.ko module driver.

    After that I reinsert both drivers again copied from Linux kernel. The driver available in filesystem is not working.

    Please let me know if you require more information.

  • Hello Brad,
    Any update on this issue?
  • Rakesh,

    You are right about lab 6. These labs were written with the Beaglebone Black + a PRU cape in mind. So, the pin muxing and the LEDs do not make sense for the AM57x board.

    However, lab 5 should work on AM57x devices. I think we may be running into an issue where the patches that were applied by the PRU Software Support Package may have modified more than just the 3 or 4 modules that we manually copied over to the file system in the labs steps. After you rebuild the kernel can you follow the steps in the following link to install all of the updated modules into your filesystem: http://processors.wiki.ti.com/index.php/Linux_Kernel_Users_Guide#Installing_the_Kernel_Modules

    Let me know if this fixes the issue where you need to remove omap_remoteproc.ko from the filesystem before boot. If it does I can update the lab steps in the wiki to reflect this change.

    It is strange to me that you are able to get lab 5 part 2 to work but lab 5 part 1 does not work. Can you tell me what the symptoms are when part 1 isn't working?

    Jason Reeder

  • Jasson,
    I have tried the way you have explained. By this steps, I don't need to remove any driver and lab 5 part 2 works fine. Please note that to execute this steps I have loaded am57xx-beagle-x15.dtb file instead of am57xx-evm.dtb.

    For the Lab 5 Part 1, when I insert rpmsg_client_sample.ko driver, on console it doesn't give any error, or its not showing the resule also. Please see below log for the output of insmod rpmsg_client_sample.ko command

    root@am57xx-evm:~/modules# insmod pruss_remoteproc.ko
    [ 26.492082] pruss-rproc 4b200000.pruss: creating platform devices for PRU cores
    [ 26.503543] pruss-rproc 4b280000.pruss: creating platform devices for PRU cores
    [ 26.515713] remoteproc4: 4b234000.pru0 is available
    [ 26.524582] remoteproc4: Note: remoteproc is still under development and considered experimental.
    [ 26.533764] remoteproc4: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [ 26.556997] remoteproc4: powering up 4b234000.pru0
    [ 26.563143] remoteproc4: Booting fw image am57xx-pru1_0-fw, size 78816
    [ 26.570834] pruss-rproc 4b200000.pruss: configured system_events = 0x1000000000000000 intr_channels = 0x00000001 host_intr = 0x00000001
    [ 26.584845] remoteproc4: remote processor 4b234000.pru0 is now up
    [ 26.591631] virtio_rpmsg_bus virtio3: rpmsg host is online
    [ 26.591662] virtio_rpmsg_bus virtio3: creating channel rpmsg-pru addr 0x1e
    [ 26.604661] remoteproc4: registered virtio3 (type 7)
    [ 26.609932] pru-rproc 4b234000.pru0: PRU rproc node /ocp/pruss@4b200000/pru@4b234000 probed successfully
    [ 26.619840] remoteproc5: 4b238000.pru1 is available
    [ 26.625049] remoteproc5: Note: remoteproc is still under development and considered experimental.
    [ 26.634791] remoteproc5: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [ 26.649098] pru-rproc 4b238000.pru1: booting the PRU core manually
    [ 26.655307] remoteproc5: powering up 4b238000.pru1
    [ 26.660549] remoteproc5: Booting fw image am57xx-pru1_1-fw, size 27344
    [ 26.667221] remoteproc5: remote processor 4b238000.pru1 is now up
    [ 26.673498] pru-rproc 4b238000.pru1: PRU rproc node /ocp/pruss@4b200000/pru@4b238000 probed successfully
    [ 26.683340] remoteproc6: 4b2b4000.pru0 is available
    [ 26.688350] remoteproc6: Note: remoteproc is still under development and considered experimental.
    [ 26.697346] remoteproc6: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [ 26.708509] pru-rproc 4b2b4000.pru0: booting the PRU core manually
    [ 26.714717] remoteproc6: powering up 4b2b4000.pru0
    [ 26.719996] remoteproc6: Booting fw image am57xx-pru2_0-fw, size 27344
    [ 26.726660] remoteproc6: remote processor 4b2b4000.pru0 is now up
    [ 26.732900] pru-rproc 4b2b4000.pru0: PRU rproc node /ocp/pruss@4b280000/pru@4b2b4000 probed successfully
    [ 26.742630] remoteproc7: 4b2b8000.pru1 is available
    [ 26.747642] remoteproc7: Note: remoteproc is still under development and considered experimental.
    [ 26.756642] remoteproc7: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [ 26.767952] pru-rproc 4b2b8000.pru1: booting the PRU core manually
    [ 26.774158] remoteproc7: powering up 4b2b8000.pru1
    [ 26.779433] remoteproc7: Booting fw image am57xx-pru2_1-fw, size 27344
    [ 26.786096] remoteproc7: remote processor 4b2b8000.pru1 is now up
    [ 26.792335] pru-rproc 4b2b8000.pru1: PRU rproc node /ocp/pruss@4b280000/pru@4b2b8000 probed successfully
    root@am57xx-evm:~/modules# insmod rpmsg_
    rpmsg_client_sample.ko rpmsg_pru.ko
    root@am57xx-evm:~/modules# insmod rpmsg_client_sample.ko
    root@am57xx-evm:~/modules#