Quantcast
Viewing all articles
Browse latest Browse all 149881

Forum Post: Getting started with AM335x PRU and C/C++ compiler

Hi all,

I'm trying to start using BeagleBone's AM335x PRU0 unit with the latest SDK released by TI.

I'm following the instructions from Getting started guide (installed CCS6, PRU Code generation tools, patched kernel to get "TI PRUSS remoteproc support", ...). For start, I'm trying to control any GPIO pin so I took PRU_gpioToggle project and build it. Also I have configured BeagleBone pinmux to set GPIO pin 1_12 to MODE6 (PRU0 r30[14]). When loading pruss_remoteproc I have some kernel logs but cannot get GPIO pin toggling: 

user.debug kernel: [ 216.473378] pruss-rproc 4a300000.pruss: 8 PRU interrupts parsed
user.debug kernel: [ 216.473507] pruss-rproc 4a300000.pruss: memory dram0: pa 0x4a300000 size 0x2000 va d0938000
user.debug kernel: [ 216.473565] pruss-rproc 4a300000.pruss: memory dram1: pa 0x4a302000 size 0x2000 va d093c000
user.debug kernel: [ 216.473638] pruss-rproc 4a300000.pruss: memory shrdram2: pa 0x4a310000 size 0x3000 va d0940000
user.debug kernel: [ 216.473687] pruss-rproc 4a300000.pruss: memory intc: pa 0x4a320000 size 0x2000 va d0944000
user.debug kernel: [ 216.473735] pruss-rproc 4a300000.pruss: memory cfg: pa 0x4a326000 size 0x2000 va d0948000
user.info kernel: [ 216.474038] pruss-rproc 4a300000.pruss: creating platform devices for PRU cores
user.debug kernel: [ 216.480097] pru-rproc 4a334000.pru0: memory iram: pa 0x4a334000 size 0x2000 va d094c000
user.debug kernel: [ 216.480196] pru-rproc 4a334000.pru0: memory control: pa 0x4a322000 size 0x400 va d0936000
user.debug kernel: [ 216.480248] pru-rproc 4a334000.pru0: memory debug: pa 0x4a322400 size 0x100 va d0950400
user.info kernel: [ 216.480453] remoteproc0: 4a334000.pru0 is available
user.info kernel: [ 216.480533] remoteproc0: Note: remoteproc is still under development and considered experimental.
user.info kernel: [ 216.480600] remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
user.info kernel: [ 216.487136] pru-rproc 4a334000.pru0: booting the PRU core manually
user.info kernel: [ 216.487236] remoteproc0: powering up 4a334000.pru0
user.err kernel: [ 216.487625] pru-rproc 4a334000.pru0: rproc_boot failed
user.warn kernel: [ 216.487818] pru-rproc: probe of 4a334000.pru0 failed with error -12

My problem is that I don't know how to debug at this point so I need simple example that really works. www has a lot of projects and examples but all of them are based on assembly approach and "non remoteproc" solution (uio driver). I have noticed same issue at this post http://e2e.ti.com/support/arm/sitara_arm/f/791/t/360568.aspx and saw that TI intents to continue development in remoteproc direction but cannot find any living/working example to start with.

I'd be thankful if somebody can provide code that is tested and with enough details (use this pin, enable it with this pinmux settings, run PRU firmware like this, the kernel log should look like this, ...). Assembly approach is also not a problem as long as it is using the tools from latest SDK releases and kernel drivers.

Thank you in advance!


Viewing all articles
Browse latest Browse all 149881

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>