Other Parts Discussed in Thread: SYSCONFIG
Tool/software:
Hello,
I have been trying to send High Speed Extension Input data from the PRU to Linux Userspace.
Remoteproc and RPMSG work fine for me, and I can send Strings from the PRU to the assigned rpmsg file on linux.
Now, I wanted to get input from the R31, and send it over using rpmsg.
I noticed that when I boot the EVM board with Yocto Linux and connect the debugger by starting Target Configuation and connect to the PRU, after loading the firmware and starting it, that the R31 register doesn't change at all with connected input signals.
I do have a project, which starts the "empty_am64x-evm_r5fss0-0_freertos_ti-arm-clang" example, with every GPIO PRU configured to Input in the Sysconfig.
After I start that programm on R5_0_0 core, I load another Example project for the PRU, which basically does nothing but set "CT_CFG.gpcfg0_reg = 0;"
By pasing and resuming the PRU project I canread what is in the R31 Register. Now I get the expected results.
When running the PRU firmware with Remoteproc on Linux, I run the "PRU_RPMsg_Echo_Interrupt0" Example from the PRU software support package, with an added like: "CT_CFG.gpcfg0_reg = 0;"
I run this firmware by saving it on the Board(in /usr/lib/firmware) and saving the name of the firmware file in the right Pru Remoteproc(for example "echo 'firmwarename.out' > sys/class/remoteproc/remoteproc11/firmware") and then starting it, and reading the then created rpmsg_pru file with the cat command.
Then I connect to the PRU0_0 core with CCS and pause/resume it to read the Registers, but this time it stays at 0x40000000.
Am I missing something or did I fail to set a flag perhaps?
Thank you very much in advance for any help!