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.
