>
> *William, *
>
> *Have you seen this.... when I enable the PRU with a device tree overlay,
I get this if I type top:  (something to do with the interrupts taking up
tons of CPU)*


No I haven't, since I have not been looking. Perhaps the interrupts can be
disabled ? I'll have to look into it, but I do not really have any code /
binaries built to use both PRUs. What are you doing exactly ?

On Tue, Nov 24, 2015 at 2:23 PM, Erik Stauber <[email protected]> wrote:

> William,
>
> Have you seen this.... when I enable the PRU with a device tree overlay, I
> get this if I type *top*:  (something to do with the interrupts taking up
> tons of CPU)
>
>
>
>   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
>   678 root      20   0   72872  21368   6372 S 11.2  4.2   0:03.56 node
>   687 root      20   0   11324   2252   1552 R  6.2  0.4   0:00.43
> systemd-udevd
>   691 root      20   0   11324   1644    948 R  6.2  0.3   0:00.42
> systemd-udevd
>   692 root      20   0   11324   1644    948 R  6.2  0.3   0:00.41
> systemd-udevd
>   685 root      20   0   11324   2312   1612 R  5.9  0.5   0:00.43
> systemd-udevd
>   686 root      20   0   11324   2252   1552 R  5.9  0.4   0:00.43
> systemd-udevd
>   689 root      20   0   11324   2188   1488 R  5.9  0.4   0:00.43
> systemd-udevd
>   690 root      20   0   11324   2188   1488 R  5.9  0.4   0:00.42
> systemd-udevd
>   693 root      20   0   11324   1644    948 R  5.9  0.3   0:00.41
> systemd-udevd
>   680 root      20   0    8076   3524   3040 S  3.6  0.7   0:00.23 laserlux
>     3 root      20   0       0      0      0 R  2.6  0.0   0:00.37
> ksoftirqd/0
>   103 root      20   0       0      0      0 S  0.3  0.0   0:00.04
> usb-storage
>   696 root      20   0    2980   1644   1288 R  0.3  0.3   0:00.06 top
>     1 root      20   0   21836   3204   2120 S  0.0  0.6   0:06.05 systemd
>     2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd
>     4 root      20   0       0      0      0 S  0.0  0.0   0:00.02
> kworker/0:0
>     5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00
> kworker/0:0H
>     6 root      20   0       0      0      0 S  0.0  0.0   0:00.33
> kworker/u2:0
>     7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00
> watchdog/0
>     8 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 khelper
>     9 root      20   0       0      0      0 S  0.0  0.0   0:00.00
> kdevtmpfs
>    10 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns
>    11 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kswork
>    12 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 perf
>    13 root      20   0       0      0      0 S  0.0  0.0   0:00.04
> kworker/0:1
>    14 root      20   0       0      0      0 S  0.0  0.0   0:00.00
> khungtaskd
>    15 root       0 -20       0      0      0 S  0.0  0.0   0:00.00
> writeback
>    16 root      25   5       0      0      0 S  0.0  0.0   0:00.00 ksmd
>    17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 crypto
>    18 root       0 -20       0      0      0 S  0.0  0.0   0:00.00
> kintegrityd
>    19 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
>    20 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kblockd
>
>
> Then after a couple minutes, those processes disappear and this appears in
> /var/log/syslog
>
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: worker [679]
> /devices/platform/ocp/4a300000.pruss/uio/uio0 timeout; kill it
> Nov 24 13:15:15 beaglebone rsyslogd-2007: action 'action 17' suspended,
> next retry is Tue Nov 24 13:15:45 2015 [try http://www.rsyslog.com/e/2007
> ]
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: seq 2030
> '/devices/platform/ocp/4a300000.pruss/uio/uio0' killed
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: worker [680]
> /devices/platform/ocp/4a300000.pruss/uio/uio1 timeout; kill it
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: seq 2036
> '/devices/platform/ocp/4a300000.pruss/uio/uio1' killed
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: worker [681]
> /devices/platform/ocp/4a300000.pruss/uio/uio2 timeout; kill it
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: seq 2037
> '/devices/platform/ocp/4a300000.pruss/uio/uio2' killed
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: worker [683]
> /devices/platform/ocp/4a300000.pruss/uio/uio3 timeout; kill it
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: seq 2038
> '/devices/platform/ocp/4a300000.pruss/uio/uio3' killed
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: worker [684]
> /devices/platform/ocp/4a300000.pruss/uio/uio4 timeout; kill it
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: seq 2039
> '/devices/platform/ocp/4a300000.pruss/uio/uio4' killed
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: worker [685]
> /devices/platform/ocp/4a300000.pruss/uio/uio5 timeout; kill it
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: seq 2040
> '/devices/platform/ocp/4a300000.pruss/uio/uio5' killed
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: worker [686]
> /devices/platform/ocp/4a300000.pruss/uio/uio6 timeout; kill it
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: seq 2041
> '/devices/platform/ocp/4a300000.pruss/uio/uio6' killed
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: worker [687]
> /devices/platform/ocp/4a300000.pruss/uio/uio7 timeout; kill it
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: seq 2042
> '/devices/platform/ocp/4a300000.pruss/uio/uio7' killed
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: worker [681] terminated by
> signal 9 (Killed)
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: worker [683] terminated by
> signal 9 (Killed)
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: worker [679] terminated by
> signal 9 (Killed)
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: worker [680] terminated by
> signal 9 (Killed)
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: worker [684] terminated by
> signal 9 (Killed)
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: worker [685] terminated by
> signal 9 (Killed)
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: worker [686] terminated by
> signal 9 (Killed)
> Nov 24 13:15:15 beaglebone systemd-udevd[172]: worker [687] terminated by
> signal 9 (Killed)
> Nov 24 13:16:10 beaglebone systemd-timesyncd[209]:
> interval/delta/delay/jitter/drift 256s/-0.005s/0.075s/0.261s/-34ppm
> Nov 24 13:16:10 beaglebone rsyslogd-2007: action 'action 17' suspended,
> next retry is Tue Nov 24 13:16:40 2015 [try http://www.rsyslog.com/e/2007
> ]
> Nov 24 13:16:56 beaglebone rsyslogd-2007: action 'action 17' suspended,
> next retry is Tue Nov 24 13:17:26 2015 [try http://www.rsyslog.com/e/2007
> ]
> Nov 24 13:17:01 beaglebone CRON[1650]: (root) CMD (   cd / && run-parts
> --report /etc/cron.hourly)
>
>
> What's odd is my program continues to operate normally, and is using both
> PRU0 and PRU1 interrupts..
>
> Erik
>
>
>
>
>
> On Monday, November 23, 2015 at 12:03:04 PM UTC-8, William Hermans wrote:
>>
>> Micka,
>>
>> TI 4.x kernels will not work with "traditional" PRU stuff. TI kernels
>> have remoteproc enabled. . . which takes over the PRU in a different way.
>>
>> On Mon, Nov 23, 2015 at 9:41 AM, Micka <[email protected]> wrote:
>>
>>> Hi, did you managed to make this kernel working with the PRU ? Because I
>>> got that :
>>>
>>>
>>> https://www.mail-archive.com/[email protected]/msg32826.html
>>>
>>>
>>> Micka,
>>>
>>> Le lun. 23 nov. 2015 17:38, Erik Stauber <[email protected]> a écrit :
>>>
>>>> William,
>>>>
>>>> I installed the 4.1.13-bone-rt-r16 kernel, and the /dev/uioX entires
>>>> showed up.  I guess I'll try using this one.  Thanks for the help!
>>>>
>>>> Erik
>>>>
>>>>
>>>> On Saturday, November 21, 2015 at 9:44:14 PM UTC-8, William Hermans
>>>> wrote:
>>>>
>>>>> By the way, I had to make my own device tree overlay for the PRU. It's
>>>>> pretty simple. . . .
>>>>>
>>>>> /dts-v1/;
>>>>> /plugin/;
>>>>>
>>>>> / {
>>>>>     compatible = "ti,beaglebone", "ti,beaglebone-black";
>>>>>
>>>>>     /* identification */
>>>>>     part-number = "pru_enable";
>>>>>     version = "00A0";
>>>>>
>>>>>      fragment@0 {
>>>>>              target = <&pruss>;
>>>>>            __overlay__ {
>>>>>                       status = "okay";
>>>>>
>>>>>                    };
>>>>>         };
>>>>>
>>>>> };
>>>>>
>>>>> $ dtc -O dtb -o pru_enable-00A0.dtbo -b 0 -@ pru_enable-00A0.dts
>>>>> $ sudo cp pru_enable-00A0.dtbo /lib/firmware/
>>>>> $ sudo sh -c "echo 'pru_enable' >
>>>>> /sys/devices/platform/bone_capemgr/slots"
>>>>> $ dmesg | grep pru_enable
>>>>> [  886.921624] bone_capemgr bone_capemgr: part_number 'pru_enable',
>>>>> version 'N/A'
>>>>> [  886.941686] bone_capemgr bone_capemgr: slot #6: 'Override Board
>>>>> Name,00A0,Override Manuf,pru_enable'
>>>>> [  886.981959] bone_capemgr bone_capemgr: slot #6: dtbo
>>>>> 'pru_enable-00A0.dtbo' loaded; overlay id #0
>>>>>
>>>>> On Sat, Nov 21, 2015 at 10:36 PM, William Hermans <[email protected]>
>>>>> wrote:
>>>>>
>>>> bone-rt has real time enhancements. I do not know all the differences,
>>>>>> but the kernel latency seems to be reduced.
>>>>>>
>>>>>> Anyway, you do not see what ?
>>>>>>
>>>>>
>>>>>> On Sat, Nov 21, 2015 at 7:08 PM, Erik Stauber <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> hmmm, i don't see that on 4.1.13-bone16.   Maybe I need to use
>>>>>>> 4.1.13-bone-rt-r16?  What is the difference between the bone and 
>>>>>>> bone-rt?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Friday, November 20, 2015 at 2:26:38 PM UTC-8, William Hermans
>>>>>>> wrote:
>>>>>>>
>>>>>>>> The kernel I'm using by the way . . .
>>>>>>>>
>>>>>>>> $ uname -a
>>>>>>>> Linux beaglebone 4.1.9-bone-rt-r16 #1 Thu Oct 1 06:19:41 UTC 2015
>>>>>>>> armv7l GNU/Linux
>>>>>>>>
>>>>>>>> $ ls /dev/ |grep uio
>>>>>>>> uio
>>>>>>>> uio0
>>>>>>>> uio1
>>>>>>>> uio2
>>>>>>>> uio3
>>>>>>>> uio4
>>>>>>>> uio5
>>>>>>>> uio6
>>>>>>>> uio7
>>>>>>>>
>>>>>>>> $ ./lsuio
>>>>>>>> uio7: name=pruss_evt7, version=1.0, events=0
>>>>>>>>         map[0]: addr=0x4A300000, size=524288
>>>>>>>>         map[1]: addr=0x9E880000, size=262144
>>>>>>>> uio6: name=pruss_evt6, version=1.0, events=0
>>>>>>>>         map[0]: addr=0x4A300000, size=524288
>>>>>>>>         map[1]: addr=0x9E880000, size=262144
>>>>>>>> uio5: name=pruss_evt5, version=1.0, events=0
>>>>>>>>         map[0]: addr=0x4A300000, size=524288
>>>>>>>>         map[1]: addr=0x9E880000, size=262144
>>>>>>>> uio4: name=pruss_evt4, version=1.0, events=0
>>>>>>>>         map[0]: addr=0x4A300000, size=524288
>>>>>>>>         map[1]: addr=0x9E880000, size=262144
>>>>>>>> uio3: name=pruss_evt3, version=1.0, events=0
>>>>>>>>         map[0]: addr=0x4A300000, size=524288
>>>>>>>>         map[1]: addr=0x9E880000, size=262144
>>>>>>>> uio2: name=pruss_evt2, version=1.0, events=0
>>>>>>>>         map[0]: addr=0x4A300000, size=524288
>>>>>>>>         map[1]: addr=0x9E880000, size=262144
>>>>>>>> uio1: name=pruss_evt1, version=1.0, events=0
>>>>>>>>         map[0]: addr=0x4A300000, size=524288
>>>>>>>>         map[1]: addr=0x9E880000, size=262144
>>>>>>>> uio0: name=pruss_evt0, version=1.0, events=0
>>>>>>>>         map[0]: addr=0x4A300000, size=524288
>>>>>>>>         map[1]: addr=0x9E880000, size=262144
>>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, Nov 20, 2015 at 2:59 PM, William Hermans <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> The TI kernels have remoteproc enabled in the kernel, which will
>>>>>>>>> interfere with uio_pruss. You need to switch to a *bone* kernel.
>>>>>>>>>
>>>>>>>>> On Fri, Nov 20, 2015 at 9:59 AM, Erik Stauber <[email protected]>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> I'm trying to migrate to 4.1 from 3.8, and it seems as if the PRU
>>>>>>>>>> is up and running on the latest 4.1 kernel.  However, a difference 
>>>>>>>>>> is the
>>>>>>>>>> I'm not getting the 8 uioX (x=0-8) entries in the /dev directory, and
>>>>>>>>>> therefore the prussdrv library errors out when it can't find those 
>>>>>>>>>> files.
>>>>>>>>>>
>>>>>>>>>> The prussdrv is looking for this:
>>>>>>>>>> sprintf(name, "/dev/uio%d", host_interrupt);
>>>>>>>>>>
>>>>>>>>>> The dmesg output on 4.1.13-ti-r33 reports that it is skipping
>>>>>>>>>> intr mapping...
>>>>>>>>>>
>>>>>>>>>> *[   20.830764] pru-rproc 4a334000.pru0: version 0
>>>>>>>>>> event_chnl_map_size 1 event_chnl_map 0000039c*
>>>>>>>>>> *[   20.830799] pru-rproc 4a334000.pru0: sysevt-to-ch[60] -> 0*
>>>>>>>>>> *[   20.830812] pru-rproc 4a334000.pru0: chnl-to-host[0] -> 0*
>>>>>>>>>> *[   20.830823] pru-rproc 4a334000.pru0: skip intr mapping for
>>>>>>>>>> chnl 1*
>>>>>>>>>> *[   20.830833] pru-rproc 4a334000.pru0: skip intr mapping for
>>>>>>>>>> chnl 2*
>>>>>>>>>> *[   20.830844] pru-rproc 4a334000.pru0: skip intr mapping for
>>>>>>>>>> chnl 3*
>>>>>>>>>> *[   20.830854] pru-rproc 4a334000.pru0: skip intr mapping for
>>>>>>>>>> chnl 4*
>>>>>>>>>> *[   20.830864] pru-rproc 4a334000.pru0: skip intr mapping for
>>>>>>>>>> chnl 5*
>>>>>>>>>> *[   20.830875] pru-rproc 4a334000.pru0: skip intr mapping for
>>>>>>>>>> chnl 6*
>>>>>>>>>> *[   20.830885] pru-rproc 4a334000.pru0: skip intr mapping for
>>>>>>>>>> chnl 7*
>>>>>>>>>> *[   20.830896] pru-rproc 4a334000.pru0: skip intr mapping for
>>>>>>>>>> chnl 8*
>>>>>>>>>> *[   20.830906] pru-rproc 4a334000.pru0: skip intr mapping for
>>>>>>>>>> chnl 9*
>>>>>>>>>>
>>>>>>>>>> Does anyone know how to not skip that?  Or a way for me to map
>>>>>>>>>> them manually?
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Erik
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> 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 [email protected].
>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>> --
>>>>>>> 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 [email protected].
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>> --
>>>> 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 [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> --
>>> 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 [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
> 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 [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to