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.

RTOS/PROCESSOR-SDK-AM57X: PRU example for IPC

Part Number: PROCESSOR-SDK-AM57X

Tool/software: TI-RTOS

Hi,

is there any basic example which has a basic communication between ARM and PRU processor? What should I read to start developing my app which use both processors?

Regards
Rafal

  • I read more about my problem and I think I would be able to create an aplication that communicat between this two processors but I don't know how should I load into the PRU my source code project. Can I just load it manualy by JTAG XDS100v2 and it will stay there and it will wait for the ARM to initialize and run it or do i need to somehow atach it to the bootable sd card? I didn't find any instruction how to load it I just find a function PRUICSS_pruExecProgram() which Executes the program in the specified PRU and/or PRUICSS_pruEnable(). I realy don't know how to use it with the TI RTOS.
  • The software team have been notified. They will respond here.
  • Hi rafal,

    This thread should contain the info you wanted -

    In short, you can use the PRUSS driver ( ) to load your PRUSS firmware and communicate with ARM. You can use JTAG to load your PRU project for debugging, but the end product should have PRU firmware loaded by its driver from ARM, and the ARM image can be booted with bootloader. There are several interfaces (SD card, flash..., see ) that can be used to boot the ARM image.

    Regards, Garrett

  • Thank you very much for your help! This is what I was looking for. In your PRU SORTE example you have shown how to load it, but the way shown in the second link looks rly nice and I will use it. Thank you very much!

  • I run into a minor error when debuging the PRUICSS_create() function cause the problem (Unhandled ADP_Stopped exception 0x20023 and it goes to Angle_Swi() function) I think it can be problem with enabling the PRU_ICSS cos when I write 0x4A300000 adress (PRU_ICSS adres) to Memory Broswer I get ?????????? I tried to enable it, I throwed into the GEL file this code but it didn't help. Do you have any solution, I'm using am335x (beaglebone black) not am572x :

    #define CM_PER_PRU_ICSS_CLKCTRL (PRCM_BASE_ADDR + 0x0E8)
    #define CLKSEL_PRU_ICSS_OCP_CLK (CM_DPLL + 0x030)


    WR_MEM_32(CM_PER_PRU_ICSS_CLKCTRL, 0x2);
    WR_MEM_32(CLKSEL_PRU_ICSS_OCP_CLK, 0x1);

    GEL_TextOut("PRU_ICSS enabled.\n");
  • rafal,

    Make sure you have BOARD_INIT_MODULE_CLOCK | BOARD_INIT_ICSS_PINMUX as Board_initCfg cfg parameter for Board_init(cfg) prior to calling PRUICSS_create( ). You may have resolved the issue, in case still needed, please open a new thread with AM335x in title, thanks.

    Regards,
    Garrett