Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
Commit 0edb9ceb authored by Mark Yoder's avatar Mark Yoder
Browse files

Switched from /tmp/cloud9 too /tmp/vsx

parent 4ba84383
Branches
Tags
No related merge requests found
.. _pru-cookbook-details:
Running a Program; Configuring Pins
####################################
###################################
There are a lot of details in compiling and running PRU code.
Fortunately those details are captured in a common `Makefile` that is
......@@ -20,15 +20,15 @@ compile code and also start and stop the PRUs.
Getting Example Code
**********************
********************
Problem
---------
-------
I want to get the files used in this book.
Solution
---------
--------
It's all on a GitHub repository.
......@@ -330,7 +330,7 @@ Solution
``am335x_pru.cmd`` is the standard linker command file that tells the linker
where to put what for the BeagleBone Black and Blue, and the Pocket.
The ``am57xx_pru.cmd`` does the same for the AI.
Both files can be found in ``/var/lib/cloud9/common``.
Both files can be found in ``/opt/source/pru-cookbook-code/common``.
.. literalinclude:: ../code/03details/am335x_pru.cmd
......
......@@ -13,15 +13,15 @@ Finally, using one of the UARTS to send debugging information out a serial port
is shown.
Debugging via an LED
**********************
********************
Problem
---------
-------
I need a simple way to see if my program is running without slowing the real-time execution.
Solution
---------
--------
One of the simplest ways to do this is to attach an LED to the output pin and watch it
flash. :ref:`debug_LED` shows an LED attached to pin P9_29 of the BeagleBone Black.
......@@ -403,9 +403,9 @@ Set the following variables so ``make`` will know what to compile.
:caption: make
bone$ *make TARGET=uart1.pru0*
/var/lib/cloud9/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=uart1.pru0
/opt/source/pru-cookbook-code/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=uart1.pru0
- Stopping PRU 0
- copying firmware file /tmp/cloud9-examples/uart1.pru0.out to /lib/firmware/am335x-pru0-fw
- copying firmware file /tmp/vsx-examples/uart1.pru0.out to /lib/firmware/am335x-pru0-fw
write_init_pins.sh
- Starting PRU 0
MODEL = TI_AM335x_BeagleBone_Black
......@@ -474,9 +474,9 @@ If you want to try ``uart2.pru0.c``, run the following:
:caption: make
bone$ *make TARGET=uart2.pru0*
/var/lib/cloud9/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=uart2.pru0
/opt/source/pru-cookbook-code/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=uart2.pru0
- Stopping PRU 0
- copying firmware file /tmp/cloud9-examples/uart2.pru0.out to /lib/firmware/am335x-pru0-fw
- copying firmware file /tmp/vsx-examples/uart2.pru0.out to /lib/firmware/am335x-pru0-fw
write_init_pins.sh
- Starting PRU 0
MODEL = TI_AM335x_BeagleBone_Black
......
......@@ -122,9 +122,9 @@ Compile and run the program.
Current mode for P9_28 is: pruout
Current mode for P9_28 is: pruout
bone$ *make*
/var/lib/cloud9/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=shared.pru0
/opt/source/pru-cookbook-code/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=shared.pru0
- Stopping PRU 0
- copying firmware file /tmp/cloud9-examples/shared.pru0.out to /lib/firmware/am335x-pru0-fw
- copying firmware file /tmp/vsx-examples/shared.pru0.out to /lib/firmware/am335x-pru0-fw
write_init_pins.sh
- Starting PRU 0
MODEL = TI_AM335x_BeagleBone_Black
......@@ -136,7 +136,7 @@ Now check the **symbol table** to see where things are allocated.
.. code-block:: bash
bone $ *grep shared /tmp/cloud9-examples/shared.pru0.map*
bone $ *grep shared /tmp/vsx-examples/shared.pru0.map*
....
1 0000011c shared_0
2 00010000 shared_1
......@@ -401,9 +401,9 @@ Now you are ready to compile
.. code-block:: bash
bone$ make
/var/lib/cloud9/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=pwm1.pru0
/opt/source/pru-cookbook-code/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=pwm1.pru0
- Stopping PRU 0
- copying firmware file /tmp/cloud9-examples/pwm1.pru0.out to /lib/firmware/am335x-pru0-fw
- copying firmware file /tmp/vsx-examples/pwm1.pru0.out to /lib/firmware/am335x-pru0-fw
write_init_pins.sh
- Starting PRU 0
MODEL = TI_AM335x_BeagleBone_Black
......@@ -878,18 +878,18 @@ Compile and run the two files with:
.. code-block:: bash
bone$ *make TARGET=pwm7.pru0; make TARGET=pwm7.pru1*
/var/lib/cloud9/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=pwm7.pru0
/opt/source/pru-cookbook-code/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=pwm7.pru0
- Stopping PRU 0
- copying firmware file /tmp/cloud9-examples/pwm7.pru0.out to /lib/firmware/am335x-pru0-fw
- copying firmware file /tmp/vsx-examples/pwm7.pru0.out to /lib/firmware/am335x-pru0-fw
write_init_pins.sh
- Starting PRU 0
MODEL = TI_AM335x_BeagleBone_Black
PROC = pru
PRUN = 0
PRU_DIR = /sys/class/remoteproc/remoteproc1
/var/lib/cloud9/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=pwm7.pru1
/opt/source/pru-cookbook-code/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=pwm7.pru1
- Stopping PRU 1
- copying firmware file /tmp/cloud9-examples/pwm7.pru1.out to /lib/firmware/am335x-pru1-fw
- copying firmware file /tmp/vsx-examples/pwm7.pru1.out to /lib/firmware/am335x-pru1-fw
write_init_pins.sh
- Starting PRU 1
MODEL = TI_AM335x_BeagleBone_Black
......@@ -1288,13 +1288,13 @@ And also the sine wave as shown in :ref:`blocks_sine`.
Notice on the bottom plot the harmonics are much more suppressed.
Generating the sine waveform uses **floats**. This requires much more code.
You can look in `/tmp/cloud9-examples/sine.pru0.map` to see how much memory is being used.
You can look in `/tmp/vsx-examples/sine.pru0.map` to see how much memory is being used.
:ref:`blocks_sine_map` shows the first few lines for the sine wave.
.. _blocks_sine_map:
.. literalinclude:: ../code/05blocks/sine.map
:caption: /tmp/cloud9-examples/sine.pru0.map for Sine Wave
:caption: /tmp/vsx-examples/sine.pru0.map for Sine Wave
:linenos:
:download:`lines=1..22 <../code/05blocks/sine.map>`
......@@ -1562,9 +1562,9 @@ Run the code as usual.
.. code-block:: bash
bone$ make TARGET=neo4.pru0
/var/lib/cloud9/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=neo4.pru0
/opt/source/pru-cookbook-code/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=neo4.pru0
- Stopping PRU 0
- copying firmware file /tmp/cloud9-examples/neo4.pru0.out to /lib/firmware/am335x-pru0-fw
- copying firmware file /tmp/vsx-examples/neo4.pru0.out to /lib/firmware/am335x-pru0-fw
write_init_pins.sh
- Starting PRU 0
MODEL = TI_AM335x_BeagleBone_Black
......
.. _pru-cookbook-io:
Accessing More I/O
####################
##################
So far the examples have shown how to access the GPIO pins on the BeagleBone Black's ``P9`` header and
through the ``pass:[__]R30`` register. Below shows how more GPIO pins can be accessed.
......@@ -115,9 +115,9 @@ Set your exports and make.
TARGET=gpio.pru0
...
bone$ *make*
/var/lib/cloud9/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=gpio.pru0
/opt/source/pru-cookbook-code/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=gpio.pru0
- Stopping PRU 0
- copying firmware file /tmp/cloud9-examples/gpio.pru0.out to /lib/firmware/am335x-pru0-fw
- copying firmware file /tmp/vsx-examples/gpio.pru0.out to /lib/firmware/am335x-pru0-fw
write_init_pins.sh
- Starting PRU 0
MODEL = TI_AM335x_BeagleBone_Black
......
......@@ -70,8 +70,8 @@ and :ref:`more_delay`. If you look in the local ``Makefile`` you'll see:
:download:`Makefile <../code/07more/Makefile>`
This Makefle includes a common Makefile at ``/var/lib/cloud9/common/Makefile``, this the Makefile
you need to edit. Edit ``/var/lib/cloud9/common/Makefile`` and go to line 195.
This Makefle includes a common Makefile at ``/opt/source/pru-cookbook-code/common/Makefile``, this the Makefile
you need to edit. Edit ``/opt/source/pru-cookbook-code/common/Makefile`` and go to line 195.
.. code-block:: shell-session
......@@ -91,9 +91,9 @@ The following will compile and run everything.
bone$ config-pin P9_31 pruout
bone$ make TARGET=delay-test.pru0 TARGETasm=delay.pru0
/var/lib/cloud9/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=delay-test.pru0
/opt/source/pru-cookbook-code/common/Makefile:29: MODEL=TI_AM335x_BeagleBone_Black,TARGET=delay-test.pru0
- Stopping PRU 0
- copying firmware file /tmp/cloud9-examples/delay-test.pru0.out to /lib/firmware/am335x-pru0-fw
- copying firmware file /tmp/vsx-examples/delay-test.pru0.out to /lib/firmware/am335x-pru0-fw
write_init_pins.sh
- Starting PRU 0
MODEL = TI_AM335x_BeagleBone_Black
......@@ -245,7 +245,7 @@ You can see where ``cycle`` and ``stall`` are stored by looking into :ref:`more_
.. _more_cycle_list0:
.. literalinclude:: ../code/07more/cycle.pru0.lst
:caption: /tmp/cloud9-examples/cycle.pru0.lst Lines 113..119
:caption: /tmp/vsx-examples/cycle.pru0.lst Lines 113..119
:lines: 113-119
:lineno-start: 113
:linenos:
......@@ -258,7 +258,7 @@ the ``CTRL`` registers. Later in the file we see :ref:`more_cycle_list1`.
.. _more_cycle_list1:
.. literalinclude:: ../code/07more/cycle.pru0.lst
:caption: /tmp/cloud9-examples/cycle.pru0.lst Lines 146..152
:caption: /tmp/vsx-examples/cycle.pru0.lst Lines 146..152
:lines: 146-152
:lineno-start: 146
:linenos:
......
......@@ -23,7 +23,7 @@ PRU_SUPPORT:=/usr/lib/ti/pru-software-support-package
PRU_STARTERWARE:=/usr/share/ti/starterware
C6X_CGT:=/usr/share/ti/cgt-c6x
TIDL_API_DIR:=/usr/share/ti/tidl/tidl_api
GEN_DIR:=/tmp/cloud9-examples
GEN_DIR:=/tmp/vsx-examples
MODEL:=$(shell cat /proc/device-tree/model | sed 's/ /_/g' | tr -d '\000')
# $(warning MODEL=$(MODEL),TARGET=$(TARGET),COMMON=$(COMMON))
$(warning MODEL=$(MODEL),TARGET=$(TARGET))
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment