Hi, I wanted to use PRU-ICSS's eCap module to generate PWM signals, It is something I want to implement in my GSoC project. I referred to AM335x TRM <https://elinux.org/images/6/65/Spruh73c.pdf> section 15.3, It has a detailed description of how to use ECAP to generate PWM signals at section 15.3.3.5. Since pru_ecap.h was missing bit fields required to use PWM mode, as described in the TRM (15.3.3.5.1) I defined those required bit fields from register descriptions in the TRM (15.3.4). Here's the new header I defined: https://github.com/VedantParanjape/pru-ecap-pwm/blob/master/include/am335x/pru_ecap.h
According to the register value (Table 15-100 and Example 15-13 of the TRM) needed to be set to get it working, I set the registers in my code. Here is my main code which drives the eCap module to generate PWM: https://github.com/VedantParanjape/pru-ecap-pwm/blob/master/main0.c I am using pru-gcc version: *pru-gcc (GCC) 10.0.1 20200315 (experimental)Copyright (C) 2020 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.* Command to compile: *pru-gcc main0.c -o pwm -I./inlude/ -I./include/am335x/ -mmcu=am335x.pru0* Command to load binary and start PRU: *cp pwm /lib/firmware/am335x-pru0-fw * *config-pin p9.42 pru_ecap * *echo start > /sys/class/remoteproc/remoteproc0/state * When I load the binary, it loads without any issue, but i fail to get output on p9.42 pin, which is the pr1_ecap pin. I check with a multimeter, It shows Nada, zero Volts. I am using a BeagleBone Black Wireless: *Linux beaglebone 4.19.94-ti-r45 #1buster SMP PREEMPT Thu Jun 18 19:18:41 UTC 2020 armv7l GNU/Linux* This the output on running *(sudo show-pins | sort*) https://pastebin.com/r2128R9b This is my *uEnv.txt*: https://pastebin.com/99qxs8NN Regards, Vedant Paranjape -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/b8d99fed-89f1-4a93-9d17-74e0cb991692n%40googlegroups.com.