Am 03.12.2012 um 15:52 schrieb Kenneth Lerman: > > Does someone have a pointer to a decent document with an overview on the > TI chip? I'd actually like a few different ones. A 40 page overview > followed by a 400 page detailed document would be great. The 4000 page > document could then be used as a reference to get the details of > relevant registers as they are needed.
just been through this, so here are some pointers. the good news is the whale of a reference manual isnt really needed for getting an idea on the PRU, also this is in separate documents. You also want the datasheet because many interesting aspects are not covered by the ref manual. The datasheet link is in this very good introductory article which covers the I/O model nicely, in particular the - initially confusing - pin multiplexing method: http://www.alexanderhiam.com/tutorials/beaglebone-io-using-python-mmap/ - the 'official' TI code base for Linux PRU suppport is here: https://github.com/beagleboard/am335x_pru_package , it has some useful docs in it: - introductory training slides, good overview as a start: https://github.com/beagleboard/am335x_pru_package/blob/master/Documentation/01-AM335x_PRU_ICSS_Overview.pdf - how do you program that animal: assembly reference here: https://github.com/beagleboard/am335x_pru_package/blob/master/am335xPruReferenceGuide.pdf go straight to pages 31 ff for the language overview - the PRU assembler proper is here: https://github.com/beagleboard/am335x_pru_package/tree/master/pru_sw/utils/pasm_source - how do you use it from linux code: this is called the 'pruss driver' and documented here: https://github.com/beagleboard/am335x_pru_package/blob/master/Documentation/03-AM335x_PRU_Linux_Application_Loader-ug.pdf , the code is here: https://github.com/beagleboard/am335x_pru_package/tree/master/pru_sw/app_loader/interface NB: this is *all* through shared memory I/O. pruss is basically a UIO-type driver, and the main feature it provides besides the memory mapping plumbing is an optional means to receive an interrupt (aka 'event') from the PRU. To use the PRU, no application specific kernel code is needed, it's all userland. - complete example walkthroughs: a simple led blinking example using pruss is here: https://github.com/boxysean/am335x_pru_package/tree/master/pru_sw/example_apps/blinkslave and my HAL component borrows a lot from here http://elinux.org/BeagleBone_PRU (generating a sine wave from the PRU) I would think the more competent person to advise here would be Bas - please take the microphone! - Michael ------------------------------------------------------------------------------ Keep yourself connected to Go Parallel: BUILD Helping you discover the best ways to construct your parallel projects. http://goparallel.sourceforge.net _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers