Your answer is in the link you have. 
Lines 41 to 58 of the code snippet.

On Monday, 21 April 2014 15:30:39 UTC+5:30, Eren Basturk wrote:
>
> Hi All,
>
> I have spent a  few days to run an example on PRU.  I have followed many 
> articles and at last, I found an useful article. 
>
>
> http://vabi-robotics.blogspot.com/2013/11/the-pru-of-beaglebone-black.html?showComment=1398070305336#c7873266465091598724
> . 
> Note: Some steps are historic but fixed it.
>
> But i would like to know that for example,
>
> I prepared a device tree file and i added it.
>
> and 
>
> I prepared a  pru program as .p extension . You can find these below. I 
> want to use *P8_p12* pin to get an output.
>
> /dts-v1/;
> /plugin/;
>
> *here is the device tree file.*
> / {
>   compatible = "ti,beaglebone", "ti,beaglebone-black";
>
>  
>   part-number = "BB-BONE-PRU";
>   version = "00A0";
>
>   exclusive-use =
>     "P8.12";
>
>   fragment@0 {
>     target = <&am33xx_pinmux>;
>     __overlay__ {
>       mygpio: pinmux_mygpio{
>         pinctrl-single,pins = <
>           0x30 0x06
>           >;
>       };
>     };
>   };
>
>   fragment@1 {
>     target = <&ocp>;
>     __overlay__ {
>       test_helper: helper {
>         compatible = "bone-pinmux-helper";
>         pinctrl-names = "default";
>         pinctrl-0 = <&mygpio>;
>         status = "okay";
>       };
>     };
>   };
>
>   fragment@2{
>   target = <&pruss>;
>     __overlay__ {
>       status = "okay";
>     };
>   };
> };
>
>
> *here is the .p extension file*
> .setcallreg r29.w0
> .origin 0
> .entrypoint START
>
> #define AM33XX
> #define PRU0_PRU1_INTERRUPT     17
> #define PRU1_PRU0_INTERRUPT     18
> #define PRU0_ARM_INTERRUPT      19
> #define PRU1_ARM_INTERRUPT      20
> #define ARM_PRU0_INTERRUPT      21
> #define ARM_PRU1_INTERRUPT      22
>
> #define CONST_PRUDRAM   C24
> #define CONST_L3RAM     C30
> #define CONST_DDR       C31
> #define GPIO1 0x4804c000
> #define GPIO_CLEARDATAOUT 0x190
> #define GPIO_SETDATAOUT 0x194
> #define CONST_PRUSHAREDRAM   C28
> #define CTBIR_0         0x22020
> // Address for the Constant table Block Index Register (CTBIR)
> #define CTBIR          0x22020
>
> // Address for the Constant table Programmable Pointer Register 0(CTPPR_0) 
> #define CTPPR_0         0x22028 
>
> // Address for the Constant table Programmable Pointer Register 1(CTPPR_1) 
> #define CTPPR_1         0x2202C  
> #define sp r24
> #define lr r23
>
>
> START:
> LBCO      r0, C4, 4, 4
> CLR     r0, r0, 4         // Clear SYSCFG[STANDBY_INIT] to enable OCP 
> master port
> SBCO      r0, C4, 4, 4
> LOOPN:
> MOV r3, 0x00012000
> LBBO r4, r3, 0, 4
> QBEQ EXIT, r4, 255
> SET r30, 14
> MOV r2, r4
> CALL DEL
> CLR r30, 14
> MOV r2, 2000
> CALL DEL
> JMP LOOPN
>
>
>
> DEL: //delay r2 * 10 us
> MOV r5, 1000
> INDEL:
> SUB r5, r5, 1
> QBNE INDEL, r5, 0
> SUB r2, r2, 1
> QBNE DEL, r2, 0
> RET
> EXIT:
> MOV R31.b0, PRU0_ARM_INTERRUPT+16t
> HALT 
>
> firstly i compiled .dts file.
> and i copied .dtbo file to* /lib/firmware* location
> and i run it with echo commands.
> and i checked it  with cat commands.
>
> after device tree activation
>
> I run .p file with this command
> *pasm -p prufile.p*
>
> and i got 0 errors after compilation and also i have prufile.bin file.
>
> The question is  how can i run *prufile.bin* file on the processor?
>
> Best Regards,
> Eren Basturk
>

-- 
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