[beagleboard] Re: PRU prussdrv_open gives Bus error, Custom PREEMPT_RT Linux kernel 3.14

2014-09-04 Thread Wolfi Spyss
Hello Henrik,
I'm happy that I found your post about Robert Nelsons Kernel 3.14 from 
https://github.com/RobertCNelson/bb-kernel/tree/am33x-v3.14
The built was successful.  I cross compiled the Kernel on Ubuntu 14.04/PC

Now I try to figure out, how the PREEMPT_RT patch from 
https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/ can be used
I  patched it like this:

#cd bb-kernel
# patch -p1  patch-3.14.12-rt9.patch.gz 
https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/patch-3.14.12-rt9.patch.gz
 
#./rebuild.sh

As it is cross compiled I'm not shure if menuconfig works?
Please allow me the question. How do you patch the Kernel 3.14

thank you in advance 
Lupus 



Am Mittwoch, 14. Mai 2014 22:36:04 UTC+2 schrieb Henrik Foss:


 Hi,
 I'm currently running a 3.14 PREEMPT_RT build based of Robert C Nelsons 
 repository. I've got GPIO and uart up and running. And now my attention has 
 turned to the PRU. The 3.14 build does not have a capemanager so i setup my 
 device trees at build.
 I based my PRU work of the old PRU patch: 
 https://github.com/beagleboard/kernel/blob/3.12/patches/pru/0001-These-are-the-patches-necessary-for-enabling-the-PRU.patchh
 Now, booting gives me no error messages from uio_pruss. And uio0-7 appears 
 in /dev/. However, when running a test project (which ran perfectly fine 
 under non-modified 3.8 kernel) prussdrv_open() failes: Bus error

 This happens every time prussdrv_open tries to read from its memory mapped 
 areas like:

 if (pruss_io[(AM18XX_INTC_PHYS_BASE - AM18XX_DATARAM0_PHYS_BASE)  2]
 == AM18XX_PRUSS_INTC_REV)



 Now the pruss is defined in am33xx.dtsi:

 pruss: pruss@4a30 {
 compatible = ti,pruss-v2;
 ti,hwmods = pruss;
 ti,deassert-hard-reset = pruss, pruss;
 reg = 0x4a30 0x08;
 ti,pintc-offset = 0x2;
 interrupt-parent = intc;
 status = okay;
 interrupts = 20 21 22 23 24 25 26 27;
 };

 And one of my dtsi include files to the am335x-boneblack.dts enables it:

pruss{  
   status = okay; 
   pinctrl-names = default;
   pinctrl-0 = pru_gpio_pins; 
};

 I then modprobe uio_pruss before running the test application.

 I have little clue how to fix this, so any pointers or help would be much 
 appreciated:)



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


[beagleboard] Re: preempt-rt with kernel 3.12

2014-09-04 Thread Wolfi Spyss
Hello Matthias,
do you still work with Kernel 3.12 and PREEMPT_RT ?
The question is, how you built the Kernel,
because I'm not shure how to inject the PREEMPT - Patch into Robert Nelson 
Kernel https://github.com/RobertCNelson/stable-kernel/tree/v3.1.x
if it is  Cross Compile on Ubuntu.
Could it be done by the following lines:
#cd bb-kernel

#patch -p1 patch-3.12.24-rt37.patch 
https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patch-3.12.24-rt37.patch.gz

#./tools/rebuild
I'm not shure what happend because there is no PREEMPT option in the 
following configuration menue

Thank you in advance
Lupus

Am Freitag, 17. Januar 2014 20:55:41 UTC+1 schrieb Matthias Fuchs:

 Hi, 

 I did some tests with the linux-stable 3.12.6 kernel with the rt9 patch on 
 a beagleboard. 
 Finally I did some latency tests which shew some strange results. 

 Testing with cylictest from the rt-tests I get an average latency at about 
 65us. 
 But max latency is about 4! 

 I am very interested if anybody got an 3.12-rt system up and running at 
 much better 
 latencies. 

 Matthias 


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