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.
