From c4a51c2282f7795d1ab7362b321270686651a7e7 Mon Sep 17 00:00:00 2001
From: Jason Kridner <jkridner@beagleboard.org>
Date: Mon, 24 Oct 2022 12:18:03 -0400
Subject: [PATCH] books/pru-cookbook: move code to submodule

---
 .gitmodules                                   |    3 +
 books/pru-cookbook/01case/code/blink.sim      |    7 -
 books/pru-cookbook/01case/code/circle.py      |   43 -
 books/pru-cookbook/01case/code/e1.31-test.py  |   70 -
 .../pru-cookbook/01case/code/encoder_setup.sh |   49 -
 books/pru-cookbook/01case/code/fire.fseq      |  Bin 614428 -> 0 bytes
 .../pru-cookbook/01case/code/logic_install.sh |   34 -
 books/pru-cookbook/01case/code/main_pru1.c    |   53 -
 books/pru-cookbook/01case/code/my-config.json |   19 -
 books/pru-cookbook/01case/code/opc.py         |  177 -
 books/pru-cookbook/01case/code/pru1-servo.asm |  162 -
 books/pru-cookbook/01case/code/servo-test.c   |   84 -
 .../pru-cookbook/01case/code/servos_setup.sh  |   24 -
 books/pru-cookbook/02start/code/Makefile      |    1 -
 books/pru-cookbook/02start/code/ai.notes      |   59 -
 books/pru-cookbook/02start/code/hello.pru0.c  |   35 -
 .../pru-cookbook/02start/code/hello.pru1_1.c  |   35 -
 books/pru-cookbook/02start/code/hello2.pru0.c |   42 -
 books/pru-cookbook/02start/code/hello2.pru1.c |   43 -
 .../pru-cookbook/02start/code/hello2.pru1_0.c |   63 -
 .../pru-cookbook/02start/code/hello2.pru1_1.c |   63 -
 .../pru-cookbook/02start/code/hello2.pru2_0.c |   63 -
 .../pru-cookbook/02start/code/hello2.pru2_1.c |   63 -
 books/pru-cookbook/02start/code/setup.sh      |    5 -
 books/pru-cookbook/02start/code/setup2.sh     |    5 -
 books/pru-cookbook/02start/start.rst          |   44 +-
 books/pru-cookbook/03details/code/Makefile    |    1 -
 .../03details/code/am335x_pru.cmd             |   87 -
 .../03details/code/encoder_setup.sh           |   49 -
 .../pru-cookbook/03details/code/gpio_setup.sh |   28 -
 .../03details/code/servos_setup.sh            |   24 -
 .../pru-cookbook/04debug/code/AM335x_PRU.cmd  |   86 -
 books/pru-cookbook/04debug/code/Makefile      |    1 -
 books/pru-cookbook/04debug/code/copyright.c   |   32 -
 .../04debug/code/resource_table_empty.h       |   72 -
 books/pru-cookbook/04debug/code/uart1.pru0.c  |   88 -
 .../pru-cookbook/04debug/code/uart1.pru1_0.c  |   90 -
 books/pru-cookbook/04debug/code/uart2.pru0.c  |  126 -
 .../pru-cookbook/04debug/code/uart2.pru1_0.c  |  126 -
 books/pru-cookbook/04debug/code/uart_setup.sh |   28 -
 books/pru-cookbook/05blocks/code/Makefile     |    1 -
 books/pru-cookbook/05blocks/code/copyright.c  |   32 -
 books/pru-cookbook/05blocks/code/input.pru0.c |   26 -
 .../pru-cookbook/05blocks/code/input_setup.sh |   27 -
 .../05blocks/code/module/.gitignore           |    1 -
 .../05blocks/code/module/Makefile             |   25 -
 .../05blocks/code/module/install.sh           |    6 -
 .../code/module/rpmsg_client_sample.c         |  102 -
 .../05blocks/code/module/rpmsg_pru.c          |  359 --
 .../05blocks/code/module/setup.sh             |    1 -
 .../pru-cookbook/05blocks/code/neo-colors.py  |   41 -
 .../pru-cookbook/05blocks/code/neo-rainbow.py |   27 -
 books/pru-cookbook/05blocks/code/neo1.pru0.c  |   44 -
 .../pru-cookbook/05blocks/code/neo1.pru1_1.c  |   44 -
 books/pru-cookbook/05blocks/code/neo2.pru0.c  |   46 -
 .../pru-cookbook/05blocks/code/neo2.pru1_1.c  |   46 -
 books/pru-cookbook/05blocks/code/neo3.pru0.c  |   67 -
 .../pru-cookbook/05blocks/code/neo3.pru1_1.c  |   67 -
 books/pru-cookbook/05blocks/code/neo4.pru0.c  |  145 -
 .../pru-cookbook/05blocks/code/neo4.pru1_1.c  |  145 -
 books/pru-cookbook/05blocks/code/neo_setup.sh |   28 -
 books/pru-cookbook/05blocks/code/pwm-test.c   |   74 -
 books/pru-cookbook/05blocks/code/pwm1.pru0.c  |   22 -
 .../pru-cookbook/05blocks/code/pwm1.pru1_1.c  |   22 -
 books/pru-cookbook/05blocks/code/pwm2.pru0.c  |   22 -
 books/pru-cookbook/05blocks/code/pwm3.pru0.c  |   43 -
 books/pru-cookbook/05blocks/code/pwm4.pru0.c  |   50 -
 books/pru-cookbook/05blocks/code/pwm5.pru0.c  |   53 -
 books/pru-cookbook/05blocks/code/pwm6.pru0.c  |   56 -
 books/pru-cookbook/05blocks/code/pwm7-test.c  |   83 -
 books/pru-cookbook/05blocks/code/pwm7.pru0.c  |   57 -
 books/pru-cookbook/05blocks/code/pwm7.pru1.c  |   57 -
 .../pru-cookbook/05blocks/code/pwm7_setup.sh  |   28 -
 books/pru-cookbook/05blocks/code/pwm8.pru0.c  |   78 -
 books/pru-cookbook/05blocks/code/pwm8.pru1.c  |   66 -
 books/pru-cookbook/05blocks/code/pwm_setup.sh |   28 -
 .../05blocks/code/resource_table_empty.h      |   39 -
 books/pru-cookbook/05blocks/code/rgb1.pru0.c  |   80 -
 books/pru-cookbook/05blocks/code/rgb2.pru0.c  |   81 -
 books/pru-cookbook/05blocks/code/rgb3.pru0.c  |  114 -
 books/pru-cookbook/05blocks/code/rgb4.pru0.c  |   84 -
 books/pru-cookbook/05blocks/code/rgb_black.h  |   31 -
 books/pru-cookbook/05blocks/code/rgb_pocket.h |   45 -
 .../pru-cookbook/05blocks/code/rgb_python.py  |   78 -
 .../05blocks/code/rgb_python_setup.sh         |   41 -
 books/pru-cookbook/05blocks/code/rgb_setup.sh |   41 -
 .../05blocks/code/rgb_white.pru0.c            |   64 -
 .../pru-cookbook/05blocks/code/shared.pru0.c  |   63 -
 .../05blocks/code/shared_setup.sh             |   28 -
 books/pru-cookbook/05blocks/code/sine.map     |  338 --
 books/pru-cookbook/05blocks/code/sine.pru0.c  |   58 -
 .../05blocks/code/write_init_pins.sh          |    9 -
 books/pru-cookbook/06io/code/Makefile         |    1 -
 books/pru-cookbook/06io/code/gpio.pru0.c      |   23 -
 books/pru-cookbook/06io/code/setup.sh         |   28 -
 books/pru-cookbook/07more/code/Makefile       |    1 -
 books/pru-cookbook/07more/code/copyright.c    |   33 -
 books/pru-cookbook/07more/code/cycle.pru0.c   |   32 -
 books/pru-cookbook/07more/code/cycle.pru0.lst | 3082 -----------------
 .../07more/code/delay-test.pru0.c             |   28 -
 .../07more/code/delay-test2.pru0.c            |   32 -
 books/pru-cookbook/07more/code/delay.pru0.asm |    9 -
 .../pru-cookbook/07more/code/delay2.pru0.asm  |   15 -
 books/pru-cookbook/07more/code/logic.c        |   34 -
 books/pru-cookbook/07more/code/logic_setup.sh |   30 -
 .../07more/code/resource_table_pru0.h         |  105 -
 books/pru-cookbook/07more/code/setup.sh       |   30 -
 books/pru-cookbook/07more/code/xin.pru1.c     |   34 -
 .../07more/code/xout-cycle.pru0.c             |   62 -
 books/pru-cookbook/07more/code/xout.pru0.c    |   52 -
 books/pru-cookbook/07more/code/xout_run.sh    |    3 -
 books/pru-cookbook/08ai/code/Makefile         |    1 -
 books/pru-cookbook/08ai/code/pwm1.pru2_1.c    |   24 -
 books/pru-cookbook/code                       |    1 +
 114 files changed, 26 insertions(+), 8931 deletions(-)
 delete mode 100644 books/pru-cookbook/01case/code/blink.sim
 delete mode 100755 books/pru-cookbook/01case/code/circle.py
 delete mode 100755 books/pru-cookbook/01case/code/e1.31-test.py
 delete mode 100755 books/pru-cookbook/01case/code/encoder_setup.sh
 delete mode 100644 books/pru-cookbook/01case/code/fire.fseq
 delete mode 100644 books/pru-cookbook/01case/code/logic_install.sh
 delete mode 100644 books/pru-cookbook/01case/code/main_pru1.c
 delete mode 100644 books/pru-cookbook/01case/code/my-config.json
 delete mode 100755 books/pru-cookbook/01case/code/opc.py
 delete mode 100644 books/pru-cookbook/01case/code/pru1-servo.asm
 delete mode 100644 books/pru-cookbook/01case/code/servo-test.c
 delete mode 100755 books/pru-cookbook/01case/code/servos_setup.sh
 delete mode 100644 books/pru-cookbook/02start/code/Makefile
 delete mode 100644 books/pru-cookbook/02start/code/ai.notes
 delete mode 100644 books/pru-cookbook/02start/code/hello.pru0.c
 delete mode 100644 books/pru-cookbook/02start/code/hello.pru1_1.c
 delete mode 100644 books/pru-cookbook/02start/code/hello2.pru0.c
 delete mode 100644 books/pru-cookbook/02start/code/hello2.pru1.c
 delete mode 100644 books/pru-cookbook/02start/code/hello2.pru1_0.c
 delete mode 100644 books/pru-cookbook/02start/code/hello2.pru1_1.c
 delete mode 100644 books/pru-cookbook/02start/code/hello2.pru2_0.c
 delete mode 100644 books/pru-cookbook/02start/code/hello2.pru2_1.c
 delete mode 100755 books/pru-cookbook/02start/code/setup.sh
 delete mode 100755 books/pru-cookbook/02start/code/setup2.sh
 delete mode 100644 books/pru-cookbook/03details/code/Makefile
 delete mode 100644 books/pru-cookbook/03details/code/am335x_pru.cmd
 delete mode 100755 books/pru-cookbook/03details/code/encoder_setup.sh
 delete mode 100755 books/pru-cookbook/03details/code/gpio_setup.sh
 delete mode 100755 books/pru-cookbook/03details/code/servos_setup.sh
 delete mode 100644 books/pru-cookbook/04debug/code/AM335x_PRU.cmd
 delete mode 100644 books/pru-cookbook/04debug/code/Makefile
 delete mode 100644 books/pru-cookbook/04debug/code/copyright.c
 delete mode 100644 books/pru-cookbook/04debug/code/resource_table_empty.h
 delete mode 100644 books/pru-cookbook/04debug/code/uart1.pru0.c
 delete mode 100644 books/pru-cookbook/04debug/code/uart1.pru1_0.c
 delete mode 100644 books/pru-cookbook/04debug/code/uart2.pru0.c
 delete mode 100644 books/pru-cookbook/04debug/code/uart2.pru1_0.c
 delete mode 100644 books/pru-cookbook/04debug/code/uart_setup.sh
 delete mode 100644 books/pru-cookbook/05blocks/code/Makefile
 delete mode 100644 books/pru-cookbook/05blocks/code/copyright.c
 delete mode 100644 books/pru-cookbook/05blocks/code/input.pru0.c
 delete mode 100755 books/pru-cookbook/05blocks/code/input_setup.sh
 delete mode 100644 books/pru-cookbook/05blocks/code/module/.gitignore
 delete mode 100644 books/pru-cookbook/05blocks/code/module/Makefile
 delete mode 100755 books/pru-cookbook/05blocks/code/module/install.sh
 delete mode 100644 books/pru-cookbook/05blocks/code/module/rpmsg_client_sample.c
 delete mode 100644 books/pru-cookbook/05blocks/code/module/rpmsg_pru.c
 delete mode 100755 books/pru-cookbook/05blocks/code/module/setup.sh
 delete mode 100755 books/pru-cookbook/05blocks/code/neo-colors.py
 delete mode 100755 books/pru-cookbook/05blocks/code/neo-rainbow.py
 delete mode 100644 books/pru-cookbook/05blocks/code/neo1.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/neo1.pru1_1.c
 delete mode 100644 books/pru-cookbook/05blocks/code/neo2.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/neo2.pru1_1.c
 delete mode 100644 books/pru-cookbook/05blocks/code/neo3.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/neo3.pru1_1.c
 delete mode 100644 books/pru-cookbook/05blocks/code/neo4.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/neo4.pru1_1.c
 delete mode 100755 books/pru-cookbook/05blocks/code/neo_setup.sh
 delete mode 100644 books/pru-cookbook/05blocks/code/pwm-test.c
 delete mode 100644 books/pru-cookbook/05blocks/code/pwm1.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/pwm1.pru1_1.c
 delete mode 100644 books/pru-cookbook/05blocks/code/pwm2.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/pwm3.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/pwm4.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/pwm5.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/pwm6.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/pwm7-test.c
 delete mode 100644 books/pru-cookbook/05blocks/code/pwm7.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/pwm7.pru1.c
 delete mode 100755 books/pru-cookbook/05blocks/code/pwm7_setup.sh
 delete mode 100644 books/pru-cookbook/05blocks/code/pwm8.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/pwm8.pru1.c
 delete mode 100755 books/pru-cookbook/05blocks/code/pwm_setup.sh
 delete mode 100644 books/pru-cookbook/05blocks/code/resource_table_empty.h
 delete mode 100644 books/pru-cookbook/05blocks/code/rgb1.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/rgb2.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/rgb3.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/rgb4.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/rgb_black.h
 delete mode 100644 books/pru-cookbook/05blocks/code/rgb_pocket.h
 delete mode 100755 books/pru-cookbook/05blocks/code/rgb_python.py
 delete mode 100755 books/pru-cookbook/05blocks/code/rgb_python_setup.sh
 delete mode 100755 books/pru-cookbook/05blocks/code/rgb_setup.sh
 delete mode 100644 books/pru-cookbook/05blocks/code/rgb_white.pru0.c
 delete mode 100644 books/pru-cookbook/05blocks/code/shared.pru0.c
 delete mode 100755 books/pru-cookbook/05blocks/code/shared_setup.sh
 delete mode 100644 books/pru-cookbook/05blocks/code/sine.map
 delete mode 100644 books/pru-cookbook/05blocks/code/sine.pru0.c
 delete mode 100755 books/pru-cookbook/05blocks/code/write_init_pins.sh
 delete mode 100644 books/pru-cookbook/06io/code/Makefile
 delete mode 100644 books/pru-cookbook/06io/code/gpio.pru0.c
 delete mode 100755 books/pru-cookbook/06io/code/setup.sh
 delete mode 100644 books/pru-cookbook/07more/code/Makefile
 delete mode 100644 books/pru-cookbook/07more/code/copyright.c
 delete mode 100644 books/pru-cookbook/07more/code/cycle.pru0.c
 delete mode 100644 books/pru-cookbook/07more/code/cycle.pru0.lst
 delete mode 100644 books/pru-cookbook/07more/code/delay-test.pru0.c
 delete mode 100644 books/pru-cookbook/07more/code/delay-test2.pru0.c
 delete mode 100644 books/pru-cookbook/07more/code/delay.pru0.asm
 delete mode 100644 books/pru-cookbook/07more/code/delay2.pru0.asm
 delete mode 100644 books/pru-cookbook/07more/code/logic.c
 delete mode 100644 books/pru-cookbook/07more/code/logic_setup.sh
 delete mode 100644 books/pru-cookbook/07more/code/resource_table_pru0.h
 delete mode 100644 books/pru-cookbook/07more/code/setup.sh
 delete mode 100644 books/pru-cookbook/07more/code/xin.pru1.c
 delete mode 100644 books/pru-cookbook/07more/code/xout-cycle.pru0.c
 delete mode 100644 books/pru-cookbook/07more/code/xout.pru0.c
 delete mode 100755 books/pru-cookbook/07more/code/xout_run.sh
 delete mode 100644 books/pru-cookbook/08ai/code/Makefile
 delete mode 100644 books/pru-cookbook/08ai/code/pwm1.pru2_1.c
 create mode 160000 books/pru-cookbook/code

diff --git a/.gitmodules b/.gitmodules
index 0c170ef1..4d6dbcd6 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,6 @@
 [submodule "books/beaglebone-cookbook/code"]
 	path = books/beaglebone-cookbook/code
 	url = https://git.beagleboard.org/beagleboard/beaglebone-cookbook-code.git
+[submodule "books/pru-cookbook/code"]
+	path = books/pru-cookbook/code
+	url = https://git.beagleboard.org/beagleboard/pru-cookbook-code
diff --git a/books/pru-cookbook/01case/code/blink.sim b/books/pru-cookbook/01case/code/blink.sim
deleted file mode 100644
index 212a2168..00000000
--- a/books/pru-cookbook/01case/code/blink.sim
+++ /dev/null
@@ -1,7 +0,0 @@
-/* From: https://simppru.readthedocs.io/en/latest/examples/led_blink/ */
-while : 1 == 1 {
-    digital_write(P1_31, true);
-    delay(250);     /* Delay 250 ms */
-    digital_write(P1_31, false);
-    delay(250);
-}
diff --git a/books/pru-cookbook/01case/code/circle.py b/books/pru-cookbook/01case/code/circle.py
deleted file mode 100755
index 1feb41cc..00000000
--- a/books/pru-cookbook/01case/code/circle.py
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env python3
-
-"""A demo client for Open Pixel Control
-http://github.com/zestyping/openpixelcontrol
-
-Runs an LED around in a circle
-
-"""
-
-import time
-import opc
-
-ADDRESS = 'localhost:7890'
-
-# Create a client object
-client = opc.Client(ADDRESS)
-
-# Test if it can connect
-if client.can_connect():
-    print('connected to %s' % ADDRESS)
-else:
-    # We could exit here, but instead let's just print a warning
-    # and then keep trying to send pixels in case the server
-    # appears later
-    print('WARNING: could not connect to %s' % ADDRESS)
-
-# Send pixels forever
-STR_LEN=16
-for i in range(STR_LEN):
-    leds = [(0, 0, 0)] * STR_LEN
-leds[0] = (0, 127, 0)
-
-while True:
-    tmp = leds[0]
-    for i in range(STR_LEN-1):
-        leds[i] = leds[i+1]
-    leds[-1] = tmp
-    if client.put_pixels(leds, channel=0):
-        print('sent')
-    else:
-        print('not connected')
-    time.sleep(0.1)
-
diff --git a/books/pru-cookbook/01case/code/e1.31-test.py b/books/pru-cookbook/01case/code/e1.31-test.py
deleted file mode 100755
index 6016c9eb..00000000
--- a/books/pru-cookbook/01case/code/e1.31-test.py
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/usr/bin/env python3
-# Controls a NeoPixel (WS2812) string via E1.31 and FPP
-# https://pypi.org/project/sacn/
-# https://github.com/FalconChristmas/fpp/releases
-import sacn
-import time
-
-# provide an IP-Address to bind to if you are using Windows and want to use multicast
-sender = sacn.sACNsender("192.168.7.1")
-sender.start()							# start the sending thread
-sender.activate_output(1)		# start sending out data in the 1st universe
-sender[1].multicast = False # set multicast to True
-sender[1].destination = "192.168.7.2"  # or provide unicast information.
-sender.manual_flush = True # turning off the automatic sending of packets
-# Keep in mind that if multicast is on, unicast is not used
-LEDcount = 24
-# Have green fade is as it goes
-data = []
-for i in range(LEDcount):
-	data.append(0)		# Red
-	data.append(i)		# Green
-	data.append(0)		# Blue
-sender[1].dmx_data = data
-sender.flush()
-time.sleep(0.5)
-
-# Turn off all LEDs
-data=[]
-for i in range(3*LEDcount):
-	data.append(0)
-sender.flush()
-sender[1].dmx_data = data
-time.sleep(0.5)
-
-# Have red fade in
-data = []
-for i in range(LEDcount):
-	data.append(i)
-	data.append(0)
-	data.append(0)
-sender[1].dmx_data = data
-sender.flush()
-time.sleep(0.25)
-
-# Make LED circle 5 times
-for j in range(15):
-	for i in range(LEDcount-1):
-		data[3*i+0] = 0
-		data[3*i+1] = 0
-		data[3*i+2] = 0
-		data[3*i+3] = 0
-		data[3*i+4] = 64
-		data[3*i+5] = 0
-		sender[1].dmx_data = data
-		sender.flush()
-		time.sleep(0.02)
-# Wrap around
-	i = LEDcount-1
-	data[0] = 0
-	data[1] = 64
-	data[2] = 0
-	data[3*i+0] = 0
-	data[3*i+1] = 0
-	data[3*i+2] = 0
-	sender[1].dmx_data = data
-	sender.flush()
-	time.sleep(0.02)
-    
-time.sleep(2)  # send the data for 10 seconds
-sender.stop()  # do not forget to stop the sender
diff --git a/books/pru-cookbook/01case/code/encoder_setup.sh b/books/pru-cookbook/01case/code/encoder_setup.sh
deleted file mode 100755
index ffc4ad68..00000000
--- a/books/pru-cookbook/01case/code/encoder_setup.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/bash
-# Configure the pins based on which Beagle is running
-machine=$(awk '{print $NF}' /proc/device-tree/model)
-echo -n $machine
-
-# Configure eQEP pins
-if [ $machine = "Black" ]; then
-    echo " Found"
-    pins="P9_92 P9_27 P8_35 P8_33 P8_12 P8_11 P8_41 P8_42"
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    pins="P1_31 P2_34 P2_10 P2_24 P2_33"
-else
-    echo " Not Found"
-    pins=""
-fi
-
-for pin in $pins
-do
-    echo $pin
-    config-pin $pin qep
-    config-pin -q $pin
-done
-
-##########################################
-# Configure PRU pins
-if [ $machine = "Black" ]; then
-    echo " Found"
-    pins="P8_16 P8_15"
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    pins="P2_09 P2_18"
-else
-    echo " Not Found"
-    pins=""
-fi
-
-for pin in $pins
-do
-    echo $pin
-    config-pin $pin pruin
-    config-pin -q $pin
-done
diff --git a/books/pru-cookbook/01case/code/fire.fseq b/books/pru-cookbook/01case/code/fire.fseq
deleted file mode 100644
index 4bad5ae76476a87bb7bb71e853e3412b1fc63f29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 614428
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%0Dx5r6{zeP
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
Lc7CuLTlW6|<qhqc

diff --git a/books/pru-cookbook/01case/code/logic_install.sh b/books/pru-cookbook/01case/code/logic_install.sh
deleted file mode 100644
index 7fb76122..00000000
--- a/books/pru-cookbook/01case/code/logic_install.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-# Instructions for installing BeagleLogic
-# https://beaglelogic.readthedocs.io/en/latest/index.html
-# From: https://github.com/abhishek-kakkar/BeagleLogic/wiki
-
-# beaglelogic is installed on the 4.9 kernel, but not the 4.14, so
-# if you are running 4.14, switch to 4.9
-sudo /opt/scripts/tools/update_kernel.sh --lts-4_9
-sudo reboot
-
-git clone https://github.com/abhishek-kakkar/BeagleLogic
-cd BeagleLogic
-sudo ./install.sh
-sudo reboot
-
-# Now the kernel driver headers
-sudo apt install linux-headers-`uname -r`
-
-modinfo beaglelogic
-modprobe beaglelogic
-
-# From: https://beaglelogic.readthedocs.io/en/latest
-
-# Here's what works from abhishek
-git clone https://github.com/abhishek-kakkar/BeagleLogic
-cd BeagleLogic
-# 1. Get the dts file from this gist (https://gist.github.com/abhishek-kakkar/0761ef7b10822cff4b3efd194837f49c)
-
-# 2. cd to 'BeagleLogic/kernel' directory. Put the dts file there. (edited)
-# 3. Run 'make overlay'
-# 4. Run 'sudo cp -v beaglelogic-00A0.dtbo /lib/firmware/' (edited)
-# 5. Run 'sudo update-initramfs -u -k ``uname -r``' (edited)
-# (single backticks only, apparently Slack treats single backtick as code) (edited)
-# 6. Reboot
-# 7. Browse to bone:4000
diff --git a/books/pru-cookbook/01case/code/main_pru1.c b/books/pru-cookbook/01case/code/main_pru1.c
deleted file mode 100644
index 8d751b3e..00000000
--- a/books/pru-cookbook/01case/code/main_pru1.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Source Modified by Zubeen Tolani < ZeekHuge - zeekhuge@gmail.com >
- * Based on the examples distributed by TI
- *
- * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *	* Redistributions of source code must retain the above copyright
- *	  notice, this list of conditions and the following disclaimer.
- *
- *	* Redistributions in binary form must reproduce the above copyright
- *	  notice, this list of conditions and the following disclaimer in the
- *	  documentation and/or other materials provided with the
- *	  distribution.
- *
- *	* Neither the name of Texas Instruments Incorporated nor the names of
- *	  its contributors may be used to endorse or promote products derived
- *	  from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-				  
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_pru1.h"
-
-// The function is defined in pru1_asm_blinky.asm in same dir
-// We just need to add a declaration here, the defination can be
-// seperately linked
-extern void start(void);
-
-void main(void)
-{
-    /* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	start();
-}
-
diff --git a/books/pru-cookbook/01case/code/my-config.json b/books/pru-cookbook/01case/code/my-config.json
deleted file mode 100644
index d1534cff..00000000
--- a/books/pru-cookbook/01case/code/my-config.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-	"outputMode": "ws281x",
-	"outputMapping": "original-ledscape",
-	"demoMode": "fade",
-	"ledsPerStrip": 16,
-	"usedStripCount": 1,
-	"colorChannelOrder": "BRG",
-	"opcTcpPort": 7890,
-	"opcUdpPort": 7890,
-	"enableInterpolation": false,
-	"enableDithering": false,
-	"enableLookupTable": true,
-	"lumCurvePower": 2.0000,
-	"whitePoint": {
-		"red": 0.9000,
-		"green": 1.0000,
-		"blue": 1.0000
-	}
-}
diff --git a/books/pru-cookbook/01case/code/opc.py b/books/pru-cookbook/01case/code/opc.py
deleted file mode 100755
index 36a3bbd6..00000000
--- a/books/pru-cookbook/01case/code/opc.py
+++ /dev/null
@@ -1,177 +0,0 @@
-#!/usr/bin/env python
-
-"""Python Client library for Open Pixel Control
-http://github.com/zestyping/openpixelcontrol
-
-Sends pixel values to an Open Pixel Control server to be displayed.
-http://openpixelcontrol.org/
-
-Recommended use:
-
-    import opc
-
-    # Create a client object
-    client = opc.Client('localhost:7890')
-
-    # Test if it can connect (optional)
-    if client.can_connect():
-        print('connected to %s' % ADDRESS)
-    else:
-        # We could exit here, but instead let's just print a warning
-        # and then keep trying to send pixels in case the server
-        # appears later
-        print('WARNING: could not connect to %s' % ADDRESS)
-
-    # Send pixels forever at 30 frames per second
-    while True:
-        my_pixels = [(255, 0, 0), (0, 255, 0), (0, 0, 255)]
-        if client.put_pixels(my_pixels, channel=0):
-            print('...')
-        else:
-            print('not connected')
-        time.sleep(1/30.0)
-
-"""
-
-import socket
-import struct
-import sys
-
-SET_PIXEL_COLOURS = 0  # "Set pixel colours" command (see openpixelcontrol.org)
-
-
-class Client(object):
-    def __init__(self, server_ip_port, long_connection=True, verbose=False):
-        """Create an OPC client object which sends pixels to an OPC server.
-
-        server_ip_port should be an ip:port or hostname:port as a single string.
-        For example: '127.0.0.1:7890' or 'localhost:7890'
-
-        There are two connection modes:
-        * In long connection mode, we try to maintain a single long-lived
-          connection to the server.  If that connection is lost we will try to
-          create a new one whenever put_pixels is called.  This mode is best
-          when there's high latency or very high framerates.
-        * In short connection mode, we open a connection when it's needed and
-          close it immediately after.  This means creating a connection for each
-          call to put_pixels. Keeping the connection usually closed makes it
-          possible for others to also connect to the server.
-
-        A connection is not established during __init__.  To check if a
-        connection will succeed, use can_connect().
-
-        If verbose is True, the client will print debugging info to the console.
-
-        """
-        self.verbose = verbose
-
-        self._long_connection = long_connection
-
-        self._ip, self._port = server_ip_port.split(':')
-        self._port = int(self._port)
-
-        self._socket = None  # will be None when we're not connected
-
-    def _debug(self, m):
-        if self.verbose:
-            print('    %s' % str(m))
-
-    def _ensure_connected(self):
-        """Set up a connection if one doesn't already exist.
-
-        Return True on success or False on failure.
-
-        """
-        if self._socket:
-            self._debug('_ensure_connected: already connected, doing nothing')
-            return True
-
-        try:
-            self._debug('_ensure_connected: trying to connect...')
-            self._socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-            self._socket.settimeout(1)
-            self._socket.connect((self._ip, self._port))
-            self._debug('_ensure_connected:    ...success')
-            return True
-        except socket.error:
-            self._debug('_ensure_connected:    ...failure')
-            self._socket = None
-            return False
-
-    def disconnect(self):
-        """Drop the connection to the server, if there is one."""
-        self._debug('disconnecting')
-        if self._socket:
-            self._socket.close()
-        self._socket = None
-
-    def can_connect(self):
-        """Try to connect to the server.
-
-        Return True on success or False on failure.
-
-        If in long connection mode, this connection will be kept and re-used for
-        subsequent put_pixels calls.
-
-        """
-        success = self._ensure_connected()
-        if not self._long_connection:
-            self.disconnect()
-        return success
-
-    def put_pixels(self, pixels, channel=0):
-        """Send the list of pixel colors to the OPC server on the given channel.
-
-        channel: Which strand of lights to send the pixel colors to.
-            Must be an int in the range 0-255 inclusive.
-            0 is a special value which means "all channels".
-
-        pixels: A list of 3-tuples representing rgb colors.
-            Each value in the tuple should be in the range 0-255 inclusive. 
-            For example: [(255, 255, 255), (0, 0, 0), (127, 0, 0)]
-            Floats will be rounded down to integers.
-            Values outside the legal range will be clamped.
-
-        Will establish a connection to the server as needed.
-
-        On successful transmission of pixels, return True.
-        On failure (bad connection), return False.
-
-        The list of pixel colors will be applied to the LED string starting
-        with the first LED.  It's not possible to send a color just to one
-        LED at a time (unless it's the first one).
-
-        """
-        self._debug('put_pixels: connecting')
-        is_connected = self._ensure_connected()
-        if not is_connected:
-            self._debug('put_pixels: not connected.  ignoring these pixels.')
-            return False
-
-        # build OPC message
-        command = SET_PIXEL_COLOURS
-        header = struct.pack('>BBH', channel, SET_PIXEL_COLOURS, len(pixels)*3)
-        pieces = [struct.pack(
-                      'BBB',
-                      min(255, max(0, int(r))),
-                      min(255, max(0, int(g))),
-                      min(255, max(0, int(b)))
-                  ) for r, g, b in pixels]
-        if bytes is str:
-            message = header + ''.join(pieces)
-        else:
-            message = header + b''.join(pieces)
-
-        self._debug('put_pixels: sending pixels to server')
-        try:
-            self._socket.send(message)
-        except socket.error:
-            self._debug('put_pixels: connection lost.  could not send pixels.')
-            self._socket = None
-            return False
-
-        if not self._long_connection:
-            self._debug('put_pixels: disconnecting')
-            self.disconnect()
-
-        return True
diff --git a/books/pru-cookbook/01case/code/pru1-servo.asm b/books/pru-cookbook/01case/code/pru1-servo.asm
deleted file mode 100644
index c8e66e52..00000000
--- a/books/pru-cookbook/01case/code/pru1-servo.asm
+++ /dev/null
@@ -1,162 +0,0 @@
-;*
-;* Copyright (C) 2016 Zubeen Tolani <ZeekHuge - zeekhuge@gmail.com>
-;*
-;* This file is as an example to show how to develope
-;* and compile inline assembly code for PRUs
-;*
-;* This program is free software; you can redistribute it and/or modify
-;* it under the terms of the GNU General Public License version 2 as
-;* published by the Free Software Foundation.
-
-
-	.cdecls "main_pru1.c"
-
-DELAY	.macro time, reg
-	LDI32	reg, time
-	QBEQ	$E?, reg, 0
-$M?:	SUB	reg, reg, 1
-	QBNE	$M?, reg, 0
-$E?:	
-	.endm
-	
-
-	.clink
-	.global start
-start:
-	LDI 	R30, 0xFFFF
-	DELAY 	10000000, r11
-	LDI		R30, 0x0000
-	DELAY 	10000000, r11
-; 	JMP	start	
-
-; 	HALT
-
-
-; these pin definitions are specific to SD-101C Robotics Cape
-    .asg    r30.t8,     CH1BIT  ; P8_27
-	.asg    r30.t10,    CH2BIT	; P8_28
-	.asg    r30.t9,     CH3BIT	; P8_29
-	.asg	r30.t11,	CH4BIT	; P8_30
-	.asg	r30.t6,		CH5BIT	; P8_39
-	.asg	r30.t7,		CH6BIT	; P8_40
-	.asg	r30.t4,		CH7BIT	; P8_41
-	.asg	r30.t5,		CH8BIT	; P8_42
-
-	.asg    C4,     CONST_SYSCFG         
-	.asg    C28,    CONST_PRUSHAREDRAM   
- 
-	.asg	0x22000,	PRU0_CTRL
-	.asg    0x24000,    PRU1_CTRL       ; page 19
-	.asg    0x28,       CTPPR0          ; page 75
- 
-	.asg	0x000,	OWN_RAM
-	.asg	0x020,	OTHER_RAM
-	.asg    0x100,	SHARED_RAM       ; This is so prudebug can find it.
-
-	LBCO	&r0, CONST_SYSCFG, 4, 4		; Enable OCP master port
-	CLR 	r0, r0, 4					; Clear SYSCFG[STANDBY_INIT] to enable OCP master port
-	SBCO	&r0, CONST_SYSCFG, 4, 4
-	
-; Configure the programmable pointer register for PRU0 by setting c28_pointer[15:0]
-	LDI     r0, SHARED_RAM              ; Set C28 to point to shared RAM
-	LDI32   r1, PRU1_CTRL + CTPPR0		; Note we use beginning of shared ram unlike example which
-	SBBO    &r0, r1, 0, 4				;  page 25
-	
-	LDI		r9, 0x0				; erase r9 to use to use later
-	
-	LDI 	r0, 0x0				; clear internal counters
-	LDI 	r1, 0x0	
-	LDI 	r2, 0x0
-	LDI 	r3, 0x0
-	LDI 	r4, 0x0
-	LDI 	r5, 0x0
-	LDI 	r6, 0x0
-	LDI32 	r7, 0x0
-	LDI 	r30, 0x0				; turn off GPIO outputs
-	
-
-; Beginning of loop, should always take 48 instructions to complete
-CH1:			
-	QBEQ	CLR1, r0, 0						; If timer is 0, jump to clear channel
-	SET		r30, CH1BIT						; If non-zero turn on the corresponding channel
-	SUB		r0, r0, 1						; Subtract one from timer
-	CLR		r9, r9.t1						; waste a cycle for timing
-	SBCO	&r9, CONST_PRUSHAREDRAM, 0, 4	; write 0 to shared memory
-CH2:			
-	QBEQ	CLR2, r1, 0
-	SET		r30, CH2BIT
-	SUB		r1, r1, 1
-	CLR		r9, r9.t1
-	SBCO	&r9, CONST_PRUSHAREDRAM, 4, 4
-CH3:			
-	QBEQ	CLR3, r2, 0
-	SET		r30, CH3BIT
-	SUB		r2, r2, 1
-	CLR		r9, r9.t1
-	SBCO	&r9, CONST_PRUSHAREDRAM, 8, 4
-CH4:			
-	QBEQ	CLR4, r3, 0
-	SET		r30, CH4BIT
-	SUB		r3, r3, 1
-	CLR		r9, r9.t1
-	SBCO	&r9, CONST_PRUSHAREDRAM, 12, 4
-CH5:			
-	QBEQ	CLR5, r4, 0
-	SET		r30, CH5BIT
-	SUB		r4, r4, 1
-	CLR		r9, r9.t1
-	SBCO	&r9, CONST_PRUSHAREDRAM, 16, 4
-CH6:			
-	QBEQ	CLR6, r5, 0
-	SET		r30, CH6BIT
-	SUB		r5, r5, 1
-	CLR		r9, r9.t1
-	SBCO	&r9, CONST_PRUSHAREDRAM, 20, 4
-CH7:			
-	QBEQ	CLR7, r6, 0
-	SET		r30, CH7BIT
-	SUB		r6, r6, 1
-	CLR		r9, r9.t1
-	SBCO	&r9, CONST_PRUSHAREDRAM, 24, 4
-CH8:			
-	QBEQ	CLR8, r7, 0
-	SET		r30, CH8BIT
-	SUB		r7, r7, 1
-	SBCO	&r9, CONST_PRUSHAREDRAM, 28, 4
-
-	QBA		CH1								; return to beginning of loop
-	; no need to waste a cycle for timing here because of the QBA above
-	
-		
-CLR1:
-	CLR		r30, CH1BIT						; turn off the corresponding channel
-	LBCO	&r0, CONST_PRUSHAREDRAM, 0, 4	; Load new timer register
-	QBA		CH2
-CLR2:
-	CLR		r30, CH2BIT
-	LBCO	&r1, CONST_PRUSHAREDRAM, 4, 4
-	QBA		CH3
-CLR3:
-	CLR		r30, CH3BIT
-	LBCO	&r2, CONST_PRUSHAREDRAM, 8, 4
-	QBA		CH4
-CLR4:
-	CLR		r30, CH4BIT
-	LBCO	&r3, CONST_PRUSHAREDRAM, 12, 4
-	QBA		CH5
-CLR5:
-	CLR		r30, CH5BIT
-	LBCO	&r4, CONST_PRUSHAREDRAM, 16, 4
-	QBA		CH6
-CLR6:
-	CLR		r30, CH6BIT
-	LBCO	&r5, CONST_PRUSHAREDRAM, 20, 4
-	QBA		CH7
-CLR7:
-	CLR		r30, CH7BIT
-	LBCO	&r6, CONST_PRUSHAREDRAM, 24, 4
-	QBA		CH8
-CLR8:
-	CLR		r30, CH8BIT
-	LBCO	&r7, CONST_PRUSHAREDRAM, 28, 4
-	QBA		CH1								; return to beginning of loop
diff --git a/books/pru-cookbook/01case/code/servo-test.c b/books/pru-cookbook/01case/code/servo-test.c
deleted file mode 100644
index 1f94e274..00000000
--- a/books/pru-cookbook/01case/code/servo-test.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/* 
- *
- *  servo tester
- *  (c) Copyright 2016
- *  Mark A. Yoder, 20-July-2016
- *
- */
-
-#include <stdio.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include "robotics_cape_defs.h"
-
-#define PRU_ADDR		0x4A300000		// Start of PRU memory Page 184 am335x TRM
-#define PRU_LEN			0x80000			// Length of PRU memory
-#define PRU_SHAREDMEM	0x10000			// Offset to shared memory
-
-unsigned int	*prusharedMem_32int_ptr;	// Points to the start of the shared memory
-
-/*******************************************************************************
-* int send_servo_pulse_us(int ch, int us)
-* 
-* Sends a single pulse of duration us (microseconds) to a single channel (ch)
-*******************************************************************************/
-int send_servo_pulse_us(int ch, int us) {
-	// Sanity Checks
-	if(ch<1 || ch>SERVO_CHANNELS){
-		printf("ERROR: Servo Channel must be between 1&%d\n", SERVO_CHANNELS);
-		return -1;
-	} if(prusharedMem_32int_ptr == NULL){
-		printf("ERROR: PRU servo Controller not initialized\n");
-		return -1;
-	}
-	// PRU runs at 200Mhz. find #loops needed
-	unsigned int num_loops = ((us*200.0)/PRU_SERVO_LOOP_INSTRUCTIONS); 
-	// printf("num_loops: %d\n", num_loops);
-	// write to PRU shared memory
-	prusharedMem_32int_ptr[ch-1] = num_loops;
-	return 0;
-}
-
-int main(int argc, char *argv[])
-{
-	unsigned int	*pru;		// Points to start of PRU memory.
-	int	fd;
-	printf("Servo tester\n");
-	
-	fd = open ("/dev/mem", O_RDWR | O_SYNC);
-	if (fd == -1) {
-		printf ("ERROR: could not open /dev/mem.\n\n");
-		return 1;
-	}
-	pru = mmap (0, PRU_LEN, PROT_READ | PROT_WRITE, MAP_SHARED, fd, PRU_ADDR);
-	if (pru == MAP_FAILED) {
-		printf ("ERROR: could not map memory.\n\n");
-		return 1;
-	}
-	close(fd);
-	printf ("Using /dev/mem.\n");
-	
-	prusharedMem_32int_ptr = pru + PRU_SHAREDMEM/4;	// Points to start of shared memory
-
-	// while(1) {
-	// 	printf("value to store: ");
-	// 	scanf("%d", &value);
-	// 	printf("Storing: %d in %lx\n", value, addr);
-	// 	pru[addr/4] = value;
-	// }
-	
-	int i;
-	while(1) {
-		for(i=1; i<=SERVO_CHANNELS; i++) {
-			send_servo_pulse_us(i, 10*i);
-		}
-		usleep(200);
-	}
-	
-	if(munmap(pru, PRU_LEN)) {
-		printf("munmap failed\n");
-	} else {
-		printf("munmap succeeded\n");
-	}
-}
-
diff --git a/books/pru-cookbook/01case/code/servos_setup.sh b/books/pru-cookbook/01case/code/servos_setup.sh
deleted file mode 100755
index 330e8f34..00000000
--- a/books/pru-cookbook/01case/code/servos_setup.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-# Configure the PRU pins based on which Beagle is running
-machine=$(awk '{print $NF}' /proc/device-tree/model)
-echo -n $machine
-if [ $machine = "Black" ]; then
-    echo " Found"
-    pins="P8_27 P8_28 P8_29 P8_30 P8_39 P8_40 P8_41 P8_42"
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    pins="P2_35 P1_35 P1_02 P1_04"
-else
-    echo " Not Found"
-    pins=""
-fi
-
-for pin in $pins
-do
-    echo $pin
-    config-pin $pin pruout
-    config-pin -q $pin
-done
\ No newline at end of file
diff --git a/books/pru-cookbook/02start/code/Makefile b/books/pru-cookbook/02start/code/Makefile
deleted file mode 100644
index a7557fda..00000000
--- a/books/pru-cookbook/02start/code/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-include /var/lib/cloud9/common/Makefile
diff --git a/books/pru-cookbook/02start/code/ai.notes b/books/pru-cookbook/02start/code/ai.notes
deleted file mode 100644
index d11ac1d4..00000000
--- a/books/pru-cookbook/02start/code/ai.notes
+++ /dev/null
@@ -1,59 +0,0 @@
-Here are some differences between the AI and the Black for the PRU.
-
-Black
-/sys/devices/platform/ocp/
-    4a326004.pruss-soc-bus/
-        4a300000.pruss/
-            4a334000.pru/remoteproc/remoteproc1
-            4a338000.pru/remoteproc/remoteproc2
-        
-        
-AI
-/sys/devices/platform/44000000.ocp/
-    4b226004.pruss-soc-bus/
-        4b200000.pruss/
-            4b234000.pru/remoteproc/remoteproc0
-            4b238000.pru/remoteproc/remoteproc1
-    
-    
-    4b2a6004.pruss-soc-bus/
-        4b280000.pruss/
-            4b2b4000.pru/remoteproc/remoteproc2
-            4b2b8000.pru/remoteproc/remoteproc3
-            
-LED addresses
-https://github.com/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti/src/arm/am5729-beagleboneai.dts#L134-L171
-		led0 {
-			label = "beaglebone:green:usr0";
-			gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>;
-			linux,default-trigger = "heartbeat";
-			default-state = "off";
-		};
-
-		led1 {
-			label = "beaglebone:green:usr1";
-			gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>;
-			linux,default-trigger = "mmc0";
-			default-state = "off";
-		};
-
-		led2 {
-			label = "beaglebone:green:usr2";
-			gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>;
-			linux,default-trigger = "cpu";
-			default-state = "off";
-		};
-
-		led3 {
-			label = "beaglebone:green:usr3";
-			gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
-			linux,default-trigger = "mmc1";
-			default-state = "off";
-		};
-
-		led4 {
-			label = "beaglebone:green:usr4";
-			gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>;
-			linux,default-trigger = "phy0assoc";
-
-GPIO Addresses:  Page 404 for TRM
\ No newline at end of file
diff --git a/books/pru-cookbook/02start/code/hello.pru0.c b/books/pru-cookbook/02start/code/hello.pru0.c
deleted file mode 100644
index ab61e79e..00000000
--- a/books/pru-cookbook/02start/code/hello.pru0.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-volatile register unsigned int __R30;
-volatile register unsigned int __R31;
-
-void main(void) {
-	int i;
-
-	uint32_t *gpio1 = (uint32_t *)GPIO1;
-	
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	for(i=0; i<10; i++) {
-		gpio1[GPIO_SETDATAOUT]   = USR3;	// The the USR3 LED on
-
-		__delay_cycles(500000000/5);    	// Wait 1/2 second
-
-		gpio1[GPIO_CLEARDATAOUT] = USR3;
-
-		__delay_cycles(500000000/5); 
-
-	}
-	__halt();
-}
-
-// Turns off triggers
-#pragma DATA_SECTION(init_pins, ".init_pins")
-#pragma RETAIN(init_pins)
-const char init_pins[] =  
-	"/sys/class/leds/beaglebone:green:usr3/trigger\0none\0" \
-	"\0\0";
diff --git a/books/pru-cookbook/02start/code/hello.pru1_1.c b/books/pru-cookbook/02start/code/hello.pru1_1.c
deleted file mode 100644
index 8cb8146f..00000000
--- a/books/pru-cookbook/02start/code/hello.pru1_1.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-volatile register unsigned int __R30;
-volatile register unsigned int __R31;
-
-void main(void) {
-	int i;
-
-	uint32_t *gpio3 = (uint32_t *)GPIO3;
-	
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	for(i=0; i<10; i++) {
-		gpio3[GPIO_SETDATAOUT]   = USR3;	// The the USR3 LED on
-
-		__delay_cycles(500000000/5);    	// Wait 1/2 second
-
-		gpio3[GPIO_CLEARDATAOUT] = USR3;
-
-		__delay_cycles(500000000/5); 
-
-	}
-	__halt();
-}
-
-// Turns off triggers
-#pragma DATA_SECTION(init_pins, ".init_pins")
-#pragma RETAIN(init_pins)
-const char init_pins[] =  
-	"/sys/class/leds/beaglebone:green:usr3/trigger\0none\0" \
-	"\0\0";
diff --git a/books/pru-cookbook/02start/code/hello2.pru0.c b/books/pru-cookbook/02start/code/hello2.pru0.c
deleted file mode 100644
index d268d33b..00000000
--- a/books/pru-cookbook/02start/code/hello2.pru0.c
+++ /dev/null
@@ -1,42 +0,0 @@
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-volatile register unsigned int __R30;
-volatile register unsigned int __R31;
-
-void main(void) {
-	int i;
-
-	uint32_t *gpio1 = (uint32_t *)GPIO1;
-	
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	for(i=0; i<10; i++) {
-		gpio1[GPIO_SETDATAOUT]   = USR1;			// The the USR3 LED on
-		gpio1[GPIO_CLEARDATAOUT] = USR2;
-		
-		// __R30 |= gpio;		// Set the GPIO pin to 1
-
-		__delay_cycles(500000000/5);    // Wait 1/2 second
-
-		gpio1[GPIO_CLEARDATAOUT] = USR1;
-        gpio1[GPIO_SETDATAOUT]   = USR2;
-		
-		// __R30 &= ~gpio;		// Clearn the GPIO pin
-
-		__delay_cycles(500000000/5); 
-
-	}
-	__halt();
-}
-
-// Turns off triggers
-#pragma DATA_SECTION(init_pins, ".init_pins")
-#pragma RETAIN(init_pins)
-const char init_pins[] =  
-	"/sys/class/leds/beaglebone:green:usr1/trigger\0none\0" \
-	"/sys/class/leds/beaglebone:green:usr2/trigger\0none\0" \
-	"\0\0";
diff --git a/books/pru-cookbook/02start/code/hello2.pru1.c b/books/pru-cookbook/02start/code/hello2.pru1.c
deleted file mode 100644
index 15df5449..00000000
--- a/books/pru-cookbook/02start/code/hello2.pru1.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-volatile register unsigned int __R30;
-volatile register unsigned int __R31;
-
-void main(void) {
-	int i;
-
-	uint32_t *gpio1 = (uint32_t *)GPIO1;
-	
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	for(i=0; i<10; i++) {
-		gpio1[GPIO_SETDATAOUT]   = USR1;			// The the USR3 LED on
-		gpio1[GPIO_CLEARDATAOUT] = USR2;
-		
-		// __R30 |= gpio;		// Set the GPIO pin to 1
-
-		__delay_cycles(500000000/5);    // Wait 1/2 second
-
-		gpio1[GPIO_CLEARDATAOUT] = USR1;
-        gpio1[GPIO_SETDATAOUT]   = USR2;
-		
-		// __R30 &= ~gpio;		// Clearn the GPIO pin
-
-		__delay_cycles(500000000/5); 
-
-	}
-	__halt();
-}
-
-// Turns off triggers
-#pragma DATA_SECTION(init_pins, ".init_pins")
-#pragma RETAIN(init_pins)
-const char init_pins[] =  
-	"/sys/class/leds/beaglebone:green:usr1/trigger\0none\0" \
-	"/sys/class/leds/beaglebone:green:usr2/trigger\0none\0" \
-	"\0\0";
-
diff --git a/books/pru-cookbook/02start/code/hello2.pru1_0.c b/books/pru-cookbook/02start/code/hello2.pru1_0.c
deleted file mode 100644
index 564e1bc9..00000000
--- a/books/pru-cookbook/02start/code/hello2.pru1_0.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-volatile register unsigned int __R30;
-volatile register unsigned int __R31;
-
-void main(void) {
-	int i;
-
-	// uint32_t *gpio1 = (uint32_t *)GPIO1;
-	// uint32_t *gpio2 = (uint32_t *)GPIO2;
-	uint32_t *gpio3 = (uint32_t *)GPIO3;
-	// uint32_t *gpio4 = (uint32_t *)GPIO4;
-	uint32_t *gpio5 = (uint32_t *)GPIO5;
-	uint32_t *gpio6 = (uint32_t *)GPIO6;
-	// uint32_t *gpio7 = (uint32_t *)GPIO7;
-	uint32_t *gpio8 = (uint32_t *)GPIO8;
-	
-	// Select which pins to toggle.  These are all on pru1_1
-	uint32_t gpio = P9_16 | P8_15 | P8_16 | P8_26;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	for(i=0; i<100; i++) {
-		gpio5[GPIO_SETDATAOUT]   = USR1;		// Turn the USR1 LED on
-		gpio3[GPIO_CLEARDATAOUT] = USR2;
-		gpio8[GPIO_SETDATAOUT]   = P8_17;
-		gpio6[GPIO_SETDATAOUT]   = P9_25;
-		
-		__R30 |= gpio;		// Set the GPIO pin to 1
-
-		__delay_cycles(500000000/5);    // Wait 1/2 second
-
-		gpio5[GPIO_CLEARDATAOUT] = USR1;
-        gpio3[GPIO_SETDATAOUT]   = USR2;
-		gpio8[GPIO_CLEARDATAOUT] = P8_17;
-		gpio6[GPIO_CLEARDATAOUT] = P9_25;
-		
-		__R30 &= ~gpio;		// Clear the GPIO pin
-
-		__delay_cycles(500000000/5); 
-		
-		if((__R31&P8_19) == P8_19) {
-            gpio3[GPIO_CLEARDATAOUT]   = USR3;      // Turn on LED
-        } else
-            gpio3[GPIO_SETDATAOUT]     = USR3;      // Turn off LED
-	}
-	__halt();
-}
-
-// Turns off triggers
-#pragma DATA_SECTION(init_pins, ".init_pins")
-#pragma RETAIN(init_pins)
-const char init_pins[] =  
-	"/sys/class/leds/beaglebone:green:usr1/trigger\0none\0" \
-	"/sys/class/leds/beaglebone:green:usr2/trigger\0none\0" \
-	"/sys/class/gpio/export\0 177\0" \
-	"/sys/class/gpio/gpio177/direction\0out\0" \
-	"\0\0";
-
diff --git a/books/pru-cookbook/02start/code/hello2.pru1_1.c b/books/pru-cookbook/02start/code/hello2.pru1_1.c
deleted file mode 100644
index 564e1bc9..00000000
--- a/books/pru-cookbook/02start/code/hello2.pru1_1.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-volatile register unsigned int __R30;
-volatile register unsigned int __R31;
-
-void main(void) {
-	int i;
-
-	// uint32_t *gpio1 = (uint32_t *)GPIO1;
-	// uint32_t *gpio2 = (uint32_t *)GPIO2;
-	uint32_t *gpio3 = (uint32_t *)GPIO3;
-	// uint32_t *gpio4 = (uint32_t *)GPIO4;
-	uint32_t *gpio5 = (uint32_t *)GPIO5;
-	uint32_t *gpio6 = (uint32_t *)GPIO6;
-	// uint32_t *gpio7 = (uint32_t *)GPIO7;
-	uint32_t *gpio8 = (uint32_t *)GPIO8;
-	
-	// Select which pins to toggle.  These are all on pru1_1
-	uint32_t gpio = P9_16 | P8_15 | P8_16 | P8_26;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	for(i=0; i<100; i++) {
-		gpio5[GPIO_SETDATAOUT]   = USR1;		// Turn the USR1 LED on
-		gpio3[GPIO_CLEARDATAOUT] = USR2;
-		gpio8[GPIO_SETDATAOUT]   = P8_17;
-		gpio6[GPIO_SETDATAOUT]   = P9_25;
-		
-		__R30 |= gpio;		// Set the GPIO pin to 1
-
-		__delay_cycles(500000000/5);    // Wait 1/2 second
-
-		gpio5[GPIO_CLEARDATAOUT] = USR1;
-        gpio3[GPIO_SETDATAOUT]   = USR2;
-		gpio8[GPIO_CLEARDATAOUT] = P8_17;
-		gpio6[GPIO_CLEARDATAOUT] = P9_25;
-		
-		__R30 &= ~gpio;		// Clear the GPIO pin
-
-		__delay_cycles(500000000/5); 
-		
-		if((__R31&P8_19) == P8_19) {
-            gpio3[GPIO_CLEARDATAOUT]   = USR3;      // Turn on LED
-        } else
-            gpio3[GPIO_SETDATAOUT]     = USR3;      // Turn off LED
-	}
-	__halt();
-}
-
-// Turns off triggers
-#pragma DATA_SECTION(init_pins, ".init_pins")
-#pragma RETAIN(init_pins)
-const char init_pins[] =  
-	"/sys/class/leds/beaglebone:green:usr1/trigger\0none\0" \
-	"/sys/class/leds/beaglebone:green:usr2/trigger\0none\0" \
-	"/sys/class/gpio/export\0 177\0" \
-	"/sys/class/gpio/gpio177/direction\0out\0" \
-	"\0\0";
-
diff --git a/books/pru-cookbook/02start/code/hello2.pru2_0.c b/books/pru-cookbook/02start/code/hello2.pru2_0.c
deleted file mode 100644
index 564e1bc9..00000000
--- a/books/pru-cookbook/02start/code/hello2.pru2_0.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-volatile register unsigned int __R30;
-volatile register unsigned int __R31;
-
-void main(void) {
-	int i;
-
-	// uint32_t *gpio1 = (uint32_t *)GPIO1;
-	// uint32_t *gpio2 = (uint32_t *)GPIO2;
-	uint32_t *gpio3 = (uint32_t *)GPIO3;
-	// uint32_t *gpio4 = (uint32_t *)GPIO4;
-	uint32_t *gpio5 = (uint32_t *)GPIO5;
-	uint32_t *gpio6 = (uint32_t *)GPIO6;
-	// uint32_t *gpio7 = (uint32_t *)GPIO7;
-	uint32_t *gpio8 = (uint32_t *)GPIO8;
-	
-	// Select which pins to toggle.  These are all on pru1_1
-	uint32_t gpio = P9_16 | P8_15 | P8_16 | P8_26;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	for(i=0; i<100; i++) {
-		gpio5[GPIO_SETDATAOUT]   = USR1;		// Turn the USR1 LED on
-		gpio3[GPIO_CLEARDATAOUT] = USR2;
-		gpio8[GPIO_SETDATAOUT]   = P8_17;
-		gpio6[GPIO_SETDATAOUT]   = P9_25;
-		
-		__R30 |= gpio;		// Set the GPIO pin to 1
-
-		__delay_cycles(500000000/5);    // Wait 1/2 second
-
-		gpio5[GPIO_CLEARDATAOUT] = USR1;
-        gpio3[GPIO_SETDATAOUT]   = USR2;
-		gpio8[GPIO_CLEARDATAOUT] = P8_17;
-		gpio6[GPIO_CLEARDATAOUT] = P9_25;
-		
-		__R30 &= ~gpio;		// Clear the GPIO pin
-
-		__delay_cycles(500000000/5); 
-		
-		if((__R31&P8_19) == P8_19) {
-            gpio3[GPIO_CLEARDATAOUT]   = USR3;      // Turn on LED
-        } else
-            gpio3[GPIO_SETDATAOUT]     = USR3;      // Turn off LED
-	}
-	__halt();
-}
-
-// Turns off triggers
-#pragma DATA_SECTION(init_pins, ".init_pins")
-#pragma RETAIN(init_pins)
-const char init_pins[] =  
-	"/sys/class/leds/beaglebone:green:usr1/trigger\0none\0" \
-	"/sys/class/leds/beaglebone:green:usr2/trigger\0none\0" \
-	"/sys/class/gpio/export\0 177\0" \
-	"/sys/class/gpio/gpio177/direction\0out\0" \
-	"\0\0";
-
diff --git a/books/pru-cookbook/02start/code/hello2.pru2_1.c b/books/pru-cookbook/02start/code/hello2.pru2_1.c
deleted file mode 100644
index 564e1bc9..00000000
--- a/books/pru-cookbook/02start/code/hello2.pru2_1.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-volatile register unsigned int __R30;
-volatile register unsigned int __R31;
-
-void main(void) {
-	int i;
-
-	// uint32_t *gpio1 = (uint32_t *)GPIO1;
-	// uint32_t *gpio2 = (uint32_t *)GPIO2;
-	uint32_t *gpio3 = (uint32_t *)GPIO3;
-	// uint32_t *gpio4 = (uint32_t *)GPIO4;
-	uint32_t *gpio5 = (uint32_t *)GPIO5;
-	uint32_t *gpio6 = (uint32_t *)GPIO6;
-	// uint32_t *gpio7 = (uint32_t *)GPIO7;
-	uint32_t *gpio8 = (uint32_t *)GPIO8;
-	
-	// Select which pins to toggle.  These are all on pru1_1
-	uint32_t gpio = P9_16 | P8_15 | P8_16 | P8_26;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	for(i=0; i<100; i++) {
-		gpio5[GPIO_SETDATAOUT]   = USR1;		// Turn the USR1 LED on
-		gpio3[GPIO_CLEARDATAOUT] = USR2;
-		gpio8[GPIO_SETDATAOUT]   = P8_17;
-		gpio6[GPIO_SETDATAOUT]   = P9_25;
-		
-		__R30 |= gpio;		// Set the GPIO pin to 1
-
-		__delay_cycles(500000000/5);    // Wait 1/2 second
-
-		gpio5[GPIO_CLEARDATAOUT] = USR1;
-        gpio3[GPIO_SETDATAOUT]   = USR2;
-		gpio8[GPIO_CLEARDATAOUT] = P8_17;
-		gpio6[GPIO_CLEARDATAOUT] = P9_25;
-		
-		__R30 &= ~gpio;		// Clear the GPIO pin
-
-		__delay_cycles(500000000/5); 
-		
-		if((__R31&P8_19) == P8_19) {
-            gpio3[GPIO_CLEARDATAOUT]   = USR3;      // Turn on LED
-        } else
-            gpio3[GPIO_SETDATAOUT]     = USR3;      // Turn off LED
-	}
-	__halt();
-}
-
-// Turns off triggers
-#pragma DATA_SECTION(init_pins, ".init_pins")
-#pragma RETAIN(init_pins)
-const char init_pins[] =  
-	"/sys/class/leds/beaglebone:green:usr1/trigger\0none\0" \
-	"/sys/class/leds/beaglebone:green:usr2/trigger\0none\0" \
-	"/sys/class/gpio/export\0 177\0" \
-	"/sys/class/gpio/gpio177/direction\0out\0" \
-	"\0\0";
-
diff --git a/books/pru-cookbook/02start/code/setup.sh b/books/pru-cookbook/02start/code/setup.sh
deleted file mode 100755
index eaf9943a..00000000
--- a/books/pru-cookbook/02start/code/setup.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-
-export TARGET=hello.pru0
-
-echo TARGET=$TARGET
diff --git a/books/pru-cookbook/02start/code/setup2.sh b/books/pru-cookbook/02start/code/setup2.sh
deleted file mode 100755
index 76dd6713..00000000
--- a/books/pru-cookbook/02start/code/setup2.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-
-export TARGET=hello2.pru1
-
-echo TARGET=$TARGET
diff --git a/books/pru-cookbook/02start/start.rst b/books/pru-cookbook/02start/start.rst
index e7a40243..d2188dad 100644
--- a/books/pru-cookbook/02start/start.rst
+++ b/books/pru-cookbook/02start/start.rst
@@ -278,29 +278,29 @@ You are ready to start playing with the examples and need to find the code.
 Solution
 ---------
 
-You can find the code (and the whole book) on the PRU Cookbook github site: 
-<https://github.com/MarkAYoder/PRUCookbook/tree/master/docs>. Just clone 
-it on your Beagle and then look in the *docs* directory.  
+You can find the code on the PRU Cookbook Code project on git.beagleboard.org: 
+https://git.beagleboard.org/beagleboard/pru-cookbook-code. Just clone 
+it on your Beagle.  
 
-.. code-block::bash
-
-    bone$ *git clone https://github.com/MarkAYoder/PRUCookbook.git*
-    bone$ *cd PRUCookbook/docs/*
-    bone$ *ls -F*
-    01case/     05blocks/  book.adoc  copyright.adoc  index.html  projects.adoc
-    02start/    06io/      book.html  hack.sh*        Makefile    projects.html
-    03details/  07more/    book.pdf   header.adoc     notes.adoc  style.adoc
-    04debug/    08ai/      common/    index.adoc      notes.html  style.html
+.. code-block:: shell-session
 
+    bone$ git clone https://git.beagleboard.org/beagleboard/pru-cookbook-code
+    bone$ cd pru-cookbook-code
+    bone$ ls -F
+    01case/   03details/  05blocks/  07more/  README.md
+    02start/  04details/  06io/      08ai/
 
 Each chapter has its own directory and within that directory 
 is a **code** directory that has all of the code.
 
-.. code-block::bash
+.. code-block:: shell-session
 
-    bone$ *cd 02start/code/*
-    bone$ *ls*
+    bone$ cd 02start/
+    bone$ ls
     hello.pru0.c  hello.pru1_1.c  Makefile  setup.sh
+    ai.notes         hello2.pru1_1.c  hello2.pru2_1.c  Makefile
+    hello2.pru0.c    hello2.pru1.c    hello.pru0.c     setup2.sh*
+    hello2.pru1_0.c  hello2.pru2_0.c  hello.pru1_1.c   setup.sh*
 
 Go and explore.
 
@@ -331,10 +331,10 @@ is some code that blinks the ``USR3`` LED ten times using the PRU.
 Later chapters will go into details of how this code works, but if you want 
 to run it right now do the following.
 
-.. code-block:: bash
+.. code-block:: shell-session
 
-    bone$ *git clone https://github.com/MarkAYoder/PRUCookbook.git*
-    bone$ *cd PRUCookbook/docs/02start/code*
+    bone$ git clone https://git.beagleboard.org/beagleboard/pru-cookbook-code
+    bone$ cd pru-cookbook-code/02start
 
 .. tip::
 
@@ -347,9 +347,9 @@ to run it right now do the following.
 Running Code on the Black or Pocket
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. code-block:: bash
+.. code-block:: shell-session
 
-    bone$ *make TARGET=hello.pru0*
+    bone$ make TARGET=hello.pru0
     /var/lib/cloud9/common/Makefile:28: MODEL=TI_AM335x_BeagleBone_Black,TARGET=hello.pru0,COMMON=/var/lib/cloud9/common
     /var/lib/cloud9/common/Makefile:147: GEN_DIR=/tmp/cloud9-examples,CHIP=am335x,PROC=pru,PRUN=0,PRU_DIR=/sys/class/remoteproc/remoteproc1,EXE=.out
     -    Stopping PRU 0
@@ -366,9 +366,9 @@ Running Code on the Black or Pocket
 Running Code on the AI
 ~~~~~~~~~~~~~~~~~~~~~~~
 
-.. code-block:: bash
+.. code-block:: shell-session
 
-    bone$ *make TARGET=hello.pru1_1*
+    bone$ make TARGET=hello.pru1_1
     /var/lib/cloud9/common/Makefile:28: MODEL=BeagleBoard.org_BeagleBone_AI,TARGET=hello.pru1_1
     -    Stopping PRU 1_1
     CC	hello.pru1_1.c
diff --git a/books/pru-cookbook/03details/code/Makefile b/books/pru-cookbook/03details/code/Makefile
deleted file mode 100644
index a7557fda..00000000
--- a/books/pru-cookbook/03details/code/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-include /var/lib/cloud9/common/Makefile
diff --git a/books/pru-cookbook/03details/code/am335x_pru.cmd b/books/pru-cookbook/03details/code/am335x_pru.cmd
deleted file mode 100644
index 67005475..00000000
--- a/books/pru-cookbook/03details/code/am335x_pru.cmd
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************/
-/*  AM335x_PRU.cmd                                                          */
-/*  Copyright (c) 2015  Texas Instruments Incorporated                      */
-/*                                                                          */
-/*    Description: This file is a linker command file that can be used for  */
-/*                 linking PRU programs built with the C compiler and       */
-/*                 the resulting .out file on an AM335x device.             */
-/****************************************************************************/
-
--cr								/* Link using C conventions */
-
-/* Specify the System Memory Map */
-MEMORY
-{
-      PAGE 0:
-	PRU_IMEM		: org = 0x00000000 len = 0x00002000  /* 8kB PRU0 Instruction RAM */
-
-      PAGE 1:
-
-	/* RAM */
-
-	PRU_DMEM_0_1	: org = 0x00000000 len = 0x00002000 CREGISTER=24 /* 8kB PRU Data RAM 0_1 */
-	PRU_DMEM_1_0	: org = 0x00002000 len = 0x00002000	CREGISTER=25 /* 8kB PRU Data RAM 1_0 */
-
-	  PAGE 2:
-	PRU_SHAREDMEM	: org = 0x00010000 len = 0x00003000 CREGISTER=28 /* 12kB Shared RAM */
-
-	DDR			    : org = 0x80000000 len = 0x00000100	CREGISTER=31
-	L3OCMC			: org = 0x40000000 len = 0x00010000	CREGISTER=30
-
-
-	/* Peripherals */
-
-	PRU_CFG			: org = 0x00026000 len = 0x00000044	CREGISTER=4
-	PRU_ECAP		: org = 0x00030000 len = 0x00000060	CREGISTER=3
-	PRU_IEP			: org = 0x0002E000 len = 0x0000031C	CREGISTER=26
-	PRU_INTC		: org = 0x00020000 len = 0x00001504	CREGISTER=0
-	PRU_UART		: org = 0x00028000 len = 0x00000038	CREGISTER=7
-
-	DCAN0			: org = 0x481CC000 len = 0x000001E8	CREGISTER=14
-	DCAN1			: org = 0x481D0000 len = 0x000001E8	CREGISTER=15
-	DMTIMER2		: org = 0x48040000 len = 0x0000005C	CREGISTER=1
-	PWMSS0			: org = 0x48300000 len = 0x000002C4	CREGISTER=18
-	PWMSS1			: org = 0x48302000 len = 0x000002C4	CREGISTER=19
-	PWMSS2			: org = 0x48304000 len = 0x000002C4	CREGISTER=20
-	GEMAC			: org = 0x4A100000 len = 0x0000128C	CREGISTER=9
-	I2C1			: org = 0x4802A000 len = 0x000000D8	CREGISTER=2
-	I2C2			: org = 0x4819C000 len = 0x000000D8	CREGISTER=17
-	MBX0			: org = 0x480C8000 len = 0x00000140	CREGISTER=22
-	MCASP0_DMA		: org = 0x46000000 len = 0x00000100	CREGISTER=8
-	MCSPI0			: org = 0x48030000 len = 0x000001A4	CREGISTER=6
-	MCSPI1			: org = 0x481A0000 len = 0x000001A4	CREGISTER=16
-	MMCHS0			: org = 0x48060000 len = 0x00000300	CREGISTER=5
-	SPINLOCK		: org = 0x480CA000 len = 0x00000880	CREGISTER=23
-	TPCC			: org = 0x49000000 len = 0x00001098	CREGISTER=29
-	UART1			: org = 0x48022000 len = 0x00000088	CREGISTER=11
-	UART2			: org = 0x48024000 len = 0x00000088	CREGISTER=12
-
-	RSVD10			: org = 0x48318000 len = 0x00000100	CREGISTER=10
-	RSVD13			: org = 0x48310000 len = 0x00000100	CREGISTER=13
-	RSVD21			: org = 0x00032400 len = 0x00000100	CREGISTER=21
-	RSVD27			: org = 0x00032000 len = 0x00000100	CREGISTER=27
-
-}
-
-/* Specify the sections allocation into memory */
-SECTIONS {
-	/* Forces _c_int00 to the start of PRU IRAM. Not necessary when loading
-	   an ELF file, but useful when loading a binary */
-	.text:_c_int00*	>  0x0, PAGE 0
-
-	.text		>  PRU_IMEM, PAGE 0
-	.stack		>  PRU_DMEM_0_1, PAGE 1
-	.bss		>  PRU_DMEM_0_1, PAGE 1
-	.cio		>  PRU_DMEM_0_1, PAGE 1
-	.data		>  PRU_DMEM_0_1, PAGE 1
-	.switch		>  PRU_DMEM_0_1, PAGE 1
-	.sysmem		>  PRU_DMEM_0_1, PAGE 1
-	.cinit		>  PRU_DMEM_0_1, PAGE 1
-	.rodata		>  PRU_DMEM_0_1, PAGE 1
-	.rofardata	>  PRU_DMEM_0_1, PAGE 1
-	.farbss		>  PRU_DMEM_0_1, PAGE 1
-	.fardata	>  PRU_DMEM_0_1, PAGE 1
-
-	.resource_table > PRU_DMEM_0_1, PAGE 1
-	.init_pins > PRU_DMEM_0_1, PAGE 1
-}
\ No newline at end of file
diff --git a/books/pru-cookbook/03details/code/encoder_setup.sh b/books/pru-cookbook/03details/code/encoder_setup.sh
deleted file mode 100755
index ffc4ad68..00000000
--- a/books/pru-cookbook/03details/code/encoder_setup.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/bash
-# Configure the pins based on which Beagle is running
-machine=$(awk '{print $NF}' /proc/device-tree/model)
-echo -n $machine
-
-# Configure eQEP pins
-if [ $machine = "Black" ]; then
-    echo " Found"
-    pins="P9_92 P9_27 P8_35 P8_33 P8_12 P8_11 P8_41 P8_42"
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    pins="P1_31 P2_34 P2_10 P2_24 P2_33"
-else
-    echo " Not Found"
-    pins=""
-fi
-
-for pin in $pins
-do
-    echo $pin
-    config-pin $pin qep
-    config-pin -q $pin
-done
-
-##########################################
-# Configure PRU pins
-if [ $machine = "Black" ]; then
-    echo " Found"
-    pins="P8_16 P8_15"
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    pins="P2_09 P2_18"
-else
-    echo " Not Found"
-    pins=""
-fi
-
-for pin in $pins
-do
-    echo $pin
-    config-pin $pin pruin
-    config-pin -q $pin
-done
diff --git a/books/pru-cookbook/03details/code/gpio_setup.sh b/books/pru-cookbook/03details/code/gpio_setup.sh
deleted file mode 100755
index e676ed7a..00000000
--- a/books/pru-cookbook/03details/code/gpio_setup.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-
-export TARGET=gpio.pru0
-echo TARGET=$TARGET
-
-# Configure the PRU pins based on which Beagle is running
-machine=$(awk '{print $NF}' /proc/device-tree/model)
-echo -n $machine
-if [ $machine = "Black" ]; then
-    echo " Found"
-    pins="P9_11"
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    pins="P2_05"
-else
-    echo " Not Found"
-    pins=""
-fi
-
-for pin in $pins
-do
-    echo $pin
-    config-pin $pin gpio
-    config-pin -q $pin
-done
diff --git a/books/pru-cookbook/03details/code/servos_setup.sh b/books/pru-cookbook/03details/code/servos_setup.sh
deleted file mode 100755
index 330e8f34..00000000
--- a/books/pru-cookbook/03details/code/servos_setup.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-# Configure the PRU pins based on which Beagle is running
-machine=$(awk '{print $NF}' /proc/device-tree/model)
-echo -n $machine
-if [ $machine = "Black" ]; then
-    echo " Found"
-    pins="P8_27 P8_28 P8_29 P8_30 P8_39 P8_40 P8_41 P8_42"
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    pins="P2_35 P1_35 P1_02 P1_04"
-else
-    echo " Not Found"
-    pins=""
-fi
-
-for pin in $pins
-do
-    echo $pin
-    config-pin $pin pruout
-    config-pin -q $pin
-done
\ No newline at end of file
diff --git a/books/pru-cookbook/04debug/code/AM335x_PRU.cmd b/books/pru-cookbook/04debug/code/AM335x_PRU.cmd
deleted file mode 100644
index b62f0440..00000000
--- a/books/pru-cookbook/04debug/code/AM335x_PRU.cmd
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************/
-/*  AM335x_PRU.cmd                                                          */
-/*  Copyright (c) 2015  Texas Instruments Incorporated                      */
-/*                                                                          */
-/*    Description: This file is a linker command file that can be used for  */
-/*                 linking PRU programs built with the C compiler and       */
-/*                 the resulting .out file on an AM335x device.             */
-/****************************************************************************/
-
--cr								/* Link using C conventions */
-
-/* Specify the System Memory Map */
-MEMORY
-{
-      PAGE 0:
-	PRU_IMEM		: org = 0x00000000 len = 0x00002000  /* 8kB PRU0 Instruction RAM */
-
-      PAGE 1:
-
-	/* RAM */
-
-	PRU_DMEM_0_1	: org = 0x00000000 len = 0x00002000 CREGISTER=24 /* 8kB PRU Data RAM 0_1 */
-	PRU_DMEM_1_0	: org = 0x00002000 len = 0x00002000	CREGISTER=25 /* 8kB PRU Data RAM 1_0 */
-
-	  PAGE 2:
-	PRU_SHAREDMEM	: org = 0x00010000 len = 0x00003000 CREGISTER=28 /* 12kB Shared RAM */
-
-	DDR			    : org = 0x80000000 len = 0x00000100	CREGISTER=31
-	L3OCMC			: org = 0x40000000 len = 0x00010000	CREGISTER=30
-
-
-	/* Peripherals */
-
-	PRU_CFG			: org = 0x00026000 len = 0x00000044	CREGISTER=4
-	PRU_ECAP		: org = 0x00030000 len = 0x00000060	CREGISTER=3
-	PRU_IEP			: org = 0x0002E000 len = 0x0000031C	CREGISTER=26
-	PRU_INTC		: org = 0x00020000 len = 0x00001504	CREGISTER=0
-	PRU_UART		: org = 0x00028000 len = 0x00000038	CREGISTER=7
-
-	DCAN0			: org = 0x481CC000 len = 0x000001E8	CREGISTER=14
-	DCAN1			: org = 0x481D0000 len = 0x000001E8	CREGISTER=15
-	DMTIMER2		: org = 0x48040000 len = 0x0000005C	CREGISTER=1
-	PWMSS0			: org = 0x48300000 len = 0x000002C4	CREGISTER=18
-	PWMSS1			: org = 0x48302000 len = 0x000002C4	CREGISTER=19
-	PWMSS2			: org = 0x48304000 len = 0x000002C4	CREGISTER=20
-	GEMAC			: org = 0x4A100000 len = 0x0000128C	CREGISTER=9
-	I2C1			: org = 0x4802A000 len = 0x000000D8	CREGISTER=2
-	I2C2			: org = 0x4819C000 len = 0x000000D8	CREGISTER=17
-	MBX0			: org = 0x480C8000 len = 0x00000140	CREGISTER=22
-	MCASP0_DMA		: org = 0x46000000 len = 0x00000100	CREGISTER=8
-	MCSPI0			: org = 0x48030000 len = 0x000001A4	CREGISTER=6
-	MCSPI1			: org = 0x481A0000 len = 0x000001A4	CREGISTER=16
-	MMCHS0			: org = 0x48060000 len = 0x00000300	CREGISTER=5
-	SPINLOCK		: org = 0x480CA000 len = 0x00000880	CREGISTER=23
-	TPCC			: org = 0x49000000 len = 0x00001098	CREGISTER=29
-	UART1			: org = 0x48022000 len = 0x00000088	CREGISTER=11
-	UART2			: org = 0x48024000 len = 0x00000088	CREGISTER=12
-
-	RSVD10			: org = 0x48318000 len = 0x00000100	CREGISTER=10
-	RSVD13			: org = 0x48310000 len = 0x00000100	CREGISTER=13
-	RSVD21			: org = 0x00032400 len = 0x00000100	CREGISTER=21
-	RSVD27			: org = 0x00032000 len = 0x00000100	CREGISTER=27
-
-}
-
-/* Specify the sections allocation into memory */
-SECTIONS {
-	/* Forces _c_int00 to the start of PRU IRAM. Not necessary when loading
-	   an ELF file, but useful when loading a binary */
-	.text:_c_int00*	>  0x0, PAGE 0
-
-	.text		>  PRU_IMEM, PAGE 0
-	.stack		>  PRU_DMEM_0_1, PAGE 1
-	.bss		>  PRU_DMEM_0_1, PAGE 1
-	.cio		>  PRU_DMEM_0_1, PAGE 1
-	.data		>  PRU_DMEM_0_1, PAGE 1
-	.switch		>  PRU_DMEM_0_1, PAGE 1
-	.sysmem		>  PRU_DMEM_0_1, PAGE 1
-	.cinit		>  PRU_DMEM_0_1, PAGE 1
-	.rodata		>  PRU_DMEM_0_1, PAGE 1
-	.rofardata	>  PRU_DMEM_0_1, PAGE 1
-	.farbss		>  PRU_DMEM_0_1, PAGE 1
-	.fardata	>  PRU_DMEM_0_1, PAGE 1
-
-	.resource_table > PRU_DMEM_0_1, PAGE 1
-}
diff --git a/books/pru-cookbook/04debug/code/Makefile b/books/pru-cookbook/04debug/code/Makefile
deleted file mode 100644
index a7557fda..00000000
--- a/books/pru-cookbook/04debug/code/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-include /var/lib/cloud9/common/Makefile
diff --git a/books/pru-cookbook/04debug/code/copyright.c b/books/pru-cookbook/04debug/code/copyright.c
deleted file mode 100644
index a34918fa..00000000
--- a/books/pru-cookbook/04debug/code/copyright.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *	* Redistributions of source code must retain the above copyright
- *	  notice, this list of conditions and the following disclaimer.
- *
- *	* Redistributions in binary form must reproduce the above copyright
- *	  notice, this list of conditions and the following disclaimer in the
- *	  documentation and/or other materials provided with the
- *	  distribution.
- *
- *	* Neither the name of Texas Instruments Incorporated nor the names of
- *	  its contributors may be used to endorse or promote products derived
- *	  from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
diff --git a/books/pru-cookbook/04debug/code/resource_table_empty.h b/books/pru-cookbook/04debug/code/resource_table_empty.h
deleted file mode 100644
index c14bd2b2..00000000
--- a/books/pru-cookbook/04debug/code/resource_table_empty.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *	* Redistributions of source code must retain the above copyright
- *	  notice, this list of conditions and the following disclaimer.
- *
- *	* Redistributions in binary form must reproduce the above copyright
- *	  notice, this list of conditions and the following disclaimer in the
- *	  documentation and/or other materials provided with the
- *	  distribution.
- *
- *	* Neither the name of Texas Instruments Incorporated nor the names of
- *	  its contributors may be used to endorse or promote products derived
- *	  from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- *  ======== resource_table_empty.h ========
- *
- *  Define the resource table entries for all PRU cores. This will be
- *  incorporated into corresponding base images, and used by the remoteproc
- *  on the host-side to allocated/reserve resources.  Note the remoteproc
- *  driver requires that all PRU firmware be built with a resource table.
- *
- *  This file contains an empty resource table.  It can be used either as:
- *
- *        1) A template, or
- *        2) As-is if a PRU application does not need to configure PRU_INTC
- *                  or interact with the rpmsg driver
- *
- */
-
-#ifndef _RSC_TABLE_PRU_H_
-#define _RSC_TABLE_PRU_H_
-
-#include <stddef.h>
-#include <rsc_types.h>
-
-struct my_resource_table {
-	struct resource_table base;
-
-	uint32_t offset[1]; /* Should match 'num' in actual definition */
-};
-
-#pragma DATA_SECTION(pru_remoteproc_ResourceTable, ".resource_table")
-#pragma RETAIN(pru_remoteproc_ResourceTable)
-struct my_resource_table pru_remoteproc_ResourceTable = {
-	1,	/* we're the first version that implements this */
-	0,	/* number of entries in the table */
-	0, 0,	/* reserved, must be zero */
-	0,	/* offset[0] */
-};
-
-#endif /* _RSC_TABLE_PRU_H_ */
-
diff --git a/books/pru-cookbook/04debug/code/uart1.pru0.c b/books/pru-cookbook/04debug/code/uart1.pru0.c
deleted file mode 100644
index e9b40d5c..00000000
--- a/books/pru-cookbook/04debug/code/uart1.pru0.c
+++ /dev/null
@@ -1,88 +0,0 @@
-// From: http://git.ti.com/pru-software-support-package/pru-software-support-package/trees/master/examples/am335x/PRU_Hardware_UART
-
-#include <stdint.h>
-#include <pru_uart.h>
-#include "resource_table_empty.h"
-
-/* The FIFO size on the PRU UART is 16 bytes; however, we are (arbitrarily)
- * only going to send 8 at a time */
-#define FIFO_SIZE	16
-#define MAX_CHARS	8
-
-void main(void)
-{
-	uint8_t tx;
-	uint8_t rx;
-	uint8_t cnt;
-
-	/*  hostBuffer points to the string to be printed */
-	char* hostBuffer;
-	
-	/*** INITIALIZATION ***/
-
-	/* Set up UART to function at 115200 baud - DLL divisor is 104 at 16x oversample
-	 * 192MHz / 104 / 16 = ~115200 */
-	CT_UART.DLL = 104;
-	CT_UART.DLH = 0;
-	CT_UART.MDR = 0x0;
-
-	/* Enable Interrupts in UART module. This allows the main thread to poll for
-	 * Receive Data Available and Transmit Holding Register Empty */
-	CT_UART.IER = 0x7;
-
-	/* If FIFOs are to be used, select desired trigger level and enable
-	 * FIFOs by writing to FCR. FIFOEN bit in FCR must be set first before
-	 * other bits are configured */
-	/* Enable FIFOs for now at 1-byte, and flush them */
-	CT_UART.FCR = (0x8) | (0x4) | (0x2) | (0x1);
-	//CT_UART.FCR = (0x80) | (0x4) | (0x2) | (0x01); // 8-byte RX FIFO trigger
-
-	/* Choose desired protocol settings by writing to LCR */
-	/* 8-bit word, 1 stop bit, no parity, no break control and no divisor latch */
-	CT_UART.LCR = 3;
-
-	/* Enable loopback for test */
-	CT_UART.MCR = 0x00;
-
-	/* Choose desired response to emulation suspend events by configuring
-	 * FREE bit and enable UART by setting UTRST and URRST in PWREMU_MGMT */
-	/* Allow UART to run free, enable UART TX/RX */
-	CT_UART.PWREMU_MGMT = 0x6001;
-
-	/*** END INITIALIZATION ***/
-
-	/* Priming the 'hostbuffer' with a message */
-	hostBuffer = "Hello!  This is a long string\r\n";
-
-	/*** SEND SOME DATA ***/
-
-	/* Let's send/receive some dummy data */
-	while(1) {
-		cnt = 0;
-		while(1) {
-			/* Load character, ensure it is not string termination */
-			if ((tx = hostBuffer[cnt]) == '\0')
-				break;
-			cnt++;
-			CT_UART.THR = tx;
-	
-			/* Because we are doing loopback, wait until LSR.DR == 1
-			 * indicating there is data in the RX FIFO */
-			while ((CT_UART.LSR & 0x1) == 0x0);
-	
-			/* Read the value from RBR */
-			rx = CT_UART.RBR;
-	
-			/* Wait for TX FIFO to be empty */
-			while (!((CT_UART.FCR & 0x2) == 0x2));
-		}
-	}
-
-	/*** DONE SENDING DATA ***/
-
-	/* Disable UART before halting */
-	CT_UART.PWREMU_MGMT = 0x0;
-
-	/* Halt PRU core */
-	__halt();
-}
diff --git a/books/pru-cookbook/04debug/code/uart1.pru1_0.c b/books/pru-cookbook/04debug/code/uart1.pru1_0.c
deleted file mode 100644
index 4c558bb9..00000000
--- a/books/pru-cookbook/04debug/code/uart1.pru1_0.c
+++ /dev/null
@@ -1,90 +0,0 @@
-// From: http://git.ti.com/pru-software-support-package/pru-software-support-package/trees/master/examples/am335x/PRU_Hardware_UART
-// This example was converted to the am5729 by changing the names in pru_uart.h
-// for the am335x to the more descriptive names for the am5729.
-// For example  DLL convertes to DIVISOR_REGISTER_LSB_
-#include <stdint.h>
-#include <pru_uart.h>
-#include "resource_table_empty.h"
-
-/* The FIFO size on the PRU UART is 16 bytes; however, we are (arbitrarily)
- * only going to send 8 at a time */
-#define FIFO_SIZE	16
-#define MAX_CHARS	8
-
-void main(void)
-{
-	uint8_t tx;
-	uint8_t rx;
-	uint8_t cnt;
-
-	/*  hostBuffer points to the string to be printed */
-	char* hostBuffer;
-	
-	/*** INITIALIZATION ***/
-
-	/* Set up UART to function at 115200 baud - DLL divisor is 104 at 16x oversample
-	 * 192MHz / 104 / 16 = ~115200 */
-	CT_UART.DIVISOR_REGISTER_LSB_ = 104;
-	CT_UART.DIVISOR_REGISTER_MSB_ = 0;
-	CT_UART.MODE_DEFINITION_REGISTER = 0x0;
-
-	/* Enable Interrupts in UART module. This allows the main thread to poll for
-	 * Receive Data Available and Transmit Holding Register Empty */
-	CT_UART.INTERRUPT_ENABLE_REGISTER = 0x7;
-
-	/* If FIFOs are to be used, select desired trigger level and enable
-	 * FIFOs by writing to FCR. FIFOEN bit in FCR must be set first before
-	 * other bits are configured */
-	/* Enable FIFOs for now at 1-byte, and flush them */
-	CT_UART.INTERRUPT_IDENTIFICATION_REGISTER_FIFO_CONTROL_REGISTER = (0x8) | (0x4) | (0x2) | (0x1);
-	//CT_UART.FCR = (0x80) | (0x4) | (0x2) | (0x01); // 8-byte RX FIFO trigger
-
-	/* Choose desired protocol settings by writing to LCR */
-	/* 8-bit word, 1 stop bit, no parity, no break control and no divisor latch */
-	CT_UART.LINE_CONTROL_REGISTER = 3;
-
-	/* Enable loopback for test */
-	CT_UART.MODEM_CONTROL_REGISTER = 0x00;
-
-	/* Choose desired response to emulation suspend events by configuring
-	 * FREE bit and enable UART by setting UTRST and URRST in PWREMU_MGMT */
-	/* Allow UART to run free, enable UART TX/RX */
-	CT_UART.POWERMANAGEMENT_AND_EMULATION_REGISTER = 0x6001;
-
-	/*** END INITIALIZATION ***/
-
-	/* Priming the 'hostbuffer' with a message */
-	hostBuffer = "Hello!  This is a long string\r\n";
-
-	/*** SEND SOME DATA ***/
-
-	/* Let's send/receive some dummy data */
-	while(1) {
-		cnt = 0;
-		while(1) {
-			/* Load character, ensure it is not string termination */
-			if ((tx = hostBuffer[cnt]) == '\0')
-				break;
-			cnt++;
-			CT_UART.RBR_THR_REGISTERS = tx;
-	
-			/* Because we are doing loopback, wait until LSR.DR == 1
-			 * indicating there is data in the RX FIFO */
-			while ((CT_UART.LINE_STATUS_REGISTER & 0x1) == 0x0);
-	
-			/* Read the value from RBR */
-			rx = CT_UART.RBR_THR_REGISTERS;
-	
-			/* Wait for TX FIFO to be empty */
-			while (!((CT_UART.INTERRUPT_IDENTIFICATION_REGISTER_FIFO_CONTROL_REGISTER & 0x2) == 0x2));
-		}
-	}
-
-	/*** DONE SENDING DATA ***/
-
-	/* Disable UART before halting */
-	CT_UART.POWERMANAGEMENT_AND_EMULATION_REGISTER = 0x0;
-
-	/* Halt PRU core */
-	__halt();
-}
diff --git a/books/pru-cookbook/04debug/code/uart2.pru0.c b/books/pru-cookbook/04debug/code/uart2.pru0.c
deleted file mode 100644
index 56ca985d..00000000
--- a/books/pru-cookbook/04debug/code/uart2.pru0.c
+++ /dev/null
@@ -1,126 +0,0 @@
-// From: http://git.ti.com/pru-software-support-package/pru-software-support-package/trees/master/pru_cape/pru_fw/PRU_Hardware_UART
-
-#include <stdint.h>
-#include <pru_uart.h>
-#include "resource_table_empty.h"
-
-/* The FIFO size on the PRU UART is 16 bytes; however, we are (arbitrarily)
- * only going to send 8 at a time */
-#define FIFO_SIZE	16
-#define MAX_CHARS	8
-#define BUFFER		40
-
-//******************************************************************************
-//    Print Message Out
-//      This function take in a string literal of any size and then fill the
-//      TX FIFO when it's empty and waits until there is info in the RX FIFO
-//      before returning.
-//******************************************************************************
-void PrintMessageOut(volatile char* Message)
-{
-	uint8_t cnt, index = 0;
-
-	while (1) {
-		cnt = 0;
-
-		/* Wait until the TX FIFO and the TX SR are completely empty */
-		while (!CT_UART.LSR_bit.TEMT);
-
-		while (Message[index] != NULL && cnt < MAX_CHARS) {
-			CT_UART.THR = Message[index];
-			index++;
-			cnt++;
-		}
-		if (Message[index] == NULL)
-			break;
-	}
-
-	/* Wait until the TX FIFO and the TX SR are completely empty */
-	while (!CT_UART.LSR_bit.TEMT);
-
-}
-
-//******************************************************************************
-//    IEP Timer Config
-//      This function waits until there is info in the RX FIFO and then returns
-//      the first character entered.
-//******************************************************************************
-char ReadMessageIn(void)
-{
-	while (!CT_UART.LSR_bit.DR);
-
-	return CT_UART.RBR_bit.DATA;
-}
-
-void main(void)
-{
-	uint32_t i;
-	volatile uint32_t not_done = 1;
-
-	char rxBuffer[BUFFER];
-	rxBuffer[BUFFER-1] = NULL; // null terminate the string
-
-	/*** INITIALIZATION ***/
-
-	/* Set up UART to function at 115200 baud - DLL divisor is 104 at 16x oversample
-	 * 192MHz / 104 / 16 = ~115200 */
-	CT_UART.DLL = 104;
-	CT_UART.DLH = 0;
-	CT_UART.MDR_bit.OSM_SEL = 0x0;
-
-	/* Enable Interrupts in UART module. This allows the main thread to poll for
-	 * Receive Data Available and Transmit Holding Register Empty */
-	CT_UART.IER = 0x7;
-
-	/* If FIFOs are to be used, select desired trigger level and enable
-	 * FIFOs by writing to FCR. FIFOEN bit in FCR must be set first before
-	 * other bits are configured */
-	/* Enable FIFOs for now at 1-byte, and flush them */
-	CT_UART.FCR = (0x80) | (0x8) | (0x4) | (0x2) | (0x01); // 8-byte RX FIFO trigger
-
-	/* Choose desired protocol settings by writing to LCR */
-	/* 8-bit word, 1 stop bit, no parity, no break control and no divisor latch */
-	CT_UART.LCR = 3;
-
-	/* If flow control is desired write appropriate values to MCR. */
-	/* No flow control for now, but enable loopback for test */
-	CT_UART.MCR = 0x00;
-
-	/* Choose desired response to emulation suspend events by configuring
-	 * FREE bit and enable UART by setting UTRST and URRST in PWREMU_MGMT */
-	/* Allow UART to run free, enable UART TX/RX */
-	CT_UART.PWREMU_MGMT_bit.FREE = 0x1;
-	CT_UART.PWREMU_MGMT_bit.URRST = 0x1;
-	CT_UART.PWREMU_MGMT_bit.UTRST = 0x1;
-
-	/* Turn off RTS and CTS functionality */
-	CT_UART.MCR_bit.AFE = 0x0;
-	CT_UART.MCR_bit.RTS = 0x0;
-
-	/*** END INITIALIZATION ***/
-
-	while(1) {
-		/* Print out greeting message */
-		PrintMessageOut("Hello you are in the PRU UART demo test please enter some characters\r\n");
-	
-		/* Read in characters from user, then echo them back out */
-		for (i = 0; i < BUFFER-1 ; i++) {
-			rxBuffer[i] = ReadMessageIn();
-			if(rxBuffer[i] == '\r') {	// Quit early if ENTER is hit.
-				rxBuffer[i+1] = NULL;
-				break;
-			}
-		}
-	
-		PrintMessageOut("you typed:\r\n");
-		PrintMessageOut(rxBuffer);
-		PrintMessageOut("\r\n");
-	}
-
-	/*** DONE SENDING DATA ***/
-	/* Disable UART before halting */
-	CT_UART.PWREMU_MGMT = 0x0;
-
-	/* Halt PRU core */
-	__halt();
-}
diff --git a/books/pru-cookbook/04debug/code/uart2.pru1_0.c b/books/pru-cookbook/04debug/code/uart2.pru1_0.c
deleted file mode 100644
index c934ef7d..00000000
--- a/books/pru-cookbook/04debug/code/uart2.pru1_0.c
+++ /dev/null
@@ -1,126 +0,0 @@
-// From: http://git.ti.com/pru-software-support-package/pru-software-support-package/trees/master/pru_cape/pru_fw/PRU_Hardware_UART
-
-#include <stdint.h>
-#include <pru_uart.h>
-#include "resource_table_empty.h"
-
-/* The FIFO size on the PRU UART is 16 bytes; however, we are (arbitrarily)
- * only going to send 8 at a time */
-#define FIFO_SIZE	16
-#define MAX_CHARS	8
-#define BUFFER		40
-
-//******************************************************************************
-//    Print Message Out
-//      This function take in a string literal of any size and then fill the
-//      TX FIFO when it's empty and waits until there is info in the RX FIFO
-//      before returning.
-//******************************************************************************
-void PrintMessageOut(volatile char* Message)
-{
-	uint8_t cnt, index = 0;
-
-	while (1) {
-		cnt = 0;
-
-		/* Wait until the TX FIFO and the TX SR are completely empty */
-		while (!CT_UART.LINE_STATUS_REGISTER_bit.TEMT);
-
-		while (Message[index] != NULL && cnt < MAX_CHARS) {
-			CT_UART.RBR_THR_REGISTERS = Message[index];
-			index++;
-			cnt++;
-		}
-		if (Message[index] == NULL)
-			break;
-	}
-
-	/* Wait until the TX FIFO and the TX SR are completely empty */
-	while (!CT_UART.LINE_STATUS_REGISTER_bit.TEMT);
-
-}
-
-//******************************************************************************
-//    IEP Timer Config
-//      This function waits until there is info in the RX FIFO and then returns
-//      the first character entered.
-//******************************************************************************
-char ReadMessageIn(void)
-{
-	while (!CT_UART.LINE_STATUS_REGISTER_bit.DR);
-
-	return CT_UART.RBR_THR_REGISTERS_bit.DATA;
-}
-
-void main(void)
-{
-	uint32_t i;
-	volatile uint32_t not_done = 1;
-
-	char rxBuffer[BUFFER];
-	rxBuffer[BUFFER-1] = NULL; // null terminate the string
-
-	/*** INITIALIZATION ***/
-
-	/* Set up UART to function at 115200 baud - DLL divisor is 104 at 16x oversample
-	 * 192MHz / 104 / 16 = ~115200 */
-	CT_UART.DIVISOR_REGISTER_LSB_ = 104;
-	CT_UART.DIVISOR_REGISTER_MSB_ = 0;
-	CT_UART.MODE_DEFINITION_REGISTER_bit.OSM_SEL = 0x0;
-
-	/* Enable Interrupts in UART module. This allows the main thread to poll for
-	 * Receive Data Available and Transmit Holding Register Empty */
-	CT_UART.INTERRUPT_ENABLE_REGISTER = 0x7;
-
-	/* If FIFOs are to be used, select desired trigger level and enable
-	 * FIFOs by writing to FCR. FIFOEN bit in FCR must be set first before
-	 * other bits are configured */
-	/* Enable FIFOs for now at 1-byte, and flush them */
-	CT_UART.INTERRUPT_IDENTIFICATION_REGISTER_FIFO_CONTROL_REGISTER = (0x80) | (0x8) | (0x4) | (0x2) | (0x01); // 8-byte RX FIFO trigger
-
-	/* Choose desired protocol settings by writing to LCR */
-	/* 8-bit word, 1 stop bit, no parity, no break control and no divisor latch */
-	CT_UART.LINE_CONTROL_REGISTER = 3;
-
-	/* If flow control is desired write appropriate values to MCR. */
-	/* No flow control for now, but enable loopback for test */
-	CT_UART.MODEM_CONTROL_REGISTER = 0x00;
-
-	/* Choose desired response to emulation suspend events by configuring
-	 * FREE bit and enable UART by setting UTRST and URRST in PWREMU_MGMT */
-	/* Allow UART to run free, enable UART TX/RX */
-	CT_UART.POWERMANAGEMENT_AND_EMULATION_REGISTER_bit.FREE = 0x1;
-	CT_UART.POWERMANAGEMENT_AND_EMULATION_REGISTER_bit.URRST = 0x1;
-	CT_UART.POWERMANAGEMENT_AND_EMULATION_REGISTER_bit.UTRST = 0x1;
-
-	/* Turn off RTS and CTS functionality */
-	CT_UART.MODEM_CONTROL_REGISTER_bit.AFE = 0x0;
-	CT_UART.MODEM_CONTROL_REGISTER_bit.RTS = 0x0;
-
-	/*** END INITIALIZATION ***/
-
-	while(1) {
-		/* Print out greeting message */
-		PrintMessageOut("Hello you are in the PRU UART demo test please enter some characters\r\n");
-	
-		/* Read in characters from user, then echo them back out */
-		for (i = 0; i < BUFFER-1 ; i++) {
-			rxBuffer[i] = ReadMessageIn();
-			if(rxBuffer[i] == '\r') {	// Quit early if ENTER is hit.
-				rxBuffer[i+1] = NULL;
-				break;
-			}
-		}
-	
-		PrintMessageOut("you typed:\r\n");
-		PrintMessageOut(rxBuffer);
-		PrintMessageOut("\r\n");
-	}
-
-	/*** DONE SENDING DATA ***/
-	/* Disable UART before halting */
-	CT_UART.POWERMANAGEMENT_AND_EMULATION_REGISTER = 0x0;
-
-	/* Halt PRU core */
-	__halt();
-}
diff --git a/books/pru-cookbook/04debug/code/uart_setup.sh b/books/pru-cookbook/04debug/code/uart_setup.sh
deleted file mode 100644
index db11d1f4..00000000
--- a/books/pru-cookbook/04debug/code/uart_setup.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-export TARGET=uart1.pru0
-echo TARGET=$TARGET
-
-machine=$(awk '{print $NF}' /proc/device-tree/model)
-echo -n $machine
-if [ $machine = "Black" ]; then
-    echo " Found"
-    # Configure tx
-    config-pin P9_24 pru_uart
-    # Configure rx
-    config-pin P9_26 pru_uart
-elif [ $machine = "AI" ]; then
-    echo " Found"
-    echo "See AI chapter for configuring via device tree"
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    # Configure tx
-    config-pin P1_06 pru_uart
-    config-pin P2_09 pru_uart
-    # Configure rx
-    config-pin P1_12 pru_uart
-    config-pin P2_11 pru_uart
-else
-    echo " Not Found"
-    pins=""
-fi
diff --git a/books/pru-cookbook/05blocks/code/Makefile b/books/pru-cookbook/05blocks/code/Makefile
deleted file mode 100644
index a7557fda..00000000
--- a/books/pru-cookbook/05blocks/code/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-include /var/lib/cloud9/common/Makefile
diff --git a/books/pru-cookbook/05blocks/code/copyright.c b/books/pru-cookbook/05blocks/code/copyright.c
deleted file mode 100644
index a34918fa..00000000
--- a/books/pru-cookbook/05blocks/code/copyright.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *	* Redistributions of source code must retain the above copyright
- *	  notice, this list of conditions and the following disclaimer.
- *
- *	* Redistributions in binary form must reproduce the above copyright
- *	  notice, this list of conditions and the following disclaimer in the
- *	  documentation and/or other materials provided with the
- *	  distribution.
- *
- *	* Neither the name of Texas Instruments Incorporated nor the names of
- *	  its contributors may be used to endorse or promote products derived
- *	  from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
diff --git a/books/pru-cookbook/05blocks/code/input.pru0.c b/books/pru-cookbook/05blocks/code/input.pru0.c
deleted file mode 100644
index 9ed5d3b7..00000000
--- a/books/pru-cookbook/05blocks/code/input.pru0.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t led;
-	uint32_t sw;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	led = 0x1<<0;	// P9_31 or P1_36
-	sw  = 0x1<<7;	// P9_25 or P1_29
-		
-	while (1) {
-		if((__R31&sw) == sw) {
-			__R30 |= led;		// Turn on LED
-		} else
-			__R30 &= ~led;		// Turn off LED
-	}
-}
-
diff --git a/books/pru-cookbook/05blocks/code/input_setup.sh b/books/pru-cookbook/05blocks/code/input_setup.sh
deleted file mode 100755
index 35a0d9c3..00000000
--- a/books/pru-cookbook/05blocks/code/input_setup.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-#
-export TARGET=input.pru0
-echo TARGET=$TARGET
-
-# Configure the PRU pins based on which Beagle is running
-machine=$(awk '{print $NF}' /proc/device-tree/model)
-echo -n $machine
-if [ $machine = "Black" ]; then
-    echo " Found"
-    config-pin P9_31 pruout
-    config-pin -q P9_31
-    config-pin P9_25 pruin
-    config-pin -q P9_25
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    config-pin P1_36 pruout
-    config-pin -q P1_36
-    config-pin P1_29 pruin
-    config-pin -q P1_29
-else
-    echo " Not Found"
-    pins=""
-fi
diff --git a/books/pru-cookbook/05blocks/code/module/.gitignore b/books/pru-cookbook/05blocks/code/module/.gitignore
deleted file mode 100644
index 9b6dfc43..00000000
--- a/books/pru-cookbook/05blocks/code/module/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.ko
diff --git a/books/pru-cookbook/05blocks/code/module/Makefile b/books/pru-cookbook/05blocks/code/module/Makefile
deleted file mode 100644
index 9ca05d05..00000000
--- a/books/pru-cookbook/05blocks/code/module/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# Makefile for compiling out-of-tree
-# From Free Electrons
-# If on the Bone run apt install linux-headers-`uname -r`
-
-KDIR := /lib/modules/$(shell uname -r)/build
-
-obj-m += rpmsg_client_sample.o
-obj-m += rpmsg_pru.o
-
-all:
-	$(MAKE) -C $(KDIR) M=$$PWD
-	
-install:
-	scp hello*.ko bone:.
-
-print:
-	@echo KERNELRELEASE= $(KERNELRELEASE)
-	@echo CONFIG_EXAMPLES= $(CONFIG_EXAMPLES)
-	@echo obj-m= $(obj-m)
-	
-clean:
-	rm -rf .tmp_versions *.o 
-	rm -rf .rpmsg_client_sample* rpmsg_client_sample*.mod.c
-	rm -rf .rpmsg_pru* rpmsg_pru*.mod.c
-	rm modules.order Module.symvers .built-in.o.cmd 
\ No newline at end of file
diff --git a/books/pru-cookbook/05blocks/code/module/install.sh b/books/pru-cookbook/05blocks/code/module/install.sh
deleted file mode 100755
index 89f497f0..00000000
--- a/books/pru-cookbook/05blocks/code/module/install.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-# This is a example of ARM to PRU communication from Lab 5 of
-# http://processors.wiki.ti.com/index.php/PRU_Training:_Hands-on_Labs#LAB_5:_RPMsg_Communication_between_ARM_and_PRU
-
-sudo apt install linux-headers-`uname -r`
-
-wget https://github.com/beagleboard/linux/raw/4.9/drivers/rpmsg/rpmsg_pru.c
diff --git a/books/pru-cookbook/05blocks/code/module/rpmsg_client_sample.c b/books/pru-cookbook/05blocks/code/module/rpmsg_client_sample.c
deleted file mode 100644
index 72b24524..00000000
--- a/books/pru-cookbook/05blocks/code/module/rpmsg_client_sample.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Remote processor messaging - sample client driver
- *
- * Copyright (C) 2011 Texas Instruments, Inc.
- * Copyright (C) 2011 Google, Inc.
- *
- * Ohad Ben-Cohen <ohad@wizery.com>
- * Brian Swetland <swetland@google.com>
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/rpmsg.h>
-
-#define MSG		"hello world!"
-#define MSG_LIMIT	10
-
-struct instance_data {
-	int rx_count;
-};
-
-static int rpmsg_sample_cb(struct rpmsg_device *rpdev, void *data, int len,
-						void *priv, u32 src)
-{
-	int ret;
-	struct instance_data *idata = dev_get_drvdata(&rpdev->dev);
-
-	dev_info(&rpdev->dev, "incoming msg %d (src: 0x%x)\n",
-		 ++idata->rx_count, src);
-
-	print_hex_dump(KERN_DEBUG, __func__, DUMP_PREFIX_NONE, 16, 1,
-		       data, len,  true);
-
-	/* samples should not live forever */
-	if (idata->rx_count >= MSG_LIMIT) {
-		dev_info(&rpdev->dev, "goodbye!\n");
-		return 0;
-	}
-
-	/* send a new message now */
-	ret = rpmsg_send(rpdev->ept, MSG, strlen(MSG));
-	if (ret)
-		dev_err(&rpdev->dev, "rpmsg_send failed: %d\n", ret);
-
-	return 0;
-}
-
-static int rpmsg_sample_probe(struct rpmsg_device *rpdev)
-{
-	int ret;
-	struct instance_data *idata;
-
-	dev_info(&rpdev->dev, "new channel: 0x%x -> 0x%x!\n",
-					rpdev->src, rpdev->dst);
-
-	idata = devm_kzalloc(&rpdev->dev, sizeof(*idata), GFP_KERNEL);
-	if (!idata)
-		return -ENOMEM;
-
-	dev_set_drvdata(&rpdev->dev, idata);
-
-	/* send a message to our remote processor */
-	ret = rpmsg_send(rpdev->ept, MSG, strlen(MSG));
-	if (ret) {
-		dev_err(&rpdev->dev, "rpmsg_send failed: %d\n", ret);
-		return ret;
-	}
-
-	return 0;
-}
-
-static void rpmsg_sample_remove(struct rpmsg_device *rpdev)
-{
-	dev_info(&rpdev->dev, "rpmsg sample client driver is removed\n");
-}
-
-static struct rpmsg_device_id rpmsg_driver_sample_id_table[] = {
-	{ .name	= "rpmsg-client-sample" },
-	{ },
-};
-MODULE_DEVICE_TABLE(rpmsg, rpmsg_driver_sample_id_table);
-
-static struct rpmsg_driver rpmsg_sample_client = {
-	.drv.name	= KBUILD_MODNAME,
-	.id_table	= rpmsg_driver_sample_id_table,
-	.probe		= rpmsg_sample_probe,
-	.callback	= rpmsg_sample_cb,
-	.remove		= rpmsg_sample_remove,
-};
-module_rpmsg_driver(rpmsg_sample_client);
-
-MODULE_DESCRIPTION("Remote processor messaging sample client driver");
-MODULE_LICENSE("GPL v2");
diff --git a/books/pru-cookbook/05blocks/code/module/rpmsg_pru.c b/books/pru-cookbook/05blocks/code/module/rpmsg_pru.c
deleted file mode 100644
index 5a96b209..00000000
--- a/books/pru-cookbook/05blocks/code/module/rpmsg_pru.c
+++ /dev/null
@@ -1,359 +0,0 @@
-/*
- * PRU Remote Processor Messaging Driver
- *
- * Copyright (C) 2015-2017 Texas Instruments Incorporated - http://www.ti.com/
- *	Jason Reeder <jreeder@ti.com>
- *	Suman Anna <s-anna@ti.com>
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#include <linux/kernel.h>
-#include <linux/rpmsg.h>
-#include <linux/slab.h>
-#include <linux/fs.h>
-#include <linux/init.h>
-#include <linux/cdev.h>
-#include <linux/module.h>
-#include <linux/kfifo.h>
-#include <linux/uaccess.h>
-#include <linux/mutex.h>
-#include <linux/poll.h>
-#include <linux/rpmsg/virtio_rpmsg.h>
-
-#define PRU_MAX_DEVICES				(8)
-/* Matches the definition in virtio_rpmsg_bus.c */
-#define RPMSG_BUF_SIZE				(512)
-#define MAX_FIFO_MSG				(32)
-#define FIFO_MSG_SIZE				RPMSG_BUF_SIZE
-
-/**
- * struct rpmsg_pru_dev - Structure that contains the per-device data
- * @rpdev: rpmsg channel device that is associated with this rpmsg_pru device
- * @dev: device
- * @cdev: character device
- * @locked: boolean used to determine whether or not the device file is in use
- * @devt: dev_t structure for the rpmsg_pru device
- * @msg_fifo: kernel fifo used to buffer the messages between userspace and PRU
- * @msg_len: array storing the lengths of each message in the kernel fifo
- * @msg_idx_rd: kernel fifo read index
- * @msg_idx_wr: kernel fifo write index
- * @wait_list: wait queue used to implement the poll operation of the character
- *             device
- *
- * Each rpmsg_pru device provides an interface, using an rpmsg channel (rpdev),
- * between a user space character device (cdev) and a PRU core. A kernel fifo
- * (msg_fifo) is used to buffer the messages in the kernel that are
- * being passed between the character device and the PRU.
- */
-struct rpmsg_pru_dev {
-	struct rpmsg_device *rpdev;
-	struct device *dev;
-	struct cdev cdev;
-	bool locked;
-	dev_t devt;
-	struct kfifo msg_fifo;
-	u32 msg_len[MAX_FIFO_MSG];
-	int msg_idx_rd;
-	int msg_idx_wr;
-	wait_queue_head_t wait_list;
-};
-
-static struct class *rpmsg_pru_class;
-static dev_t rpmsg_pru_devt;
-static DEFINE_MUTEX(rpmsg_pru_lock);
-static DEFINE_IDR(rpmsg_pru_minors);
-
-static int rpmsg_pru_open(struct inode *inode, struct file *filp)
-{
-	struct rpmsg_pru_dev *prudev;
-	int ret = -EACCES;
-
-	prudev = container_of(inode->i_cdev, struct rpmsg_pru_dev, cdev);
-
-	mutex_lock(&rpmsg_pru_lock);
-	if (!prudev->locked) {
-		prudev->locked = true;
-		filp->private_data = prudev;
-		ret = 0;
-	}
-	mutex_unlock(&rpmsg_pru_lock);
-
-	if (ret)
-		dev_err(prudev->dev, "Device already open\n");
-
-	return ret;
-}
-
-static int rpmsg_pru_release(struct inode *inode, struct file *filp)
-{
-	struct rpmsg_pru_dev *prudev;
-
-	prudev = container_of(inode->i_cdev, struct rpmsg_pru_dev, cdev);
-	mutex_lock(&rpmsg_pru_lock);
-	prudev->locked = false;
-	mutex_unlock(&rpmsg_pru_lock);
-	return 0;
-}
-
-static ssize_t rpmsg_pru_read(struct file *filp, char __user *buf,
-			      size_t count, loff_t *f_pos)
-{
-	int ret;
-	u32 length;
-	struct rpmsg_pru_dev *prudev;
-
-	prudev = filp->private_data;
-
-	if (kfifo_is_empty(&prudev->msg_fifo) &&
-	    (filp->f_flags & O_NONBLOCK))
-		return -EAGAIN;
-
-	ret = wait_event_interruptible(prudev->wait_list,
-				       !kfifo_is_empty(&prudev->msg_fifo));
-	if (ret)
-		return -EINTR;
-
-	ret = kfifo_to_user(&prudev->msg_fifo, buf,
-			    prudev->msg_len[prudev->msg_idx_rd], &length);
-	prudev->msg_idx_rd = (prudev->msg_idx_rd + 1) % MAX_FIFO_MSG;
-
-	return ret ? ret : length;
-}
-
-static ssize_t rpmsg_pru_write(struct file *filp, const char __user *buf,
-			       size_t count, loff_t *f_pos)
-{
-	int ret;
-	struct rpmsg_pru_dev *prudev;
-	static char rpmsg_pru_buf[RPMSG_BUF_SIZE];
-
-	prudev = filp->private_data;
-
-	if (count > RPMSG_BUF_SIZE - sizeof(struct rpmsg_hdr)) {
-		dev_err(prudev->dev, "Data too large for RPMsg Buffer\n");
-		return -EINVAL;
-	}
-
-	if (copy_from_user(rpmsg_pru_buf, buf, count)) {
-		dev_err(prudev->dev, "Error copying buffer from user space");
-		return -EFAULT;
-	}
-
-	ret = rpmsg_send(prudev->rpdev->ept, (void *)rpmsg_pru_buf, count);
-	if (ret)
-		dev_err(prudev->dev, "rpmsg_send failed: %d\n", ret);
-
-	return ret ? ret : count;
-}
-
-static unsigned int rpmsg_pru_poll(struct file *filp,
-				   struct poll_table_struct *wait)
-{
-	int mask;
-	struct rpmsg_pru_dev *prudev;
-
-	prudev = filp->private_data;
-
-	poll_wait(filp, &prudev->wait_list, wait);
-
-	mask = POLLOUT | POLLWRNORM;
-
-	if (!kfifo_is_empty(&prudev->msg_fifo))
-		mask |= POLLIN | POLLRDNORM;
-
-	return mask;
-}
-
-static const struct file_operations rpmsg_pru_fops = {
-	.owner = THIS_MODULE,
-	.open = rpmsg_pru_open,
-	.release = rpmsg_pru_release,
-	.read = rpmsg_pru_read,
-	.write = rpmsg_pru_write,
-	.poll = rpmsg_pru_poll,
-};
-
-static int rpmsg_pru_cb(struct rpmsg_device *rpdev, void *data, int len,
-			void *priv, u32 src)
-{
-	u32 length;
-	struct rpmsg_pru_dev *prudev;
-
-	prudev = dev_get_drvdata(&rpdev->dev);
-
-	if (kfifo_avail(&prudev->msg_fifo) < len) {
-		dev_err(&rpdev->dev, "Not enough space on the FIFO\n");
-		return -ENOSPC;
-	}
-
-	if ((prudev->msg_idx_wr + 1) % MAX_FIFO_MSG ==
-		prudev->msg_idx_rd) {
-		dev_err(&rpdev->dev, "Message length table is full\n");
-		return -ENOSPC;
-	}
-
-	length = kfifo_in(&prudev->msg_fifo, data, len);
-	prudev->msg_len[prudev->msg_idx_wr] = length;
-	prudev->msg_idx_wr = (prudev->msg_idx_wr + 1) % MAX_FIFO_MSG;
-
-	wake_up_interruptible(&prudev->wait_list);
-
-	return 0;
-}
-
-static int rpmsg_pru_probe(struct rpmsg_device *rpdev)
-{
-	int ret;
-	struct rpmsg_pru_dev *prudev;
-	int minor_got;
-
-	prudev = devm_kzalloc(&rpdev->dev, sizeof(*prudev), GFP_KERNEL);
-	if (!prudev)
-		return -ENOMEM;
-
-	mutex_lock(&rpmsg_pru_lock);
-	minor_got = idr_alloc(&rpmsg_pru_minors, prudev, 0, PRU_MAX_DEVICES,
-			      GFP_KERNEL);
-	mutex_unlock(&rpmsg_pru_lock);
-	if (minor_got < 0) {
-		ret = minor_got;
-		dev_err(&rpdev->dev, "Failed to get a minor number for the rpmsg_pru device: %d\n",
-			ret);
-		goto fail_alloc_minor;
-	}
-
-	prudev->devt = MKDEV(MAJOR(rpmsg_pru_devt), minor_got);
-
-	cdev_init(&prudev->cdev, &rpmsg_pru_fops);
-	prudev->cdev.owner = THIS_MODULE;
-	ret = cdev_add(&prudev->cdev, prudev->devt, 1);
-	if (ret) {
-		dev_err(&rpdev->dev, "Unable to add cdev for the rpmsg_pru device\n");
-		goto fail_add_cdev;
-	}
-
-	prudev->dev = device_create(rpmsg_pru_class, &rpdev->dev, prudev->devt,
-				    NULL, "rpmsg_pru%d", rpdev->dst);
-	if (IS_ERR(prudev->dev)) {
-		dev_err(&rpdev->dev, "Unable to create the rpmsg_pru device\n");
-		ret = PTR_ERR(prudev->dev);
-		goto fail_create_device;
-	}
-
-	prudev->rpdev = rpdev;
-
-	ret = kfifo_alloc(&prudev->msg_fifo, MAX_FIFO_MSG * FIFO_MSG_SIZE,
-			  GFP_KERNEL);
-	if (ret) {
-		dev_err(&rpdev->dev, "Unable to allocate fifo for the rpmsg_pru device\n");
-		goto fail_alloc_fifo;
-	}
-
-	init_waitqueue_head(&prudev->wait_list);
-
-	dev_set_drvdata(&rpdev->dev, prudev);
-
-	dev_info(&rpdev->dev, "new rpmsg_pru device: /dev/rpmsg_pru%d",
-		 rpdev->dst);
-
-	return 0;
-
-fail_alloc_fifo:
-	device_destroy(rpmsg_pru_class, prudev->devt);
-fail_create_device:
-	cdev_del(&prudev->cdev);
-fail_add_cdev:
-	mutex_lock(&rpmsg_pru_lock);
-	idr_remove(&rpmsg_pru_minors, minor_got);
-	mutex_unlock(&rpmsg_pru_lock);
-fail_alloc_minor:
-	return ret;
-}
-
-static void rpmsg_pru_remove(struct rpmsg_device *rpdev)
-{
-	struct rpmsg_pru_dev *prudev;
-
-	prudev = dev_get_drvdata(&rpdev->dev);
-
-	kfifo_free(&prudev->msg_fifo);
-	device_destroy(rpmsg_pru_class, prudev->devt);
-	cdev_del(&prudev->cdev);
-	mutex_lock(&rpmsg_pru_lock);
-	idr_remove(&rpmsg_pru_minors, MINOR(prudev->devt));
-	mutex_unlock(&rpmsg_pru_lock);
-}
-
-/* .name matches on RPMsg Channels and causes a probe */
-static const struct rpmsg_device_id rpmsg_driver_pru_id_table[] = {
-	{ .name	= "rpmsg-pru" },
-	{ },
-};
-MODULE_DEVICE_TABLE(rpmsg, rpmsg_driver_pru_id_table);
-
-static struct rpmsg_driver rpmsg_pru_driver = {
-	.drv.name	= KBUILD_MODNAME,
-	.id_table	= rpmsg_driver_pru_id_table,
-	.probe		= rpmsg_pru_probe,
-	.callback	= rpmsg_pru_cb,
-	.remove		= rpmsg_pru_remove,
-};
-
-static int __init rpmsg_pru_init(void)
-{
-	int ret;
-
-	rpmsg_pru_class = class_create(THIS_MODULE, "rpmsg_pru");
-	if (IS_ERR(rpmsg_pru_class)) {
-		pr_err("Unable to create class\n");
-		ret = PTR_ERR(rpmsg_pru_class);
-		goto fail_create_class;
-	}
-
-	ret = alloc_chrdev_region(&rpmsg_pru_devt, 0, PRU_MAX_DEVICES,
-				  "rpmsg_pru");
-	if (ret) {
-		pr_err("Unable to allocate chrdev region\n");
-		goto fail_alloc_region;
-	}
-
-	ret = register_rpmsg_driver(&rpmsg_pru_driver);
-	if (ret) {
-		pr_err("Unable to register rpmsg driver");
-		goto fail_register_rpmsg_driver;
-	}
-
-	return 0;
-
-fail_register_rpmsg_driver:
-	unregister_chrdev_region(rpmsg_pru_devt, PRU_MAX_DEVICES);
-fail_alloc_region:
-	class_destroy(rpmsg_pru_class);
-fail_create_class:
-	return ret;
-}
-
-static void __exit rpmsg_pru_exit(void)
-{
-	unregister_rpmsg_driver(&rpmsg_pru_driver);
-	idr_destroy(&rpmsg_pru_minors);
-	mutex_destroy(&rpmsg_pru_lock);
-	class_destroy(rpmsg_pru_class);
-	unregister_chrdev_region(rpmsg_pru_devt, PRU_MAX_DEVICES);
-}
-
-module_init(rpmsg_pru_init);
-module_exit(rpmsg_pru_exit);
-
-MODULE_AUTHOR("Jason Reeder <jreeder@ti.com>");
-MODULE_ALIAS("rpmsg:rpmsg-pru");
-MODULE_DESCRIPTION("PRU Remote Processor Messaging Driver");
-MODULE_LICENSE("GPL v2");
diff --git a/books/pru-cookbook/05blocks/code/module/setup.sh b/books/pru-cookbook/05blocks/code/module/setup.sh
deleted file mode 100755
index 3b313b36..00000000
--- a/books/pru-cookbook/05blocks/code/module/setup.sh
+++ /dev/null
@@ -1 +0,0 @@
-insmod rpmsg_pru.ko
diff --git a/books/pru-cookbook/05blocks/code/neo-colors.py b/books/pru-cookbook/05blocks/code/neo-colors.py
deleted file mode 100755
index 736a47b3..00000000
--- a/books/pru-cookbook/05blocks/code/neo-colors.py
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/python3
-from time import sleep
-import math
-
-length = 24
-max = 25
-
-# Open a file
-fo = open("/dev/rpmsg_pru30", "wb", 0)
-
-colors = [[1,0,0],[1,1,0],[0,1,0],[0,1,1],[0,0,1],[1,0,1]]# colors = [[1,0,0],[1,0,0]]
-
-oldr=0
-oldb=0
-oldg=0
-
-while True:
-    for color in colors:
-        newr = color[0]
-        newg = color[1]
-        newb = color[2]
-        maxtime=20
-        for time in range(0, maxtime):
-            r = (max*oldr+(newr-oldr)*max*time/maxtime)
-            g = (max*oldg+(newg-oldg)*max*time/maxtime)
-            b = (max*oldb+(newb-oldb)*max*time/maxtime)
-            for i in range(0, length):
-                fo.write(b"%d %d %d %d\n" % (i, r, g, b))
-                # print("0 0 127 %d" % (i))
-            fo.write(b"-1 0 0 0\n");    # Send colors to LEDs
-            
-            # print (r,g,b)
-            
-            sleep(0.05)
-            
-        oldr=newr
-        oldg=newg
-        oldb=newb
-
-# Close opened file
-fo.close()
\ No newline at end of file
diff --git a/books/pru-cookbook/05blocks/code/neo-rainbow.py b/books/pru-cookbook/05blocks/code/neo-rainbow.py
deleted file mode 100755
index ffd706a6..00000000
--- a/books/pru-cookbook/05blocks/code/neo-rainbow.py
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/python3
-from time import sleep
-import math
-
-len = 24
-amp = 12
-f = 25
-shift = 3
-phase = 0
-
-# Open a file
-fo = open("/dev/rpmsg_pru30", "wb", 0)
-
-while True:
-    for i in range(0, len):
-        r = (amp * (math.sin(2*math.pi*f*(i-phase-0*shift)/len) + 1)) + 1;
-        g = (amp * (math.sin(2*math.pi*f*(i-phase-1*shift)/len) + 1)) + 1;
-        b = (amp * (math.sin(2*math.pi*f*(i-phase-2*shift)/len) + 1)) + 1;
-        fo.write(b"%d %d %d %d\n" % (i, r, g, b))
-        # print("0 0 127 %d" % (i))
-
-    fo.write(b"-1 0 0 0\n");
-    phase = phase + 1
-    sleep(0.05)
-
-# Close opened file
-fo.close()
\ No newline at end of file
diff --git a/books/pru-cookbook/05blocks/code/neo1.pru0.c b/books/pru-cookbook/05blocks/code/neo1.pru0.c
deleted file mode 100644
index 5f2ce824..00000000
--- a/books/pru-cookbook/05blocks/code/neo1.pru0.c
+++ /dev/null
@@ -1,44 +0,0 @@
-// Control a ws2812 (NeoPixel) display, All on or all off
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-#define STR_LEN 24
-#define	oneCyclesOn		700/5	// Stay on 700ns
-#define oneCyclesOff	800/5
-#define zeroCyclesOn	350/5
-#define zeroCyclesOff	600/5
-#define resetCycles		60000/5	// Must be at least 50u, use 60u
-#define gpio P9_29				// output pin
-
-#define ONE
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	uint32_t i;
-	for(i=0; i<STR_LEN*3*8; i++) {
-#ifdef ONE
-		__R30 |= gpio;		// Set the GPIO pin to 1
-		__delay_cycles(oneCyclesOn-1);
-		__R30 &= ~gpio;		// Clear the GPIO pin
-		__delay_cycles(oneCyclesOff-2);
-#else
-		__R30 |= gpio;		// Set the GPIO pin to 1
-		__delay_cycles(zeroCyclesOn-1);
-		__R30 &= ~gpio;		// Clear the GPIO pin
-		__delay_cycles(zeroCyclesOff-2);
-#endif
-	}
-	// Send Reset
-	__R30 &= ~gpio;	// Clear the GPIO pin
-	__delay_cycles(resetCycles);
-	
-	__halt();
-}
diff --git a/books/pru-cookbook/05blocks/code/neo1.pru1_1.c b/books/pru-cookbook/05blocks/code/neo1.pru1_1.c
deleted file mode 100644
index 2ad8d56d..00000000
--- a/books/pru-cookbook/05blocks/code/neo1.pru1_1.c
+++ /dev/null
@@ -1,44 +0,0 @@
-// Control a ws2812 (NeoPixel) display, All on or all off
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-#define STR_LEN 24
-#define	oneCyclesOn		700/5	// Stay on 700ns
-#define oneCyclesOff	800/5
-#define zeroCyclesOn	350/5
-#define zeroCyclesOff	600/5
-#define resetCycles		60000/5	// Must be at least 50u, use 60u
-#define gpio P9_16				// output pin
-
-#define ONE
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	uint32_t i;
-	for(i=0; i<STR_LEN*3*8; i++) {
-#ifdef ONE
-		__R30 |= gpio;		// Set the GPIO pin to 1
-		__delay_cycles(oneCyclesOn-1);
-		__R30 &= ~gpio;		// Clear the GPIO pin
-		__delay_cycles(oneCyclesOff-2);
-#else
-		__R30 |= gpio;		// Set the GPIO pin to 1
-		__delay_cycles(zeroCyclesOn-1);
-		__R30 &= ~gpio;		// Clear the GPIO pin
-		__delay_cycles(zeroCyclesOff-2);
-#endif
-	}
-	// Send Reset
-	__R30 &= ~gpio;	// Clear the GPIO pin
-	__delay_cycles(resetCycles);
-	
-	__halt();
-}
diff --git a/books/pru-cookbook/05blocks/code/neo2.pru0.c b/books/pru-cookbook/05blocks/code/neo2.pru0.c
deleted file mode 100644
index a30077ce..00000000
--- a/books/pru-cookbook/05blocks/code/neo2.pru0.c
+++ /dev/null
@@ -1,46 +0,0 @@
-// Control a ws2812 (neo pixel) display, green, red, blue, green, ...
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-#define STR_LEN 3
-#define	oneCyclesOn		700/5	// Stay on 700ns
-#define oneCyclesOff	800/5
-#define zeroCyclesOn	350/5
-#define zeroCyclesOff	600/5
-#define resetCycles		60000/5	// Must be at least 50u, use 60u
-#define gpio P9_29				// output pin
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-	
-	uint32_t color[STR_LEN] = {0x0f0000, 0x000f00, 0x0000f};	// green, red, blue
-	int i, j;
-
-	for(j=0; j<STR_LEN; j++) {
-		for(i=23; i>=0; i--) {
-			if(color[j] & (0x1<<i)) {
-				__R30 |= gpio;		// Set the GPIO pin to 1
-				__delay_cycles(oneCyclesOn-1);
-				__R30 &= ~gpio;		// Clear the GPIO pin
-				__delay_cycles(oneCyclesOff-2);
-			} else {
-				__R30 |= gpio;		// Set the GPIO pin to 1
-				__delay_cycles(zeroCyclesOn-1);
-				__R30 &= ~gpio;		// Clear the GPIO pin
-				__delay_cycles(zeroCyclesOff-2);
-			}
-		}
-	}
-	// Send Reset
-	__R30 &= ~gpio;	// Clear the GPIO pin
-	__delay_cycles(resetCycles);
-	
-	__halt();
-}
diff --git a/books/pru-cookbook/05blocks/code/neo2.pru1_1.c b/books/pru-cookbook/05blocks/code/neo2.pru1_1.c
deleted file mode 100644
index 6b243dcf..00000000
--- a/books/pru-cookbook/05blocks/code/neo2.pru1_1.c
+++ /dev/null
@@ -1,46 +0,0 @@
-// Control a ws2812 (neo pixel) display, green, red, blue, green, ...
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-#define STR_LEN 3
-#define	oneCyclesOn		700/5	// Stay on 700ns
-#define oneCyclesOff	800/5
-#define zeroCyclesOn	350/5
-#define zeroCyclesOff	600/5
-#define resetCycles		60000/5	// Must be at least 50u, use 60u
-#define gpio P9_16				// output pin
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-	
-	uint32_t color[STR_LEN] = {0x0f0000, 0x000f00, 0x0000f};	// green, red, blue
-	int i, j;
-
-	for(j=0; j<STR_LEN; j++) {
-		for(i=23; i>=0; i--) {
-			if(color[j] & (0x1<<i)) {
-				__R30 |= gpio;		// Set the GPIO pin to 1
-				__delay_cycles(oneCyclesOn-1);
-				__R30 &= ~gpio;		// Clear the GPIO pin
-				__delay_cycles(oneCyclesOff-2);
-			} else {
-				__R30 |= gpio;		// Set the GPIO pin to 1
-				__delay_cycles(zeroCyclesOn-1);
-				__R30 &= ~gpio;		// Clear the GPIO pin
-				__delay_cycles(zeroCyclesOff-2);
-			}
-		}
-	}
-	// Send Reset
-	__R30 &= ~gpio;	// Clear the GPIO pin
-	__delay_cycles(resetCycles);
-	
-	__halt();
-}
diff --git a/books/pru-cookbook/05blocks/code/neo3.pru0.c b/books/pru-cookbook/05blocks/code/neo3.pru0.c
deleted file mode 100644
index 8c1a9f13..00000000
--- a/books/pru-cookbook/05blocks/code/neo3.pru0.c
+++ /dev/null
@@ -1,67 +0,0 @@
-// Control a ws2812 (neo pixel) display, green, red, blue, green, ...
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-#define STR_LEN 24
-#define	oneCyclesOn		700/5	// Stay on 700ns
-#define oneCyclesOff	800/5
-#define zeroCyclesOn	350/5
-#define zeroCyclesOff	600/5
-#define resetCycles		60000/5	// Must be at least 50u, use 60u
-#define gpio P9_29				// output pin
-
-#define SPEED 20000000/5		// Time to wait between updates
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t background = 0x00000f;
-	uint32_t foreground = 0x000f00;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-	
-	uint32_t color[STR_LEN];	// green, red, blue
-	int i, j;
-	int k, oldk = 0;;
-	// Set everything to background
-	for(i=0; i<STR_LEN; i++) {
-		color[i] = background;
-	}
-	
-	while(1) {
-		// Move forward one position
-		for(k=0; k<STR_LEN; k++) {
-			color[oldk] = background;
-			color[k]    = foreground;
-			oldk=k;
-
-			// Output the string
-			for(j=0; j<STR_LEN; j++) {
-				for(i=23; i>=0; i--) {
-					if(color[j] & (0x1<<i)) {
-						__R30 |= gpio;		// Set the GPIO pin to 1
-						__delay_cycles(oneCyclesOn-1);
-						__R30 &= ~gpio;		// Clear the GPIO pin
-						__delay_cycles(oneCyclesOff-2);
-					} else {
-						__R30 |= gpio;		// Set the GPIO pin to 1
-						__delay_cycles(zeroCyclesOn-1);
-						__R30 &= ~gpio;		// Clear the GPIO pin
-						__delay_cycles(zeroCyclesOff-2);
-					}
-				}
-			}
-			// Send Reset
-			__R30 &= ~gpio;	// Clear the GPIO pin
-			__delay_cycles(resetCycles);
-
-			// Wait
-			__delay_cycles(SPEED);
-		}
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/neo3.pru1_1.c b/books/pru-cookbook/05blocks/code/neo3.pru1_1.c
deleted file mode 100644
index ee8dd638..00000000
--- a/books/pru-cookbook/05blocks/code/neo3.pru1_1.c
+++ /dev/null
@@ -1,67 +0,0 @@
-// Control a ws2812 (neo pixel) display, green, red, blue, green, ...
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-#define STR_LEN 24
-#define	oneCyclesOn		700/5	// Stay on 700ns
-#define oneCyclesOff	800/5
-#define zeroCyclesOn	350/5
-#define zeroCyclesOff	600/5
-#define resetCycles		60000/5	// Must be at least 50u, use 60u
-#define gpio P9_16				// output pin
-
-#define SPEED 20000000/5		// Time to wait between updates
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t background = 0x00000f;
-	uint32_t foreground = 0x000f00;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-	
-	uint32_t color[STR_LEN];	// green, red, blue
-	int i, j;
-	int k, oldk = 0;;
-	// Set everything to background
-	for(i=0; i<STR_LEN; i++) {
-		color[i] = background;
-	}
-	
-	while(1) {
-		// Move forward one position
-		for(k=0; k<STR_LEN; k++) {
-			color[oldk] = background;
-			color[k]    = foreground;
-			oldk=k;
-
-			// Output the string
-			for(j=0; j<STR_LEN; j++) {
-				for(i=23; i>=0; i--) {
-					if(color[j] & (0x1<<i)) {
-						__R30 |= gpio;		// Set the GPIO pin to 1
-						__delay_cycles(oneCyclesOn-1);
-						__R30 &= ~gpio;		// Clear the GPIO pin
-						__delay_cycles(oneCyclesOff-2);
-					} else {
-						__R30 |= gpio;		// Set the GPIO pin to 1
-						__delay_cycles(zeroCyclesOn-1);
-						__R30 &= ~gpio;		// Clear the GPIO pin
-						__delay_cycles(zeroCyclesOff-2);
-					}
-				}
-			}
-			// Send Reset
-			__R30 &= ~gpio;	// Clear the GPIO pin
-			__delay_cycles(resetCycles);
-
-			// Wait
-			__delay_cycles(SPEED);
-		}
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/neo4.pru0.c b/books/pru-cookbook/05blocks/code/neo4.pru0.c
deleted file mode 100644
index 7fb54557..00000000
--- a/books/pru-cookbook/05blocks/code/neo4.pru0.c
+++ /dev/null
@@ -1,145 +0,0 @@
-// Use rpmsg to control the NeoPixels via /dev/rpmsg_pru30
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>			// atoi
-#include <string.h>
-#include <pru_cfg.h>
-#include <pru_intc.h>
-#include <rsc_types.h>
-#include <pru_rpmsg.h>
-#include "resource_table_0.h"
-#include "prugpio.h"
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-/* Host-0 Interrupt sets bit 30 in register R31 */
-#define HOST_INT			((uint32_t) 1 << 30)	
-
-/* The PRU-ICSS system events used for RPMsg are defined in the Linux device tree
- * PRU0 uses system event 16 (To ARM) and 17 (From ARM)
- * PRU1 uses system event 18 (To ARM) and 19 (From ARM)
- */
-#define TO_ARM_HOST			16	
-#define FROM_ARM_HOST		17
-
-/*
-* Using the name 'rpmsg-pru' will probe the rpmsg_pru driver found
-* at linux-x.y.z/drivers/rpmsg/rpmsg_pru.c
-*/
-#define CHAN_NAME			"rpmsg-pru"
-#define CHAN_DESC			"Channel 30"
-#define CHAN_PORT			30
-
-/*
- * Used to make sure the Linux drivers are ready for RPMsg communication
- * Found at linux-x.y.z/include/uapi/linux/virtio_config.h
- */
-#define VIRTIO_CONFIG_S_DRIVER_OK	4
-
-char payload[RPMSG_BUF_SIZE];
-
-#define STR_LEN 24
-#define	oneCyclesOn		700/5	// Stay on for 700ns
-#define oneCyclesOff	600/5
-#define zeroCyclesOn	350/5
-#define zeroCyclesOff	800/5
-#define resetCycles		51000/5	// Must be at least 50u, use 51u
-#define out P9_29				// Bit number to output on
-
-#define SPEED 20000000/5		// Time to wait between updates
-
-uint32_t color[STR_LEN];	// green, red, blue
-
-/*
- * main.c
- */
-void main(void)
-{
-	struct pru_rpmsg_transport transport;
-	uint16_t src, dst, len;
-	volatile uint8_t *status;
-	
-	uint8_t r, g, b;
-	int i, j;
-	// Set everything to background
-	for(i=0; i<STR_LEN; i++) {
-		color[i] = 0x010000;
-	}
-
-	/* Allow OCP master port access by the PRU so the PRU can read external memories */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	/* Clear the status of the PRU-ICSS system event that the ARM will use to 'kick' us */
-#ifdef CHIP_IS_am57xx
-	CT_INTC.SICR_bit.STATUS_CLR_INDEX = FROM_ARM_HOST;
-#else
-	CT_INTC.SICR_bit.STS_CLR_IDX = FROM_ARM_HOST;
-#endif
-
-	/* Make sure the Linux drivers are ready for RPMsg communication */
-	status = &resourceTable.rpmsg_vdev.status;
-	while (!(*status & VIRTIO_CONFIG_S_DRIVER_OK));
-
-	/* Initialize the RPMsg transport structure */
-	pru_rpmsg_init(&transport, &resourceTable.rpmsg_vring0, &resourceTable.rpmsg_vring1, TO_ARM_HOST, FROM_ARM_HOST);
-
-	/* Create the RPMsg channel between the PRU and ARM user space using the transport structure. */
-	while (pru_rpmsg_channel(RPMSG_NS_CREATE, &transport, CHAN_NAME, CHAN_DESC, CHAN_PORT) != PRU_RPMSG_SUCCESS);
-	while (1) {
-		/* Check bit 30 of register R31 to see if the ARM has kicked us */
-		if (__R31 & HOST_INT) {
-			/* Clear the event status */
-#ifdef CHIP_IS_am57xx
-			CT_INTC.SICR_bit.STATUS_CLR_INDEX = FROM_ARM_HOST;
-#else
-			CT_INTC.SICR_bit.STS_CLR_IDX = FROM_ARM_HOST;
-#endif
-			/* Receive all available messages, multiple messages can be sent per kick */
-			while (pru_rpmsg_receive(&transport, &src, &dst, payload, &len) == PRU_RPMSG_SUCCESS) {
-			    char *ret;	// rest of payload after front character is removed
-			    int index;	// index of LED to control
-			    // Input format is:  index red green blue
-			    index = atoi(payload);	
-			    // Update the array, but don't write it out.
-			    if((index >=0) & (index < STR_LEN)) {
-			    	ret = strchr(payload, ' ');	// Skip over index
-				    r = strtol(&ret[1], NULL, 0);
-				    ret = strchr(&ret[1], ' ');	// Skip over r, etc.
-				    g = strtol(&ret[1], NULL, 0);
-				    ret = strchr(&ret[1], ' ');
-				    b = strtol(&ret[1], NULL, 0);
-
-				    color[index] = (g<<16)|(r<<8)|b;	// String wants GRB
-			    }
-			    // When index is -1, send the array to the LED string
-			    if(index == -1) {
-				    // Output the string
-					for(j=0; j<STR_LEN; j++) {
-						// Cycle through each bit
-						for(i=23; i>=0; i--) {
-							if(color[j] & (0x1<<i)) {
-								__R30 |= out;		// Set the GPIO pin to 1
-								__delay_cycles(oneCyclesOn-1);
-								__R30 &= ~out;	// Clear the GPIO pin
-								__delay_cycles(oneCyclesOff-14);
-							} else {
-								__R30 |= out;		// Set the GPIO pin to 1
-								__delay_cycles(zeroCyclesOn-1);
-								__R30 &= ~(out);	// Clear the GPIO pin
-								__delay_cycles(zeroCyclesOff-14);
-							}
-						}
-					}
-					// Send Reset
-					__R30 &= ~out;	// Clear the GPIO pin
-					__delay_cycles(resetCycles);
-		
-					// Wait
-					__delay_cycles(SPEED);
-			    }
-
-			}
-		}
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/neo4.pru1_1.c b/books/pru-cookbook/05blocks/code/neo4.pru1_1.c
deleted file mode 100644
index 7c120937..00000000
--- a/books/pru-cookbook/05blocks/code/neo4.pru1_1.c
+++ /dev/null
@@ -1,145 +0,0 @@
-// Use rpmsg to control the NeoPixels via /dev/rpmsg_pru30
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>			// atoi
-#include <string.h>
-#include <pru_cfg.h>
-#include <pru_intc.h>
-#include <rsc_types.h>
-#include <pru_rpmsg.h>
-#include "resource_table_1.h"
-#include "prugpio.h"
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-/* Host-1 Interrupt sets bit 31 in register R31 */
-#define HOST_INT			((uint32_t) 1 << 31)	
-
-/* The PRU-ICSS system events used for RPMsg are defined in the Linux device tree
- * PRU0 uses system event 16 (To ARM) and 17 (From ARM)
- * PRU1 uses system event 18 (To ARM) and 19 (From ARM)
- */
-#define TO_ARM_HOST			18	
-#define FROM_ARM_HOST		19
-
-/*
-* Using the name 'rpmsg-pru' will probe the rpmsg_pru driver found
-* at linux-x.y.z/drivers/rpmsg/rpmsg_pru.c
-*/
-#define CHAN_NAME			"rpmsg-pru"
-#define CHAN_DESC			"Channel 31"
-#define CHAN_PORT			31
-
-/*
- * Used to make sure the Linux drivers are ready for RPMsg communication
- * Found at linux-x.y.z/include/uapi/linux/virtio_config.h
- */
-#define VIRTIO_CONFIG_S_DRIVER_OK	4
-
-char payload[RPMSG_BUF_SIZE];
-
-#define STR_LEN 24
-#define	oneCyclesOn		700/5	// Stay on for 700ns
-#define oneCyclesOff	600/5
-#define zeroCyclesOn	350/5
-#define zeroCyclesOff	800/5
-#define resetCycles		51000/5	// Must be at least 50u, use 51u
-#define out P9_16					// Bit number to output on
-
-#define SPEED 20000000/5		// Time to wait between updates
-
-uint32_t color[STR_LEN];	// green, red, blue
-
-/*
- * main.c
- */
-void main(void)
-{
-	struct pru_rpmsg_transport transport;
-	uint16_t src, dst, len;
-	volatile uint8_t *status;
-	
-	uint8_t r, g, b;
-	int i, j;
-	// Set everything to background
-	for(i=0; i<STR_LEN; i++) {
-		color[i] = 0x010000;
-	}
-
-	/* Allow OCP master port access by the PRU so the PRU can read external memories */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	/* Clear the status of the PRU-ICSS system event that the ARM will use to 'kick' us */
-#ifdef CHIP_IS_am57xx
-	CT_INTC.SICR_bit.STATUS_CLR_INDEX = FROM_ARM_HOST;
-#else
-	CT_INTC.SICR_bit.STS_CLR_IDX = FROM_ARM_HOST;
-#endif
-
-	/* Make sure the Linux drivers are ready for RPMsg communication */
-	status = &resourceTable.rpmsg_vdev.status;
-	while (!(*status & VIRTIO_CONFIG_S_DRIVER_OK));
-
-	/* Initialize the RPMsg transport structure */
-	pru_rpmsg_init(&transport, &resourceTable.rpmsg_vring0, &resourceTable.rpmsg_vring1, TO_ARM_HOST, FROM_ARM_HOST);
-
-	/* Create the RPMsg channel between the PRU and ARM user space using the transport structure. */
-	while (pru_rpmsg_channel(RPMSG_NS_CREATE, &transport, CHAN_NAME, CHAN_DESC, CHAN_PORT) != PRU_RPMSG_SUCCESS);
-	while (1) {
-		/* Check bit 30 of register R31 to see if the ARM has kicked us */
-		if (__R31 & HOST_INT) {
-			/* Clear the event status */
-#ifdef CHIP_IS_am57xx
-			CT_INTC.SICR_bit.STATUS_CLR_INDEX = FROM_ARM_HOST;
-#else
-			CT_INTC.SICR_bit.STS_CLR_IDX = FROM_ARM_HOST;
-#endif
-			/* Receive all available messages, multiple messages can be sent per kick */
-			while (pru_rpmsg_receive(&transport, &src, &dst, payload, &len) == PRU_RPMSG_SUCCESS) {
-			    char *ret;	// rest of payload after front character is removed
-			    int index;	// index of LED to control
-			    // Input format is:  index red green blue
-			    index = atoi(payload);	
-			    // Update the array, but don't write it out.
-			    if((index >=0) & (index < STR_LEN)) {
-			    	ret = strchr(payload, ' ');	// Skip over index
-				    r = strtol(&ret[1], NULL, 0);
-				    ret = strchr(&ret[1], ' ');	// Skip over r, etc.
-				    g = strtol(&ret[1], NULL, 0);
-				    ret = strchr(&ret[1], ' ');
-				    b = strtol(&ret[1], NULL, 0);
-
-				    color[index] = (g<<16)|(r<<8)|b;	// String wants GRB
-			    }
-			    // When index is -1, send the array to the LED string
-			    if(index == -1) {
-				    // Output the string
-					for(j=0; j<STR_LEN; j++) {
-						// Cycle through each bit
-						for(i=23; i>=0; i--) {
-							if(color[j] & (0x1<<i)) {
-								__R30 |= out;		// Set the GPIO pin to 1
-								__delay_cycles(oneCyclesOn-1);
-								__R30 &= ~out;	// Clear the GPIO pin
-								__delay_cycles(oneCyclesOff-14);
-							} else {
-								__R30 |= out;		// Set the GPIO pin to 1
-								__delay_cycles(zeroCyclesOn-1);
-								__R30 &= ~(out);	// Clear the GPIO pin
-								__delay_cycles(zeroCyclesOff-14);
-							}
-						}
-					}
-					// Send Reset
-					__R30 &= ~out;	// Clear the GPIO pin
-					__delay_cycles(resetCycles);
-		
-					// Wait
-					__delay_cycles(SPEED);
-			    }
-
-			}
-		}
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/neo_setup.sh b/books/pru-cookbook/05blocks/code/neo_setup.sh
deleted file mode 100755
index 8f98cbb2..00000000
--- a/books/pru-cookbook/05blocks/code/neo_setup.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-#
-export TARGET=neo1.pru0
-echo TARGET=$TARGET
-
-# Configure the PRU pins based on which Beagle is running
-machine=$(awk '{print $NF}' /proc/device-tree/model)
-echo -n $machine
-if [ $machine = "Black" ]; then
-    echo " Found"
-    pins="P9_29 "
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    pins="P1_33"
-else
-    echo " Not Found"
-    pins=""
-fi
-
-for pin in $pins
-do
-    echo $pin
-    config-pin $pin pruout
-    config-pin -q $pin
-done
diff --git a/books/pru-cookbook/05blocks/code/pwm-test.c b/books/pru-cookbook/05blocks/code/pwm-test.c
deleted file mode 100644
index 3bff5f71..00000000
--- a/books/pru-cookbook/05blocks/code/pwm-test.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/* 
- *
- *  pwm tester
- *	The on cycle and off cycles are stored in each PRU's Data memory
- *
- */
-
-#include <stdio.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-
-#define MAXCH 4
-
-#define PRU_ADDR		0x4A300000		// Start of PRU memory Page 184 am335x TRM
-#define PRU_LEN			0x80000			// Length of PRU memory
-#define PRU0_DRAM		0x00000			// Offset to DRAM
-#define PRU1_DRAM		0x02000
-#define PRU_SHAREDMEM	0x10000			// Offset to shared memory
-
-unsigned int	*pru0DRAM_32int_ptr;		// Points to the start of local DRAM
-unsigned int	*pru1DRAM_32int_ptr;		// Points to the start of local DRAM
-unsigned int	*prusharedMem_32int_ptr;	// Points to the start of the shared memory
-
-/*******************************************************************************
-* int start_pwm_count(int ch, int countOn, int countOff)
-* 
-* Starts a pwm pulse on for countOn and off for countOff to a single channel (ch)
-*******************************************************************************/
-int start_pwm_count(int ch, int countOn, int countOff) {
-	unsigned int *pruDRAM_32int_ptr = pru0DRAM_32int_ptr;
-	
-	printf("countOn: %d, countOff: %d, count: %d\n", 
-		countOn, countOff, countOn+countOff);
-	// write to PRU shared memory
-	pruDRAM_32int_ptr[2*(ch)+0] = countOn;	// On time
-	pruDRAM_32int_ptr[2*(ch)+1] = countOff;	// Off time
-	return 0;
-}
-
-int main(int argc, char *argv[])
-{
-	unsigned int	*pru;		// Points to start of PRU memory.
-	int	fd;
-	printf("Servo tester\n");
-	
-	fd = open ("/dev/mem", O_RDWR | O_SYNC);
-	if (fd == -1) {
-		printf ("ERROR: could not open /dev/mem.\n\n");
-		return 1;
-	}
-	pru = mmap (0, PRU_LEN, PROT_READ | PROT_WRITE, MAP_SHARED, fd, PRU_ADDR);
-	if (pru == MAP_FAILED) {
-		printf ("ERROR: could not map memory.\n\n");
-		return 1;
-	}
-	close(fd);
-	printf ("Using /dev/mem.\n");
-	
-	pru0DRAM_32int_ptr =     pru + PRU0_DRAM/4 + 0x200/4;	// Points to 0x200 of PRU0 memory
-	pru1DRAM_32int_ptr =     pru + PRU1_DRAM/4 + 0x200/4;	// Points to 0x200 of PRU1 memory
-	prusharedMem_32int_ptr = pru + PRU_SHAREDMEM/4;	// Points to start of shared memory
-
-	int i;
-	for(i=0; i<MAXCH; i++) {
-		start_pwm_count(i, i+1, 20-(i+1));
-	}
-	
-	if(munmap(pru, PRU_LEN)) {
-		printf("munmap failed\n");
-	} else {
-		printf("munmap succeeded\n");
-	}
-}
-
diff --git a/books/pru-cookbook/05blocks/code/pwm1.pru0.c b/books/pru-cookbook/05blocks/code/pwm1.pru0.c
deleted file mode 100644
index 2ea5caa1..00000000
--- a/books/pru-cookbook/05blocks/code/pwm1.pru0.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t gpio = P9_31;	// Select which pin to toggle.;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	while(1) {
-		__R30 |= gpio;		// Set the GPIO pin to 1
-		__delay_cycles(100000000);
-		__R30 &= ~gpio;		// Clear the GPIO pin
-		__delay_cycles(100000000);
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/pwm1.pru1_1.c b/books/pru-cookbook/05blocks/code/pwm1.pru1_1.c
deleted file mode 100644
index 1f8b737e..00000000
--- a/books/pru-cookbook/05blocks/code/pwm1.pru1_1.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t gpio = P9_16;	// Select which pin to toggle.;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	while(1) {
-		__R30 |= gpio;		// Set the GPIO pin to 1
-		__delay_cycles(100000000);
-		__R30 &= ~gpio;		// Clear the GPIO pin
-		__delay_cycles(100000000);
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/pwm2.pru0.c b/books/pru-cookbook/05blocks/code/pwm2.pru0.c
deleted file mode 100644
index bfa0d076..00000000
--- a/books/pru-cookbook/05blocks/code/pwm2.pru0.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t gpio = P9_31;	// Select which pin to toggle.;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	while (1) {
-		__R30 |= gpio;		// Set the GPIO pin to 1
-		__delay_cycles(1);	// Delay one cycle to correct for loop time
-		__R30 &= ~gpio;		// Clear the GPIO pin
-		__delay_cycles(0);
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/pwm3.pru0.c b/books/pru-cookbook/05blocks/code/pwm3.pru0.c
deleted file mode 100644
index 4b2955a0..00000000
--- a/books/pru-cookbook/05blocks/code/pwm3.pru0.c
+++ /dev/null
@@ -1,43 +0,0 @@
-// This code does MAXCH parallel PWM channels.
-// It's period is 3 us
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-
-#define MAXCH	4	// Maximum number of channels
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t ch;
-	uint32_t on[] = {1, 2, 3, 4};	// Number of cycles to stay on
-	uint32_t off[] = {4, 3, 2, 1};	// Number to stay off
-	uint32_t onCount[MAXCH];		// Current count
-	uint32_t offCount[MAXCH];
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	// Initialize the channel counters.
-	for(ch=0; ch<MAXCH; ch++) {
-		onCount[ch] = on[ch];
-		offCount[ch]= off[ch];
-	}
-
-	while (1) {
-		for(ch=0; ch<MAXCH; ch++) {
-			if(onCount[ch]) {
-				onCount[ch]--;
-				__R30 |= 0x1<<ch;		// Set the GPIO pin to 1
-			} else if(offCount[ch]) {
-				offCount[ch]--;
-				__R30 &= ~(0x1<<ch);		// Clear the GPIO pin
-			} else {
-				onCount[ch] = on[ch];
-				offCount[ch]= off[ch];
-			}
-		}
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/pwm4.pru0.c b/books/pru-cookbook/05blocks/code/pwm4.pru0.c
deleted file mode 100644
index ee0f7ec6..00000000
--- a/books/pru-cookbook/05blocks/code/pwm4.pru0.c
+++ /dev/null
@@ -1,50 +0,0 @@
-// This code does MAXCH parallel PWM channels.
-// It's period is 3 us
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-
-#define PRU0_DRAM		0x00000			// Offset to DRAM
-// Skip the first 0x200 byte of DRAM since the Makefile allocates
-// 0x100 for the STACK and 0x100 for the HEAP.
-volatile unsigned int *pru0_dram = (unsigned int *) (PRU0_DRAM + 0x200);
-
-#define MAXCH	4	// Maximum number of channels per PRU
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t ch;
-	uint32_t on[]  = {1, 2, 3, 4};	// Number of cycles to stay on
-	uint32_t off[] = {4, 3, 2, 1};	// Number to stay off
-	uint32_t onCount[MAXCH];		// Current count
-	uint32_t offCount[MAXCH];
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	// Initialize the channel counters.
-	for(ch=0; ch<MAXCH; ch++) {
-		pru0_dram[2*ch  ] = on[ch];		// Copy to DRAM0 so the ARM can change it
-		pru0_dram[2*ch+1] = off[ch];	// Interleave the on and off values
-		onCount[ch] = on[ch];
-		offCount[ch]= off[ch];
-	}
-
-	while (1) {
-		for(ch=0; ch<MAXCH; ch++) {
-			if(onCount[ch]) {
-				onCount[ch]--;
-				__R30 |= 0x1<<ch;		// Set the GPIO pin to 1
-			} else if(offCount[ch]) {
-				offCount[ch]--;
-				__R30 &= ~(0x1<<ch);	// Clear the GPIO pin
-			} else {
-				onCount[ch] = pru0_dram[2*ch];		// Read from DRAM0
-				offCount[ch]= pru0_dram[2*ch+1];
-			}
-		}
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/pwm5.pru0.c b/books/pru-cookbook/05blocks/code/pwm5.pru0.c
deleted file mode 100644
index 60a97b81..00000000
--- a/books/pru-cookbook/05blocks/code/pwm5.pru0.c
+++ /dev/null
@@ -1,53 +0,0 @@
-// This code does MAXCH parallel PWM channels.
-// It's period is 510ns.
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-
-#define PRU0_DRAM		0x00000			// Offset to DRAM
-// Skip the first 0x200 byte of DRAM since the Makefile allocates
-// 0x100 for the STACK and 0x100 for the HEAP.
-volatile unsigned int *pru0_dram = (unsigned int *) (PRU0_DRAM + 0x200);
-
-#define MAXCH	4	// Maximum number of channels per PRU
-
-#define update(ch) \
-			if(onCount[ch]) {			\
-				onCount[ch]--;			\
-				__R30 |= 0x1<<ch;		\
-			} else if(offCount[ch]) {	\
-				offCount[ch]--;			\
-				__R30 &= ~(0x1<<ch);	\
-			} else {					\
-				onCount[ch] = pru0_dram[2*ch];	\
-				offCount[ch]= pru0_dram[2*ch+1];	\
-			}
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t ch;
-	uint32_t on[]  = {1, 2, 3, 4};
-	uint32_t off[] = {4, 3, 2, 1};
-	uint32_t onCount[MAXCH], offCount[MAXCH];
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-#pragma UNROLL(MAXCH)
-	for(ch=0; ch<MAXCH; ch++) {
-		pru0_dram[2*ch  ] = on[ch];		// Copy to DRAM0 so the ARM can change it
-		pru0_dram[2*ch+1] = off[ch];	// Interleave the on and off values
-		onCount[ch] = on[ch];
-		offCount[ch]= off[ch];
-	}
-
-	while (1) {
-		update(0)
-		update(1)
-		update(2)
-		update(3)
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/pwm6.pru0.c b/books/pru-cookbook/05blocks/code/pwm6.pru0.c
deleted file mode 100644
index 6df321f5..00000000
--- a/books/pru-cookbook/05blocks/code/pwm6.pru0.c
+++ /dev/null
@@ -1,56 +0,0 @@
-// This code does MAXCH parallel PWM channels.
-// All channels start at the same time. It's period is 510ns
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-
-#define PRU0_DRAM		0x00000			// Offset to DRAM
-// Skip the first 0x200 byte of DRAM since the Makefile allocates
-// 0x100 for the STACK and 0x100 for the HEAP.
-volatile unsigned int *pru0_dram = (unsigned int *) (PRU0_DRAM + 0x200);
-
-#define MAXCH	4	// Maximum number of channels per PRU
-
-#define update(ch) \
-			if(onCount[ch]) {			\
-				onCount[ch]--;			\
-				Rtmp |= 0x1<<ch;		\
-			} else if(offCount[ch]) {	\
-				offCount[ch]--;			\
-				Rtmp &= ~(0x1<<ch);	\
-			} else {					\
-				onCount[ch] = pru0_dram[2*ch];	\
-				offCount[ch]= pru0_dram[2*ch+1];	\
-			}
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t ch;
-	uint32_t on[]  = {1, 2, 3, 4};
-	uint32_t off[] = {4, 3, 2, 1};
-	uint32_t onCount[MAXCH], offCount[MAXCH];
-	register uint32_t Rtmp;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-#pragma UNROLL(MAXCH)
-	for(ch=0; ch<MAXCH; ch++) {
-		pru0_dram[2*ch  ] = on[ch];		// Copy to DRAM0 so the ARM can change it
-		pru0_dram[2*ch+1] = off[ch];	// Interleave the on and off values
-		onCount[ch] = on[ch];
-		offCount[ch]= off[ch];
-	}
-	Rtmp = __R30;
-
-	while (1) {
-		update(0)
-		update(1)
-		update(2)
-		update(3)
-		__R30 = Rtmp;
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/pwm7-test.c b/books/pru-cookbook/05blocks/code/pwm7-test.c
deleted file mode 100644
index cbb67698..00000000
--- a/books/pru-cookbook/05blocks/code/pwm7-test.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* 
- *
- *  pwm tester
- *  (c) Copyright 2016
- *  Mark A. Yoder, 20-July-2016
- *	The channels 0-11 are on PRU1 and channels 12-17 are on PRU0
- *	The period and duty cycle values are stored in each PRU's Data memory
- *	The enable bits are stored in the shared memory
- *
- */
-
-#include <stdio.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-
-#define MAXCH 2
-
-#define PRU_ADDR		0x4A300000		// Start of PRU memory Page 184 am335x TRM
-#define PRU_LEN			0x80000			// Length of PRU memory
-#define PRU0_DRAM		0x00000			// Offset to DRAM
-#define PRU1_DRAM		0x02000
-#define PRU_SHAREDMEM	0x10000			// Offset to shared memory
-
-unsigned int	*pru0DRAM_32int_ptr;		// Points to the start of local DRAM
-unsigned int	*pru1DRAM_32int_ptr;		// Points to the start of local DRAM
-unsigned int	*prusharedMem_32int_ptr;	// Points to the start of the shared memory
-
-/*******************************************************************************
-* int start_pwm_count(int ch, int countOn, int countOff)
-* 
-* Starts a pwm pulse on for countOn and off for countOff to a single channel (ch)
-*******************************************************************************/
-int start_pwm_count(int ch, int countOn, int countOff, unsigned int *ptr) {
-	unsigned int *pruDRAM_32int_ptr = ptr;
-	
-	printf("countOn: %d, countOff: %d, count: %d\n", 
-		countOn, countOff, countOn+countOff);
-	// write to PRU shared memory
-	pruDRAM_32int_ptr[2*(ch)+0] = countOn;	// On time
-	pruDRAM_32int_ptr[2*(ch)+1] = countOff;	// Off time
-	return 0;
-}
-
-int main(int argc, char *argv[])
-{
-	unsigned int	*pru;		// Points to start of PRU memory.
-	int	fd;
-	printf("Servo tester\n");
-	
-	fd = open ("/dev/mem", O_RDWR | O_SYNC);
-	if (fd == -1) {
-		printf ("ERROR: could not open /dev/mem.\n\n");
-		return 1;
-	}
-	pru = mmap (0, PRU_LEN, PROT_READ | PROT_WRITE, MAP_SHARED, fd, PRU_ADDR);
-	if (pru == MAP_FAILED) {
-		printf ("ERROR: could not map memory.\n\n");
-		return 1;
-	}
-	close(fd);
-	printf ("Using /dev/mem.\n");
-	
-	pru0DRAM_32int_ptr =     pru + PRU0_DRAM/4 + 0x200/4;	// Points to 0x200 of PRU0 memory
-	pru1DRAM_32int_ptr =     pru + PRU1_DRAM/4 + 0x200/4;	// Points to 0x200 of PRU1 memory
-	prusharedMem_32int_ptr = pru + PRU_SHAREDMEM/4;	// Points to start of shared memory
-
-
-	int on[]  = {1, 2, 3, 4};
-	int off[] = {4, 3, 2, 1};
-
-	int ch;
-	for(ch=0; ch<MAXCH; ch++) {
-		start_pwm_count(ch, on[ch],       off[ch],       pru0DRAM_32int_ptr);
-		start_pwm_count(ch, on[ch+MAXCH], off[ch+MAXCH], pru1DRAM_32int_ptr);
-	}
-	
-	if(munmap(pru, PRU_LEN)) {
-		printf("munmap failed\n");
-	} else {
-		printf("munmap succeeded\n");
-	}
-}
-
diff --git a/books/pru-cookbook/05blocks/code/pwm7.pru0.c b/books/pru-cookbook/05blocks/code/pwm7.pru0.c
deleted file mode 100644
index b95c5caa..00000000
--- a/books/pru-cookbook/05blocks/code/pwm7.pru0.c
+++ /dev/null
@@ -1,57 +0,0 @@
-// This code does MAXCH parallel PWM channels on both PRU 0 and PRU 1
-// All channels start at the same time. But the PRU 1 ch have a difference period
-// It's period is 370ns
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-
-#define PRUNUM 0
-
-#define PRU0_DRAM		0x00000			// Offset to DRAM
-// Skip the first 0x200 byte of DRAM since the Makefile allocates
-// 0x100 for the STACK and 0x100 for the HEAP.
-volatile unsigned int *pru0_dram = (unsigned int *) (PRU0_DRAM + 0x200);
-
-#define MAXCH	2	// Maximum number of channels per PRU
-
-#define update(ch) \
-			if(onCount[ch]) {			\
-				onCount[ch]--;			\
-				Rtmp |= 0x1<<ch;		\
-			} else if(offCount[ch]) {	\
-				offCount[ch]--;			\
-				Rtmp &= ~(0x1<<ch);	\
-			} else {					\
-				onCount[ch] = pru0_dram[2*ch];	\
-				offCount[ch]= pru0_dram[2*ch+1];	\
-			}
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t ch;
-	uint32_t on[]  = {1, 2, 3, 4};
-	uint32_t off[] = {4, 3, 2, 1};
-	uint32_t onCount[MAXCH], offCount[MAXCH];
-	register uint32_t Rtmp;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-#pragma UNROLL(MAXCH)
-	for(ch=0; ch<MAXCH; ch++) {
-		pru0_dram[2*ch  ] = on [ch+PRUNUM*MAXCH];	// Copy to DRAM0 so the ARM can change it
-		pru0_dram[2*ch+1] = off[ch+PRUNUM*MAXCH];	// Interleave the on and off values
-		onCount[ch] = on [ch+PRUNUM*MAXCH];
-		offCount[ch]= off[ch+PRUNUM*MAXCH];
-	}
-	Rtmp = __R30;
-
-	while (1) {
-		update(0)
-		update(1)
-		__R30 = Rtmp;
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/pwm7.pru1.c b/books/pru-cookbook/05blocks/code/pwm7.pru1.c
deleted file mode 100644
index 50d4788b..00000000
--- a/books/pru-cookbook/05blocks/code/pwm7.pru1.c
+++ /dev/null
@@ -1,57 +0,0 @@
-// This code does MAXCH parallel PWM channels on both PRU 0 and PRU 1
-// All channels start at the same time. But the PRU 1 ch have a difference period
-// It's period is 370ns
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-
-#define PRUNUM 1
-
-#define PRU0_DRAM		0x00000			// Offset to DRAM
-// Skip the first 0x200 byte of DRAM since the Makefile allocates
-// 0x100 for the STACK and 0x100 for the HEAP.
-volatile unsigned int *pru0_dram = (unsigned int *) (PRU0_DRAM + 0x200);
-
-#define MAXCH	2	// Maximum number of channels per PRU
-
-#define update(ch) \
-			if(onCount[ch]) {			\
-				onCount[ch]--;			\
-				Rtmp |= 0x1<<ch;		\
-			} else if(offCount[ch]) {	\
-				offCount[ch]--;			\
-				Rtmp &= ~(0x1<<ch);	\
-			} else {					\
-				onCount[ch] = pru0_dram[2*ch];	\
-				offCount[ch]= pru0_dram[2*ch+1];	\
-			}
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t ch;
-	uint32_t on[]  = {1, 2, 3, 4};
-	uint32_t off[] = {4, 3, 2, 1};
-	uint32_t onCount[MAXCH], offCount[MAXCH];
-	register uint32_t Rtmp;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-#pragma UNROLL(MAXCH)
-	for(ch=0; ch<MAXCH; ch++) {
-		pru0_dram[2*ch  ] = on [ch+PRUNUM*MAXCH];	// Copy to DRAM0 so the ARM can change it
-		pru0_dram[2*ch+1] = off[ch+PRUNUM*MAXCH];	// Interleave the on and off values
-		onCount[ch] = on [ch+PRUNUM*MAXCH];
-		offCount[ch]= off[ch+PRUNUM*MAXCH];
-	}
-	Rtmp = __R30;
-
-	while (1) {
-		update(0)
-		update(1)
-		__R30 = Rtmp;
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/pwm7_setup.sh b/books/pru-cookbook/05blocks/code/pwm7_setup.sh
deleted file mode 100755
index aae4c778..00000000
--- a/books/pru-cookbook/05blocks/code/pwm7_setup.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-#
-export TARGET=pwm7.pru0
-echo TARGET=$TARGET
-
-# Configure the PRU pins based on which Beagle is running
-machine=$(awk '{print $NF}' /proc/device-tree/model)
-echo -n $machine
-if [ $machine = "Black" ]; then
-    echo " Found"
-    pins="P9_31 P9_29 P8_45 P8_46"
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    pins="P1_36 P1_33"
-else
-    echo " Not Found"
-    pins=""
-fi
-
-for pin in $pins
-do
-    echo $pin
-    config-pin $pin pruout
-    config-pin -q $pin
-done
diff --git a/books/pru-cookbook/05blocks/code/pwm8.pru0.c b/books/pru-cookbook/05blocks/code/pwm8.pru0.c
deleted file mode 100644
index c566573f..00000000
--- a/books/pru-cookbook/05blocks/code/pwm8.pru0.c
+++ /dev/null
@@ -1,78 +0,0 @@
-// This code does MAXCH parallel PWM channels on both PRU 0 and PRU 1
-// All channels start at the same time. 
-// It's period is 430ns
-#include <stdint.h>
-#include <pru_cfg.h>
-#include <pru_intc.h>
-#include <pru_ctrl.h>
-#include "resource_table_empty.h"
-
-#define PRUNUM 0
-
-#define PRU0_DRAM		0x00000			// Offset to DRAM
-// Skip the first 0x200 byte of DRAM since the Makefile allocates
-// 0x100 for the STACK and 0x100 for the HEAP.
-volatile unsigned int *pru0_dram = (unsigned int *) (PRU0_DRAM + 0x200);
-
-#define MAXCH	2	// Maximum number of channels per PRU
-
-#define update(ch) \
-			if(onCount[ch]) {			\
-				onCount[ch]--;			\
-				Rtmp |= 0x1<<ch;		\
-			} else if(offCount[ch]) {	\
-				offCount[ch]--;			\
-				Rtmp &= ~(0x1<<ch);	\
-			} else {					\
-				onCount[ch] = pru0_dram[2*ch];	\
-				offCount[ch]= pru0_dram[2*ch+1];	\
-			}
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-// Initialize interupts so the PRUs can be syncronized.
-// PRU1 is started first and then waits for PRU0
-// PRU0 is then started and tells PRU1 when to start going
-void configIntc(void) {	
-	__R31 = 0x00000000;					// Clear any pending PRU-generated events
-	CT_INTC.CMR4_bit.CH_MAP_16 = 1;		// Map event 16 to channel 1
-	CT_INTC.HMR0_bit.HINT_MAP_1 = 1;	// Map channel 1 to host 1
-	CT_INTC.SICR = 16;					// Ensure event 16 is cleared
-	CT_INTC.EISR = 16;					// Enable event 16
-	CT_INTC.HIEISR |= (1 << 0);			// Enable Host interrupt 1
-	CT_INTC.GER = 1; 					// Globally enable host interrupts
-}
-
-void main(void)
-{
-	uint32_t ch;
-	uint32_t on[]  = {1, 2, 3, 4};
-	uint32_t off[] = {4, 3, 2, 1};
-	uint32_t onCount[MAXCH], offCount[MAXCH];
-	register uint32_t Rtmp;
-
-	CT_CFG.GPCFG0 = 0x0000;				// Configure GPI and GPO as Mode 0 (Direct Connect)
-	configIntc();						// Configure INTC
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-#pragma UNROLL(MAXCH)
-	for(ch=0; ch<MAXCH; ch++) {
-		pru0_dram[2*ch  ] = on [ch+PRUNUM*MAXCH];	// Copy to DRAM0 so the ARM can change it
-		pru0_dram[2*ch+1] = off[ch+PRUNUM*MAXCH];	// Interleave the on and off values
-		onCount[ch] = on [ch+PRUNUM*MAXCH];
-		offCount[ch]= off[ch+PRUNUM*MAXCH];
-	}
-	Rtmp = __R30;
-
-	while (1) {
-		__R30 = Rtmp;
-		update(0)
-		update(1)
-#define PRU0_PRU1_EVT 16
-		__R31 = (PRU0_PRU1_EVT-16) | (0x1<<5);	//Tell PRU 1 to start
-		__delay_cycles(1);
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/pwm8.pru1.c b/books/pru-cookbook/05blocks/code/pwm8.pru1.c
deleted file mode 100644
index cf5c241c..00000000
--- a/books/pru-cookbook/05blocks/code/pwm8.pru1.c
+++ /dev/null
@@ -1,66 +0,0 @@
-// This code does MAXCH parallel PWM channels on both PRU 0 and PRU 1
-// All channels start at the same time. 
-// It's period is 430ns
-#include <stdint.h>
-#include <pru_cfg.h>
-#include <pru_intc.h>
-#include <pru_ctrl.h>
-#include "resource_table_empty.h"
-
-#define PRUNUM 1
-
-#define PRU0_DRAM		0x00000			// Offset to DRAM
-// Skip the first 0x200 byte of DRAM since the Makefile allocates
-// 0x100 for the STACK and 0x100 for the HEAP.
-volatile unsigned int *pru0_dram = (unsigned int *) (PRU0_DRAM + 0x200);
-
-#define MAXCH	2	// Maximum number of channels per PRU
-
-#define update(ch) \
-			if(onCount[ch]) {			\
-				onCount[ch]--;			\
-				Rtmp |= 0x1<<ch;		\
-			} else if(offCount[ch]) {	\
-				offCount[ch]--;			\
-				Rtmp &= ~(0x1<<ch);	\
-			} else {					\
-				onCount[ch] = pru0_dram[2*ch];	\
-				offCount[ch]= pru0_dram[2*ch+1];	\
-			}
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-// Initialize interupts so the PRUs can be syncronized.
-// PRU1 is started first and then waits for PRU0
-// PRU0 is then started and tells PRU1 when to start going
-
-void main(void)
-{
-	uint32_t ch;
-	uint32_t on[]  = {1, 2, 3, 4};
-	uint32_t off[] = {4, 3, 2, 1};
-	uint32_t onCount[MAXCH], offCount[MAXCH];
-	register uint32_t Rtmp;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-#pragma UNROLL(MAXCH)
-	for(ch=0; ch<MAXCH; ch++) {
-		pru0_dram[2*ch  ] = on [ch+PRUNUM*MAXCH];	// Copy to DRAM0 so the ARM can change it
-		pru0_dram[2*ch+1] = off[ch+PRUNUM*MAXCH];	// Interleave the on and off values
-		onCount[ch] = on [ch+PRUNUM*MAXCH];
-		offCount[ch]= off[ch+PRUNUM*MAXCH];
-	}
-	Rtmp = __R30;
-
-	while (1) {
-		while((__R31 & (0x1<<31))==0) {		// Wait for PRU 0
-		}
-		CT_INTC.SICR = 16;					// Clear event 16
-		__R30 = Rtmp;
-		update(0)
-		update(1)
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/pwm_setup.sh b/books/pru-cookbook/05blocks/code/pwm_setup.sh
deleted file mode 100755
index b69ed129..00000000
--- a/books/pru-cookbook/05blocks/code/pwm_setup.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-#
-export TARGET=pwm1.pru0
-echo TARGET=$TARGET
-
-# Configure the PRU pins based on which Beagle is running
-machine=$(awk '{print $NF}' /proc/device-tree/model)
-echo -n $machine
-if [ $machine = "Black" ]; then
-    echo " Found"
-    pins="P9_31 P9_29 P9_30 P9_28"
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    pins="P1_36 P1_33 P2_32 P2_30"
-else
-    echo " Not Found"
-    pins=""
-fi
-
-for pin in $pins
-do
-    echo $pin
-    config-pin $pin pruout
-    config-pin -q $pin
-done
diff --git a/books/pru-cookbook/05blocks/code/resource_table_empty.h b/books/pru-cookbook/05blocks/code/resource_table_empty.h
deleted file mode 100644
index 07e97d9b..00000000
--- a/books/pru-cookbook/05blocks/code/resource_table_empty.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *  ======== resource_table_empty.h ========
- *
- *  Define the resource table entries for all PRU cores. This will be
- *  incorporated into corresponding base images, and used by the remoteproc
- *  on the host-side to allocated/reserve resources.  Note the remoteproc
- *  driver requires that all PRU firmware be built with a resource table.
- *
- *  This file contains an empty resource table.  It can be used either as:
- *
- *        1) A template, or
- *        2) As-is if a PRU application does not need to configure PRU_INTC
- *                  or interact with the rpmsg driver
- *
- */
-
-#ifndef _RSC_TABLE_PRU_H_
-#define _RSC_TABLE_PRU_H_
-
-#include <stddef.h>
-#include <rsc_types.h>
-
-struct my_resource_table {
-	struct resource_table base;
-
-	uint32_t offset[1]; /* Should match 'num' in actual definition */
-};
-
-#pragma DATA_SECTION(pru_remoteproc_ResourceTable, ".resource_table")
-#pragma RETAIN(pru_remoteproc_ResourceTable)
-struct my_resource_table pru_remoteproc_ResourceTable = {
-	1,	/* we're the first version that implements this */
-	0,	/* number of entries in the table */
-	0, 0,	/* reserved, must be zero */
-	0,	/* offset[0] */
-};
-
-#endif /* _RSC_TABLE_PRU_H_ */
-
diff --git a/books/pru-cookbook/05blocks/code/rgb1.pru0.c b/books/pru-cookbook/05blocks/code/rgb1.pru0.c
deleted file mode 100644
index 9936d627..00000000
--- a/books/pru-cookbook/05blocks/code/rgb1.pru0.c
+++ /dev/null
@@ -1,80 +0,0 @@
-// This code drives the RGB LED Matrix on the 1st Connector
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-#include "rgb_pocket.h"
-
-#define DELAY 10	// Number of cycles (5ns each) to wait after a write
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	// Set up the pointers to each of the GPIO ports 
-	uint32_t *gpio[] = {
-			(uint32_t *) GPIO0, 
-			(uint32_t *) GPIO1, 
-			(uint32_t *) GPIO2, 
-			(uint32_t *) GPIO3
-		};
-	
-	uint32_t i, row;
-
-	while(1) {
-	    for(row=0; row<16; row++) {
-	    	// Set the row address
-			// Here we take advantage of the select bits (LA,LB,LC,LD)
-			// being sequential in the R30 register (bits 2,3,4,5)
-			// We shift row over so it lines up with the select bits
-			// Oring (|=) with R30 sets bits to 1 and
-			// Anding (&=) clears bits to 0, the 0xffc mask makes sure the
-			// other bits aren't changed.
-	        __R30 |=  row<<pru_sel0;
-	        __R30 &= (row<<pru_sel0)|0xffc3;
-
-    	    for(i=0; i<64; i++) {
-    	    	// Top row white
-    	    	// Combining these to one write works because they are all in 
-    	    	// the same gpio port
-    	      	gpio[r11_gpio][GPIO_SETDATAOUT] = r11_pin | g11_pin | b11_pin;
-    	    	__delay_cycles(DELAY);;
-    	      	
-    	      	// Bottom row red
-    	      	gpio[r12_gpio][GPIO_SETDATAOUT]   = r12_pin;
-    	    	__delay_cycles(DELAY);
-    	      	gpio[r12_gpio][GPIO_CLEARDATAOUT] = g12_pin | b12_pin;
-    	    	__delay_cycles(DELAY);
-    	      	
-                __R30 |=  pru_clock;	// Toggle clock
-    	    	__delay_cycles(DELAY);
-        		__R30 &= ~pru_clock;
-    	    	__delay_cycles(DELAY);
-    	    	
-    	    	// Top row black
-    	    	gpio[r11_gpio][GPIO_CLEARDATAOUT] = r11_pin | g11_pin | b11_pin;
-    	    	__delay_cycles(DELAY);
-    	      	
-    	      	// Bottom row green
-    	    	gpio[r12_gpio][GPIO_CLEARDATAOUT] = r12_pin | b12_pin;
-    	    	__delay_cycles(DELAY);
-    	      	gpio[r12_gpio][GPIO_SETDATAOUT]   = g12_pin;
-    	    	__delay_cycles(DELAY);
-    	      	
-                __R30 |=  pru_clock;	// Toggle clock
-    	    	__delay_cycles(DELAY);
-        		__R30 &= ~pru_clock;
-    	    	__delay_cycles(DELAY);
-    	    }
-    	    __R30 |=  pru_oe;        // Disable display
-    	   	__delay_cycles(DELAY);
-    	    __R30 |=  pru_latch;     // Toggle latch
-    	   	__delay_cycles(DELAY);
-    	    __R30 &= ~pru_latch;
-    	   	__delay_cycles(DELAY);
-    	    __R30 &= ~pru_oe;        // Enable display
-    	    __delay_cycles(DELAY);
-	    }
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/rgb2.pru0.c b/books/pru-cookbook/05blocks/code/rgb2.pru0.c
deleted file mode 100644
index eb43b357..00000000
--- a/books/pru-cookbook/05blocks/code/rgb2.pru0.c
+++ /dev/null
@@ -1,81 +0,0 @@
-// This code drives the RGB LED Matrix on J1 connector
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-#include "rgb_pocket.h"
-
-#define DELAY 100
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	// Set up the pointers to each of the GPIO ports 
-	uint32_t *gpio[] = {
-			(uint32_t *) GPIO0, 
-			(uint32_t *) GPIO1, 
-			(uint32_t *) GPIO2, 
-			(uint32_t *) GPIO3
-		};
-	
-	uint32_t i, row;
-	
-	while(1) {
-	    for(row=0; row<16; row++) {
-	        if(row&(0x1<<0)) __R30|=(0x1<<pru_sel0); else __R30&=~(0x1<<pru_sel0);
-	        __delay_cycles(DELAY);
-	        if(row&(0x1<<1)) __R30|=(0x1<<pru_sel1); else __R30&=~(0x1<<pru_sel1);
-	        __delay_cycles(DELAY);
-	        if(row&(0x1<<2)) __R30|=(0x1<<pru_sel2); else __R30&=~(0x1<<pru_sel2);
-	        __delay_cycles(DELAY);
-	        if(row&(0x1<<3)) __R30|=(0x1<<pru_sel3); else __R30&=~(0x1<<pru_sel3);
-	        __delay_cycles(DELAY);
-	        
-    	    for(i=0; i<64; i++) {
-    	    	// red
-    	      	gpio[r11_gpio][GPIO_SETDATAOUT]   = r11_pin;
-    	    	__delay_cycles(DELAY);
-    	      	gpio[r11_gpio][GPIO_CLEARDATAOUT] = g11_pin | b11_pin;
-    	    	__delay_cycles(DELAY);
-
-				// green
-    	      	gpio[r11_gpio][GPIO_CLEARDATAOUT] = r12_pin |  b12_pin;
-    	    	__delay_cycles(DELAY);
-    	      	gpio[r11_gpio][GPIO_SETDATAOUT]   = g12_pin;
-    	    	__delay_cycles(DELAY);
-
-                __R30 |=  pru_clock;     // Toggle clock
-    	    	__delay_cycles(DELAY);
-        		__R30 &= ~pru_clock;
-    	    	__delay_cycles(DELAY);
-    	    	
-    	    	// blue
-    	    	gpio[r11_gpio][GPIO_CLEARDATAOUT] = r11_pin | g11_pin;
-    	    	__delay_cycles(DELAY);
-    	      	gpio[r11_gpio][GPIO_SETDATAOUT]   = b11_pin;
-    	    	__delay_cycles(DELAY);
-    	      	
-    	      	//blue
-    	    	gpio[r11_gpio][GPIO_CLEARDATAOUT] = r12_pin | g12_pin;
-    	    	__delay_cycles(DELAY);
-    	      	gpio[r11_gpio][GPIO_SETDATAOUT]   = b12_pin;
-    	    	__delay_cycles(DELAY);
-    	      	
-                __R30 |=  pru_clock;      // Toggle clock
-    	    	__delay_cycles(DELAY);
-        		__R30 &= ~pru_clock;
-    	    	__delay_cycles(DELAY);
-    	    }
-    	    __R30 |=  pru_oe;        // Disable display
-    	    	__delay_cycles(DELAY);
-    	    __R30 |=  pru_latch;     // Toggle latch
-    	    	__delay_cycles(DELAY);
-    	    __R30 &= ~pru_latch;
-    	    	__delay_cycles(DELAY);
-    	    __R30 &= ~pru_oe;        // Enable display
-    	    __delay_cycles(DELAY);
-	    }
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/rgb3.pru0.c b/books/pru-cookbook/05blocks/code/rgb3.pru0.c
deleted file mode 100644
index b14ad864..00000000
--- a/books/pru-cookbook/05blocks/code/rgb3.pru0.c
+++ /dev/null
@@ -1,114 +0,0 @@
-// This code drives the RGB LED Matrix on the 1st and 2nd Connectors
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-#include "rgb_pocket.h"
-
-#define DELAY 10	// Number of cycles (5ns each) to wait after a write
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	// Set up the pointers to each of the GPIO ports 
-	uint32_t *gpio[] = {
-			(uint32_t *) GPIO0, 
-			(uint32_t *) GPIO1, 
-			(uint32_t *) GPIO2, 
-			(uint32_t *) GPIO3
-		};
-	
-	uint32_t i, row;
-
-	while(1) {
-	    for(row=0; row<16; row++) {
-	    	// Set the row address
-			// Here we take advantage of the select bits (LA,LB,LC,LD)
-			// being sequential in the R30 register (bits 2,3,4,5)
-			// We shift row over so it lines up with the select bits
-			// Oring (|=) with R30 sets bits to 1 and
-			// Anding (&=) clears bits to 0, the 0xffc mask makes sure the
-			// other bits aren't changed.
-	        __R30 |=  row<<pru_sel0;
-	        __R30 &= (row<<pru_sel0)|0xffc3;
-
-    	    for(i=0; i<64; i++) {
-    	    	// Panel 1 Upper
-    	    	// Top row white
-    	    	// Combining these to one write works because they are all in 
-    	    	// the same gpio port
-    	      	gpio[r11_gpio][GPIO_SETDATAOUT] = r11_pin | g11_pin | b11_pin;
-    	    	__delay_cycles(DELAY);
-    	      	
-    	      	// Bottom row red
-    	      	gpio[r12_gpio][GPIO_SETDATAOUT]   = r12_pin;
-    	    	// __delay_cycles(DELAY);
-    	      	gpio[g12_gpio][GPIO_CLEARDATAOUT] = g12_pin | b12_pin;
-    	    	__delay_cycles(DELAY);
-    	      	
-    	    	// Panel 2 Upper
-    	    	// Top row blue
-    	    	// Combining these to one write works because they are all in 
-    	    	// the same gpio port except b12
-    	      	gpio[r21_gpio][GPIO_CLEARDATAOUT] = r21_pin | g21_pin;
-    	    	// __delay_cycles(DELAY);
-    	      	gpio[b21_gpio][GPIO_SETDATAOUT]   = b21_pin;
-    	    	__delay_cycles(DELAY);
-    	      	
-    	      	// Bottom row red
-    	      	gpio[r22_gpio][GPIO_SETDATAOUT]   = r22_pin;
-    	    	__delay_cycles(DELAY);
-    	      	gpio[g22_gpio][GPIO_CLEARDATAOUT] = g22_pin;
-    	    	__delay_cycles(DELAY);
-    	      	gpio[b22_gpio][GPIO_CLEARDATAOUT] = b22_pin;
-    	    	__delay_cycles(DELAY);
-    	      	
-                __R30 |=  pru_clock;	// Toggle clock
-    	    	__delay_cycles(DELAY);
-        		__R30 &= ~pru_clock;
-    	    	__delay_cycles(DELAY);
-
-				// Panel 1 Lower
-    	    	// Top row black
-    	    	gpio[r11_gpio][GPIO_CLEARDATAOUT] = r11_pin | g11_pin | b11_pin;
-    	    	__delay_cycles(DELAY);
-    	      	
-    	      	// Bottom row green
-    	    	gpio[r12_gpio][GPIO_CLEARDATAOUT] = r12_pin | b12_pin;
-    	    	__delay_cycles(DELAY);
-    	      	gpio[g12_gpio][GPIO_SETDATAOUT]   = g12_pin;
-    	    	__delay_cycles(DELAY);
-    	    	
-    	    	// Panel 2 Lower
-    	    	// Top row reg+green = yellow
-    	    	gpio[r21_gpio][GPIO_SETDATAOUT] = r21_pin | g21_pin;
-    	    	__delay_cycles(DELAY);
-    	    	gpio[b21_gpio][GPIO_CLEARDATAOUT] = b21_pin;
-    	    	__delay_cycles(DELAY);
-    	      	
-    	      	// Bottom row green
-    	    	gpio[r22_gpio][GPIO_CLEARDATAOUT] = r22_pin;
-    	    	__delay_cycles(DELAY);
-    	    	gpio[b22_gpio][GPIO_CLEARDATAOUT] = b22_pin;
-    	    	__delay_cycles(DELAY);
-    	      	gpio[g22_gpio][GPIO_SETDATAOUT] = g22_pin;
-    	    	__delay_cycles(2*DELAY);
-    	      	
-                __R30 |=  pru_clock;	// Toggle clock
-    	    	__delay_cycles(DELAY);
-        		__R30 &= ~pru_clock;
-    	    	__delay_cycles(DELAY);
-    	    }
-    	    __R30 |=  pru_oe;        // Disable display
-    	   	__delay_cycles(DELAY);
-    	    __R30 |=  pru_latch;     // Toggle latch
-    	   	__delay_cycles(DELAY);
-    	    __R30 &= ~pru_latch;
-    	   	__delay_cycles(DELAY);
-    	    __R30 &= ~pru_oe;        // Enable display
-    	    __delay_cycles(DELAY);
-	    }
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/rgb4.pru0.c b/books/pru-cookbook/05blocks/code/rgb4.pru0.c
deleted file mode 100644
index 6d06f121..00000000
--- a/books/pru-cookbook/05blocks/code/rgb4.pru0.c
+++ /dev/null
@@ -1,84 +0,0 @@
-// This code drives the RGB LED Matrix on the 2nd Connector
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-#include "rgb_pocket.h"
-
-#define DELAY 10	// Number of cycles (5ns each) to wait after a write
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	// Set up the pointers to each of the GPIO ports 
-	uint32_t *gpio[] = {
-			(uint32_t *) GPIO0, 
-			(uint32_t *) GPIO1, 
-			(uint32_t *) GPIO2, 
-			(uint32_t *) GPIO3
-		};
-	
-	uint32_t i, row;
-
-	while(1) {
-	    for(row=0; row<16; row++) {
-	    	// Set the row address
-			// Here we take advantage of the select bits (LA,LB,LC,LD)
-			// being sequential in the R30 register (bits 2,3,4,5)
-			// We shift row over so it lines up with the select bits
-			// Oring (|=) with R30 sets bits to 1 and
-			// Anding (&=) clears bits to 0, the 0xffc mask makes sure the
-			// other bits aren't changed.
-	        __R30 |=  row<<pru_sel0;
-	        __R30 &= (row<<pru_sel0)|0xffc3;
-
-    	    for(i=0; i<64; i++) {
-    	    	// Top row white
-    	    	// Combining these to one write works because they are all in 
-    	    	// the same gpio port except b12
-    	      	gpio[r21_gpio][GPIO_SETDATAOUT] = r21_pin | g21_pin;
-    	    	__delay_cycles(DELAY);
-    	      	gpio[b21_gpio][GPIO_SETDATAOUT] =  b21_pin;
-    	    	__delay_cycles(DELAY);
-    	      	
-    	      	// Bottom row red
-    	      	gpio[r22_gpio][GPIO_SETDATAOUT]   = r22_pin;
-    	    	__delay_cycles(DELAY);
-    	      	gpio[g22_gpio][GPIO_CLEARDATAOUT] = g22_pin | b22_pin;
-    	    	__delay_cycles(2*DELAY);
-    	      	
-                __R30 |=  pru_clock;	// Toggle clock
-    	    	__delay_cycles(DELAY);
-        		__R30 &= ~pru_clock;
-    	    	__delay_cycles(DELAY);
-    	    	
-    	    	// Top row black
-    	    	gpio[r21_gpio][GPIO_CLEARDATAOUT] = r21_pin | g21_pin;
-    	    	__delay_cycles(DELAY);
-    	    	gpio[b21_gpio][GPIO_CLEARDATAOUT] = b21_pin;
-    	    	__delay_cycles(DELAY);
-    	      	
-    	      	// Bottom row green
-    	    	gpio[r22_gpio][GPIO_CLEARDATAOUT] = r22_pin | b22_pin;
-    	    	__delay_cycles(DELAY);
-    	      	gpio[g22_gpio][GPIO_SETDATAOUT]   = g22_pin;
-    	    	__delay_cycles(2*DELAY);
-    	      	
-                __R30 |=  pru_clock;	// Toggle clock
-    	    	__delay_cycles(DELAY);
-        		__R30 &= ~pru_clock;
-    	    	__delay_cycles(DELAY);
-    	    }
-    	    __R30 |=  pru_oe;        // Disable display
-    	   	__delay_cycles(DELAY);
-    	    __R30 |=  pru_latch;     // Toggle latch
-    	   	__delay_cycles(DELAY);
-    	    __R30 &= ~pru_latch;
-    	   	__delay_cycles(DELAY);
-    	    __R30 &= ~pru_oe;        // Enable display
-    	    __delay_cycles(DELAY);
-	    }
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/rgb_black.h b/books/pru-cookbook/05blocks/code/rgb_black.h
deleted file mode 100644
index be7cf4ba..00000000
--- a/books/pru-cookbook/05blocks/code/rgb_black.h
+++ /dev/null
@@ -1,31 +0,0 @@
-//Black - Not tested
-// These are from https://github.com/FalconChristmas/fpp/blob/master/src/pru/PocketScrollerV1.hp
-// _gpio tells which gpio port and _pin tells which bit in the port
-// The first 1 in r11 is for the J1 connector
-// See the githuub file for the other connectors
-
-#define r11_gpio 2
-#define r11_pin 9
-#define g11_gpio 2
-#define g11_pin 11
-#define b11_gpio 2
-#define b11_pin 10
-
-#define r12_gpio 2
-#define r12_pin 12
-#define g12_gpio 2
-#define g12_pin 22
-#define b12_gpio 2
-#define b12_pin 23
-
-#define pru_latch 1	// These are the bit positions in R30
-#define pru_oe    0
-#define pru_clock 2
-
-// Control pins are all in GPIO2
-// The pocket has these on R0, the code needs to be changed for this work work
-#define gpio_sel0 13 /* must be sequential with sel1 and sel2 */
-#define gpio_sel1 14
-#define gpio_sel2 15
-#define gpio_sel3 16
-#define gpio_sel4 17
diff --git a/books/pru-cookbook/05blocks/code/rgb_pocket.h b/books/pru-cookbook/05blocks/code/rgb_pocket.h
deleted file mode 100644
index 45a91118..00000000
--- a/books/pru-cookbook/05blocks/code/rgb_pocket.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// Pocket
-// These are from https://github.com/FalconChristmas/fpp/blob/master/src/pru/PocketScrollerV1.hp
-// _gpio tells which gpio port and _pin tells which bit in the port
-// The first 1 in r11 is for the J1 connector
-// See the githuub file for the other connectors
-
-// J1
-#define r11_gpio 1
-#define r11_pin (0x1<<20)
-#define g11_gpio 1
-#define g11_pin (0x1<<28)
-#define b11_gpio 1
-#define b11_pin (0x1<<25)
-
-#define r12_gpio 1
-#define r12_pin (0x1<<26)
-#define g12_gpio 1
-#define g12_pin (0x1<<27)
-#define b12_gpio 1
-#define b12_pin (0x1<<18)
-
-// J2
-#define r21_gpio 1
-#define r21_pin (0x1<<8)
-#define g21_gpio 1
-#define g21_pin (0x1<<9)
-#define b21_gpio 0
-#define b21_pin (0x1<<30)
-
-#define r22_gpio 1
-#define r22_pin (0x1<<12)
-#define g22_gpio 1
-#define g22_pin (0x1<<14)
-#define b22_gpio 1
-#define b22_pin (0x1<<15)
-
-// All connectors
-#define pru_latch  (0x1<<0)	// These are the bit positions in R30
-#define pru_oe     (0x1<<7)
-#define pru_clock  (0x1<<1)
-
-#define pru_sel0   2	// These are called LA, LB, LC and LD in the python code
-#define pru_sel1   3	// Also bit positions
-#define pru_sel2   4
-#define pru_sel3   5
diff --git a/books/pru-cookbook/05blocks/code/rgb_python.py b/books/pru-cookbook/05blocks/code/rgb_python.py
deleted file mode 100755
index 25e35334..00000000
--- a/books/pru-cookbook/05blocks/code/rgb_python.py
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/env python3
-import Adafruit_BBIO.GPIO as GPIO
-
-# Define which functions are connect to which pins
-OE="P1_29"      # Output Enable, active low
-LAT="P1_36"     # Latch, toggle after clocking in a row of pixels
-CLK="P1_33"     # Clock, toggle after each pixel
-
-# Input data pins 
-R1="P2_10"  # R1, G1, B1 are for the top rows (1-16) of pixels
-G1="P2_8"
-B1="P2_6"
-
-R2="P2_4"   # R2, G2, B2 are for the bottom rows (17-32) of pixels
-G2="P2_2"
-B2="P2_1"
-
-LA="P2_32"  # Address lines for which row (1-16 or 17-32) to update
-LB="P2_30"
-LC="P1_31"
-LD="P2_34"
-
-# Set everything as output ports
-GPIO.setup(OE,  GPIO.OUT)
-GPIO.setup(LAT, GPIO.OUT)
-GPIO.setup(CLK, GPIO.OUT)
-
-GPIO.setup(R1, GPIO.OUT)
-GPIO.setup(G1, GPIO.OUT)
-GPIO.setup(B1, GPIO.OUT)
-GPIO.setup(R2, GPIO.OUT)
-GPIO.setup(G2, GPIO.OUT)
-GPIO.setup(B2, GPIO.OUT)
-
-GPIO.setup(LA, GPIO.OUT)
-GPIO.setup(LB, GPIO.OUT)
-GPIO.setup(LC, GPIO.OUT)
-GPIO.setup(LD, GPIO.OUT)
-
-GPIO.output(OE,  0)     # Enable the display
-GPIO.output(LAT, 0)     # Set latch to low
-
-while True:
-    for bank in range(64):
-        GPIO.output(LA, bank>>0&0x1)    # Select rows
-        GPIO.output(LB, bank>>1&0x1)
-        GPIO.output(LC, bank>>2&0x1)
-        GPIO.output(LD, bank>>3&0x1)
-        
-        # Shift the colors out.  Here we only have four different 
-        # colors to keep things simple.
-        for i in range(16):
-            GPIO.output(R1,  1)     # Top row, white
-            GPIO.output(G1,  1)
-            GPIO.output(B1,  1)
-            
-            GPIO.output(R2,  1)     # Bottom row, red
-            GPIO.output(G2,  0)
-            GPIO.output(B2,  0)
-
-            GPIO.output(CLK, 0)     # Toggle clock
-            GPIO.output(CLK, 1)
-    
-            GPIO.output(R1,  0)     # Top row, black
-            GPIO.output(G1,  0)
-            GPIO.output(B1,  0)
-
-            GPIO.output(R2,  0)     # Bottom row, green
-            GPIO.output(G2,  1)
-            GPIO.output(B2,  0)
-    
-            GPIO.output(CLK, 0)     # Toggle clock
-            GPIO.output(CLK, 1)
-    
-        GPIO.output(OE,  1)     # Disable display while updating
-        GPIO.output(LAT, 1)     # Toggle latch
-        GPIO.output(LAT, 0)
-        GPIO.output(OE,  0)     # Enable display
diff --git a/books/pru-cookbook/05blocks/code/rgb_python_setup.sh b/books/pru-cookbook/05blocks/code/rgb_python_setup.sh
deleted file mode 100755
index 72106746..00000000
--- a/books/pru-cookbook/05blocks/code/rgb_python_setup.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/bash
-# Setup for 64x32 RGB Matrix
-export TARGET=rgb1.pru0
-echo TARGET=$TARGET
-
-# Configure the PRU pins based on which Beagle is running
-machine=$(awk '{print $NF}' /proc/device-tree/model)
-echo -n $machine
-if [ $machine = "Black" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    prupins="P2_32 P1_31 P1_33 P1_29 P2_30 P2_34 P1_36"
-    gpiopins="P2_10 P2_06 P2_04 P2_01 P2_08 P2_02"
-    # Uncomment for J2
-    # gpiopins="$gpiopins P2_27 P2_25 P2_05 P2_24 P2_22 P2_18"
-else
-    echo " Not Found"
-    pins=""
-fi
-
-for pin in $prupins
-do
-    echo $pin
-    # config-pin $pin pruout
-    config-pin $pin gpio
-    config-pin $pin out
-    config-pin -q $pin
-done
-
-for pin in $gpiopins
-do
-    echo $pin
-    config-pin $pin gpio
-    config-pin $pin out
-    config-pin -q $pin
-done
diff --git a/books/pru-cookbook/05blocks/code/rgb_setup.sh b/books/pru-cookbook/05blocks/code/rgb_setup.sh
deleted file mode 100755
index fc545144..00000000
--- a/books/pru-cookbook/05blocks/code/rgb_setup.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/bash
-# Setup for 64x32 RGB Matrix
-export TARGET=rgb1.pru0
-echo TARGET=$TARGET
-
-# Configure the PRU pins based on which Beagle is running
-machine=$(awk '{print $NF}' /proc/device-tree/model)
-echo -n $machine
-if [ $machine = "Black" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    prupins="P2_32 P1_31 P1_33 P1_29 P2_30 P2_34 P1_36"
-    gpiopins="P2_10 P2_06 P2_04 P2_01 P2_08 P2_02"
-    # Uncomment for J2
-    # gpiopins="$gpiopins P2_27 P2_25 P2_05 P2_24 P2_22 P2_18"
-else
-    echo " Not Found"
-    pins=""
-fi
-
-for pin in $prupins
-do
-    echo $pin
-    config-pin $pin pruout
-    # config-pin $pin gpio
-    # config-pin $pin out
-    config-pin -q $pin
-done
-
-for pin in $gpiopins
-do
-    echo $pin
-    config-pin $pin gpio
-    config-pin $pin out
-    config-pin -q $pin
-done
diff --git a/books/pru-cookbook/05blocks/code/rgb_white.pru0.c b/books/pru-cookbook/05blocks/code/rgb_white.pru0.c
deleted file mode 100644
index e62d98e0..00000000
--- a/books/pru-cookbook/05blocks/code/rgb_white.pru0.c
+++ /dev/null
@@ -1,64 +0,0 @@
-// This code drives the RGB LED Matrix
-// Turns all the LEDs on
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-#include "rgb_pocket.h"
-
-#define DELAY 10					// Number of cycles (5ns each) to wait after a write
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	// Set up the pointers to each of the GPIO ports 
-	uint32_t *gpio[] = {
-			(uint32_t *) GPIO0, 
-			(uint32_t *) GPIO1, 
-			(uint32_t *) GPIO2, 
-			(uint32_t *) GPIO3
-		};
-	
-	uint32_t i, row;
-
-	while(1) {
-	    for(row=0; row<16; row++) {
-	    	// Set the row address
-			// Here we take advantage of the select bits (LA,LB,LC,LD)
-			// being sequential in the R30 register (bits 2,3,4,5)
-			// We shift row over so it lines up with the select bits
-			// Oring (|=) with R30 sets bits to 1 and
-			// Anding (&=) clears bits to 0, the 0xffc mask makes sure the
-			// other bits aren't changed.
-	        __R30 |=  row<<pru_sel0;
-	        __R30 &= (row<<pru_sel0)|0xffc3;
-
-    	    for(i=0; i<64; i++) {
-    	    	// Top row white
-    	    	// Combining these to one write works because they are all in 
-    	    	// the same gpio port
-    	      	gpio[r11_gpio][GPIO_SETDATAOUT] = r11_pin | g11_pin | b11_pin;
-    	    	__delay_cycles(DELAY);;
-    	      	
-    	      	// Bottom row white
-    	      	gpio[r12_gpio][GPIO_SETDATAOUT] = r12_pin | g12_pin | b12_pin;
-    	    	__delay_cycles(DELAY);
-    	      	
-                __R30 |=  pru_clock;	// Toggle clock
-    	    	__delay_cycles(DELAY);
-        		__R30 &= ~pru_clock;
-    	    	__delay_cycles(DELAY);
-    	    }
-    	    __R30 |=  pru_oe;        // Disable display
-    	   	__delay_cycles(DELAY);
-    	    __R30 |=  pru_latch;     // Toggle latch
-    	   	__delay_cycles(DELAY);
-    	    __R30 &= ~pru_latch;
-    	   	__delay_cycles(DELAY);
-    	    __R30 &= ~pru_oe;        // Enable display
-    	    __delay_cycles(DELAY);
-	    }
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/shared.pru0.c b/books/pru-cookbook/05blocks/code/shared.pru0.c
deleted file mode 100644
index 95d87c5d..00000000
--- a/books/pru-cookbook/05blocks/code/shared.pru0.c
+++ /dev/null
@@ -1,63 +0,0 @@
-// From: http://git.ti.com/pru-software-support-package/pru-software-support-package/blobs/master/examples/am335x/PRU_access_const_table/PRU_access_const_table.c
-#include <stdint.h>
-#include <pru_cfg.h>
-#include <pru_ctrl.h>
-#include "resource_table_empty.h"
-
-#define PRU_SRAM  __far __attribute__((cregister("PRU_SHAREDMEM", near)))
-#define PRU_DMEM0 __far __attribute__((cregister("PRU_DMEM_0_1",  near)))
-#define PRU_DMEM1 __far __attribute__((cregister("PRU_DMEM_1_0",  near)))
-
-/* NOTE:  Allocating shared_x to PRU Shared Memory means that other PRU cores on
- *        the same subsystem must take care not to allocate data to that memory.
- *		  Users also cannot rely on where in shared memory these variables are placed
- *        so accessing them from another PRU core or from the ARM is an undefined behavior.
- */
-volatile uint32_t shared_0;
-PRU_SRAM  volatile uint32_t shared_1;
-PRU_DMEM0 volatile uint32_t shared_2;
-PRU_DMEM1 volatile uint32_t shared_3;
-#pragma DATA_SECTION(shared_4, ".bss")
-volatile uint32_t shared_4;
-
-/* NOTE:  Here we pick where in memory to store shared_5.  The stack and
- *		  heap take up the first 0x200 words, so we must start after that.
- *		  Since we are hardcoding where things are stored we can share
- *		  this between the PRUs and the ARM.
-*/
-#define PRU0_DRAM		0x00000			// Offset to DRAM
-// Skip the first 0x200 bytes of DRAM since the Makefile allocates
-// 0x100 for the STACK and 0x100 for the HEAP.
-volatile unsigned int *shared_5 = (unsigned int *) (PRU0_DRAM + 0x200);
-
-
-int main(void)
-{
-	volatile uint32_t shared_6;
-	volatile uint32_t shared_7;
-	/*****************************************************************/
-	/* Access PRU peripherals using Constant Table & PRU header file */
-	/*****************************************************************/
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	/*****************************************************************/
-	/* Access PRU Shared RAM using Constant Table                    */
-	/*****************************************************************/
-
-	/* C28 defaults to 0x00000000, we need to set bits 23:8 to 0x0100 in order to have it point to 0x00010000	 */
-	PRU0_CTRL.CTPPR0_bit.C28_BLK_POINTER = 0x0100;
-
-	shared_0 =  0xfeef;
-	shared_1 = 0xdeadbeef;
-	shared_2 = shared_2 + 0xfeed;
-	shared_3 = 0xdeed;
-	shared_4 = 0xbeed;
-	shared_5[0] = 0x1234;
-	shared_6 = 0x4321;
-	shared_7 = 0x9876;
-
-	/* Halt PRU core */
-	__halt();
-}
diff --git a/books/pru-cookbook/05blocks/code/shared_setup.sh b/books/pru-cookbook/05blocks/code/shared_setup.sh
deleted file mode 100755
index eefbcd55..00000000
--- a/books/pru-cookbook/05blocks/code/shared_setup.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-#
-export TARGET=shared.pru0
-echo TARGET=$TARGET
-
-# Configure the PRU pins based on which Beagle is running
-machine=$(awk '{print $NF}' /proc/device-tree/model)
-echo -n $machine
-if [ $machine = "Black" ]; then
-    echo " Found"
-    pins="P9_31 P9_29 P9_30 P9_28"
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    pins="P1_36 P1_33 P2_32 P2_30"
-else
-    echo " Not Found"
-    pins=""
-fi
-
-for pin in $pins
-do
-    echo $pin
-    config-pin $pin pruout
-    config-pin -q $pin
-done
diff --git a/books/pru-cookbook/05blocks/code/sine.map b/books/pru-cookbook/05blocks/code/sine.map
deleted file mode 100644
index 45872d39..00000000
--- a/books/pru-cookbook/05blocks/code/sine.map
+++ /dev/null
@@ -1,338 +0,0 @@
-******************************************************************************
-PRU Linker Unix v2.1.5                    
-******************************************************************************
->> Linked Fri Jun 29 13:58:08 2018
-
-OUTPUT FILE NAME:   </tmp/pru0-gen/sine1.out>
-ENTRY POINT SYMBOL: "_c_int00_noinit_noargs_noexit"  address: 00000000
-
-
-MEMORY CONFIGURATION
-
-         name            origin    length      used     unused   attr    fill
-----------------------  --------  ---------  --------  --------  ----  --------
-PAGE 0:
-  PRU_IMEM              00000000   00002000  000018c0  00000740  RWIX
-
-PAGE 1:
-  PRU_DMEM_0_1          00000000   00002000  00000154  00001eac  RWIX
-  PRU_DMEM_1_0          00002000   00002000  00000000  00002000  RWIX
-
-PAGE 2:
-  PRU_SHAREDMEM         00010000   00003000  00000000  00003000  RWIX
-  PRU_INTC              00020000   00001504  00000000  00001504  RWIX
-  PRU_CFG               00026000   00000044  00000044  00000000  RWIX
-  PRU_UART              00028000   00000038  00000000  00000038  RWIX
-  PRU_IEP               0002e000   0000031c  00000000  0000031c  RWIX
-  PRU_ECAP              00030000   00000060  00000000  00000060  RWIX
-  RSVD27                00032000   00000100  00000000  00000100  RWIX
-  RSVD21                00032400   00000100  00000000  00000100  RWIX
-  L3OCMC                40000000   00010000  00000000  00010000  RWIX
-  MCASP0_DMA            46000000   00000100  00000000  00000100  RWIX
-  UART1                 48022000   00000088  00000000  00000088  RWIX
-  UART2                 48024000   00000088  00000000  00000088  RWIX
-  I2C1                  4802a000   000000d8  00000000  000000d8  RWIX
-  MCSPI0                48030000   000001a4  00000000  000001a4  RWIX
-  DMTIMER2              48040000   0000005c  00000000  0000005c  RWIX
-  MMCHS0                48060000   00000300  00000000  00000300  RWIX
-  MBX0                  480c8000   00000140  00000000  00000140  RWIX
-  SPINLOCK              480ca000   00000880  00000000  00000880  RWIX
-  I2C2                  4819c000   000000d8  00000000  000000d8  RWIX
-  MCSPI1                481a0000   000001a4  00000000  000001a4  RWIX
-  DCAN0                 481cc000   000001e8  00000000  000001e8  RWIX
-  DCAN1                 481d0000   000001e8  00000000  000001e8  RWIX
-  PWMSS0                48300000   000002c4  00000000  000002c4  RWIX
-  PWMSS1                48302000   000002c4  00000000  000002c4  RWIX
-  PWMSS2                48304000   000002c4  00000000  000002c4  RWIX
-  RSVD13                48310000   00000100  00000000  00000100  RWIX
-  RSVD10                48318000   00000100  00000000  00000100  RWIX
-  TPCC                  49000000   00001098  00000000  00001098  RWIX
-  GEMAC                 4a100000   0000128c  00000000  0000128c  RWIX
-  DDR                   80000000   00000100  00000000  00000100  RWIX
-
-
-SECTION ALLOCATION MAP
-
- output                                  attributes/
-section   page    origin      length       input sections
---------  ----  ----------  ----------   ----------------
-.text:_c_int00* 
-*          0    00000000    00000014     
-                  00000000    00000014     rtspruv3_le.lib : boot_special.obj (.text:_c_int00_noinit_noargs_noexit)
-
-.text      0    00000014    000018ac     
-                  00000014    00000374     rtspruv3_le.lib : sin.obj (.text:sin)
-                  00000388    00000314                     : frcmpyd.obj (.text:__TI_frcmpyd)
-                  0000069c    00000258                     : frcaddd.obj (.text:__TI_frcaddd)
-                  000008f4    00000254                     : mpyd.obj (.text:__pruabi_mpyd)
-                  00000b48    00000248                     : addd.obj (.text:__pruabi_addd)
-                  00000d90    000001c8                     : mpyf.obj (.text:__pruabi_mpyf)
-                  00000f58    00000100                     : modf.obj (.text:modf)
-                  00001058    000000b4                     : gtd.obj (.text:__pruabi_gtd)
-                  0000110c    000000b0                     : ged.obj (.text:__pruabi_ged)
-                  000011bc    000000b0                     : ltd.obj (.text:__pruabi_ltd)
-                  0000126c    000000b0     sine1.obj (.text:main)
-                  0000131c    000000a8     rtspruv3_le.lib : frcmpyf.obj (.text:__TI_frcmpyf)
-                  000013c4    000000a0                     : fixdu.obj (.text:__pruabi_fixdu)
-                  00001464    0000009c                     : round.obj (.text:__pruabi_nround)
-                  00001500    00000090                     : eqld.obj (.text:__pruabi_eqd)
-                  00001590    0000008c                     : renormd.obj (.text:__TI_renormd)
-                  0000161c    0000008c                     : fixdi.obj (.text:__pruabi_fixdi)
-                  000016a8    00000084                     : fltid.obj (.text:__pruabi_fltid)
-                  0000172c    00000078                     : cvtfd.obj (.text:__pruabi_cvtfd)
-                  000017a4    00000050                     : fltuf.obj (.text:__pruabi_fltuf)
-                  000017f4    0000002c                     : asri.obj (.text:__pruabi_asri)
-                  00001820    0000002c                     : subd.obj (.text:__pruabi_subd)
-                  0000184c    00000024                     : mpyi.obj (.text:__pruabi_mpyi)
-                  00001870    00000020                     : negd.obj (.text:__pruabi_negd)
-                  00001890    00000020                     : trunc.obj (.text:__pruabi_trunc)
-                  000018b0    00000008                     : exit.obj (.text:abort)
-                  000018b8    00000008                     : exit.obj (.text:loader_exit)
-
-.stack     1    00000000    00000100     UNINITIALIZED
-                  00000000    00000004     rtspruv3_le.lib : boot.obj (.stack)
-                  00000004    000000fc     --HOLE--
-
-.cinit     1    00000000    00000000     UNINITIALIZED
-
-.fardata   1    00000100    00000040     
-                  00000100    00000040     rtspruv3_le.lib : sin.obj (.fardata:R$1)
-
-.resource_table 
-*          1    00000140    00000014     
-                  00000140    00000014     sine1.obj (.resource_table:retain)
-
-.creg.PRU_CFG.noload.near 
-*          2    00026000    00000044     NOLOAD SECTION
-                  00026000    00000044     sine1.obj (.creg.PRU_CFG.noload.near)
-
-.creg.PRU_CFG.near 
-*          2    00026044    00000000     UNINITIALIZED
-
-.creg.PRU_CFG.noload.far 
-*          2    00026044    00000000     NOLOAD SECTION
-
-.creg.PRU_CFG.far 
-*          2    00026044    00000000     UNINITIALIZED
-
-
-SEGMENT ATTRIBUTES
-
-    id tag      seg value
-    -- ---      --- -----
-     0 PHA_PAGE 1   1    
-     1 PHA_PAGE 2   1    
-
-
-GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 
-
-page  address   name                         
-----  -------   ----                         
-0     000018b8  C$$EXIT                      
-2     00026000  CT_CFG                       
-abs   481cc000  __PRU_CREG_BASE_DCAN0        
-abs   481d0000  __PRU_CREG_BASE_DCAN1        
-abs   80000000  __PRU_CREG_BASE_DDR          
-abs   48040000  __PRU_CREG_BASE_DMTIMER2     
-abs   4a100000  __PRU_CREG_BASE_GEMAC        
-abs   4802a000  __PRU_CREG_BASE_I2C1         
-abs   4819c000  __PRU_CREG_BASE_I2C2         
-abs   40000000  __PRU_CREG_BASE_L3OCMC       
-abs   480c8000  __PRU_CREG_BASE_MBX0         
-abs   46000000  __PRU_CREG_BASE_MCASP0_DMA   
-abs   48030000  __PRU_CREG_BASE_MCSPI0       
-abs   481a0000  __PRU_CREG_BASE_MCSPI1       
-abs   48060000  __PRU_CREG_BASE_MMCHS0       
-abs   00026000  __PRU_CREG_BASE_PRU_CFG      
-abs   00000000  __PRU_CREG_BASE_PRU_DMEM_0_1 
-abs   00002000  __PRU_CREG_BASE_PRU_DMEM_1_0 
-abs   00030000  __PRU_CREG_BASE_PRU_ECAP     
-abs   0002e000  __PRU_CREG_BASE_PRU_IEP      
-abs   00020000  __PRU_CREG_BASE_PRU_INTC     
-abs   00010000  __PRU_CREG_BASE_PRU_SHAREDMEM
-abs   00028000  __PRU_CREG_BASE_PRU_UART     
-abs   48300000  __PRU_CREG_BASE_PWMSS0       
-abs   48302000  __PRU_CREG_BASE_PWMSS1       
-abs   48304000  __PRU_CREG_BASE_PWMSS2       
-abs   48318000  __PRU_CREG_BASE_RSVD10       
-abs   48310000  __PRU_CREG_BASE_RSVD13       
-abs   00032400  __PRU_CREG_BASE_RSVD21       
-abs   00032000  __PRU_CREG_BASE_RSVD27       
-abs   480ca000  __PRU_CREG_BASE_SPINLOCK     
-abs   49000000  __PRU_CREG_BASE_TPCC         
-abs   48022000  __PRU_CREG_BASE_UART1        
-abs   48024000  __PRU_CREG_BASE_UART2        
-abs   0000000e  __PRU_CREG_DCAN0             
-abs   0000000f  __PRU_CREG_DCAN1             
-abs   0000001f  __PRU_CREG_DDR               
-abs   00000001  __PRU_CREG_DMTIMER2          
-abs   00000009  __PRU_CREG_GEMAC             
-abs   00000002  __PRU_CREG_I2C1              
-abs   00000011  __PRU_CREG_I2C2              
-abs   0000001e  __PRU_CREG_L3OCMC            
-abs   00000016  __PRU_CREG_MBX0              
-abs   00000008  __PRU_CREG_MCASP0_DMA        
-abs   00000006  __PRU_CREG_MCSPI0            
-abs   00000010  __PRU_CREG_MCSPI1            
-abs   00000005  __PRU_CREG_MMCHS0            
-abs   00000004  __PRU_CREG_PRU_CFG           
-abs   00000018  __PRU_CREG_PRU_DMEM_0_1      
-abs   00000019  __PRU_CREG_PRU_DMEM_1_0      
-abs   00000003  __PRU_CREG_PRU_ECAP          
-abs   0000001a  __PRU_CREG_PRU_IEP           
-abs   00000000  __PRU_CREG_PRU_INTC          
-abs   0000001c  __PRU_CREG_PRU_SHAREDMEM     
-abs   00000007  __PRU_CREG_PRU_UART          
-abs   00000012  __PRU_CREG_PWMSS0            
-abs   00000013  __PRU_CREG_PWMSS1            
-abs   00000014  __PRU_CREG_PWMSS2            
-abs   0000000a  __PRU_CREG_RSVD10            
-abs   0000000d  __PRU_CREG_RSVD13            
-abs   00000015  __PRU_CREG_RSVD21            
-abs   0000001b  __PRU_CREG_RSVD27            
-abs   00000017  __PRU_CREG_SPINLOCK          
-abs   0000001d  __PRU_CREG_TPCC              
-abs   0000000b  __PRU_CREG_UART1             
-abs   0000000c  __PRU_CREG_UART2             
-1     00000100  __TI_STACK_END               
-abs   00000100  __TI_STACK_SIZE              
-0     0000069c  __TI_frcaddd                 
-0     00000388  __TI_frcmpyd                 
-0     0000131c  __TI_frcmpyf                 
-0     00001590  __TI_renormd                 
-abs   ffffffff  __binit__                    
-abs   ffffffff  __c_args__                   
-0     00000b48  __pruabi_addd                
-0     000017f4  __pruabi_asri                
-0     0000172c  __pruabi_cvtfd               
-0     00001500  __pruabi_eqd                 
-0     0000161c  __pruabi_fixdi               
-0     000013c4  __pruabi_fixdu               
-0     000016a8  __pruabi_fltid               
-0     000017a4  __pruabi_fltuf               
-0     0000110c  __pruabi_ged                 
-0     00001058  __pruabi_gtd                 
-0     000011bc  __pruabi_ltd                 
-0     000008f4  __pruabi_mpyd                
-0     00000d90  __pruabi_mpyf                
-0     0000184c  __pruabi_mpyi                
-0     00001870  __pruabi_negd                
-0     00001464  __pruabi_nround              
-0     00001820  __pruabi_subd                
-0     00001890  __pruabi_trunc               
-0     00000000  _c_int00_noinit_noargs_noexit
-1     00000000  _stack                       
-0     000018b0  abort                        
-abs   ffffffff  binit                        
-0     0000126c  main                         
-0     00000f58  modf                         
-1     00000140  pru_remoteproc_ResourceTable 
-0     00000014  sin                          
-
-
-GLOBAL SYMBOLS: SORTED BY Symbol Address 
-
-page  address   name                         
-----  -------   ----                         
-0     00000000  _c_int00_noinit_noargs_noexit
-0     00000014  sin                          
-0     00000388  __TI_frcmpyd                 
-0     0000069c  __TI_frcaddd                 
-0     000008f4  __pruabi_mpyd                
-0     00000b48  __pruabi_addd                
-0     00000d90  __pruabi_mpyf                
-0     00000f58  modf                         
-0     00001058  __pruabi_gtd                 
-0     0000110c  __pruabi_ged                 
-0     000011bc  __pruabi_ltd                 
-0     0000126c  main                         
-0     0000131c  __TI_frcmpyf                 
-0     000013c4  __pruabi_fixdu               
-0     00001464  __pruabi_nround              
-0     00001500  __pruabi_eqd                 
-0     00001590  __TI_renormd                 
-0     0000161c  __pruabi_fixdi               
-0     000016a8  __pruabi_fltid               
-0     0000172c  __pruabi_cvtfd               
-0     000017a4  __pruabi_fltuf               
-0     000017f4  __pruabi_asri                
-0     00001820  __pruabi_subd                
-0     0000184c  __pruabi_mpyi                
-0     00001870  __pruabi_negd                
-0     00001890  __pruabi_trunc               
-0     000018b0  abort                        
-0     000018b8  C$$EXIT                      
-1     00000000  _stack                       
-1     00000100  __TI_STACK_END               
-1     00000140  pru_remoteproc_ResourceTable 
-2     00026000  CT_CFG                       
-abs   00000000  __PRU_CREG_BASE_PRU_DMEM_0_1 
-abs   00000000  __PRU_CREG_PRU_INTC          
-abs   00000001  __PRU_CREG_DMTIMER2          
-abs   00000002  __PRU_CREG_I2C1              
-abs   00000003  __PRU_CREG_PRU_ECAP          
-abs   00000004  __PRU_CREG_PRU_CFG           
-abs   00000005  __PRU_CREG_MMCHS0            
-abs   00000006  __PRU_CREG_MCSPI0            
-abs   00000007  __PRU_CREG_PRU_UART          
-abs   00000008  __PRU_CREG_MCASP0_DMA        
-abs   00000009  __PRU_CREG_GEMAC             
-abs   0000000a  __PRU_CREG_RSVD10            
-abs   0000000b  __PRU_CREG_UART1             
-abs   0000000c  __PRU_CREG_UART2             
-abs   0000000d  __PRU_CREG_RSVD13            
-abs   0000000e  __PRU_CREG_DCAN0             
-abs   0000000f  __PRU_CREG_DCAN1             
-abs   00000010  __PRU_CREG_MCSPI1            
-abs   00000011  __PRU_CREG_I2C2              
-abs   00000012  __PRU_CREG_PWMSS0            
-abs   00000013  __PRU_CREG_PWMSS1            
-abs   00000014  __PRU_CREG_PWMSS2            
-abs   00000015  __PRU_CREG_RSVD21            
-abs   00000016  __PRU_CREG_MBX0              
-abs   00000017  __PRU_CREG_SPINLOCK          
-abs   00000018  __PRU_CREG_PRU_DMEM_0_1      
-abs   00000019  __PRU_CREG_PRU_DMEM_1_0      
-abs   0000001a  __PRU_CREG_PRU_IEP           
-abs   0000001b  __PRU_CREG_RSVD27            
-abs   0000001c  __PRU_CREG_PRU_SHAREDMEM     
-abs   0000001d  __PRU_CREG_TPCC              
-abs   0000001e  __PRU_CREG_L3OCMC            
-abs   0000001f  __PRU_CREG_DDR               
-abs   00000100  __TI_STACK_SIZE              
-abs   00002000  __PRU_CREG_BASE_PRU_DMEM_1_0 
-abs   00010000  __PRU_CREG_BASE_PRU_SHAREDMEM
-abs   00020000  __PRU_CREG_BASE_PRU_INTC     
-abs   00026000  __PRU_CREG_BASE_PRU_CFG      
-abs   00028000  __PRU_CREG_BASE_PRU_UART     
-abs   0002e000  __PRU_CREG_BASE_PRU_IEP      
-abs   00030000  __PRU_CREG_BASE_PRU_ECAP     
-abs   00032000  __PRU_CREG_BASE_RSVD27       
-abs   00032400  __PRU_CREG_BASE_RSVD21       
-abs   40000000  __PRU_CREG_BASE_L3OCMC       
-abs   46000000  __PRU_CREG_BASE_MCASP0_DMA   
-abs   48022000  __PRU_CREG_BASE_UART1        
-abs   48024000  __PRU_CREG_BASE_UART2        
-abs   4802a000  __PRU_CREG_BASE_I2C1         
-abs   48030000  __PRU_CREG_BASE_MCSPI0       
-abs   48040000  __PRU_CREG_BASE_DMTIMER2     
-abs   48060000  __PRU_CREG_BASE_MMCHS0       
-abs   480c8000  __PRU_CREG_BASE_MBX0         
-abs   480ca000  __PRU_CREG_BASE_SPINLOCK     
-abs   4819c000  __PRU_CREG_BASE_I2C2         
-abs   481a0000  __PRU_CREG_BASE_MCSPI1       
-abs   481cc000  __PRU_CREG_BASE_DCAN0        
-abs   481d0000  __PRU_CREG_BASE_DCAN1        
-abs   48300000  __PRU_CREG_BASE_PWMSS0       
-abs   48302000  __PRU_CREG_BASE_PWMSS1       
-abs   48304000  __PRU_CREG_BASE_PWMSS2       
-abs   48310000  __PRU_CREG_BASE_RSVD13       
-abs   48318000  __PRU_CREG_BASE_RSVD10       
-abs   49000000  __PRU_CREG_BASE_TPCC         
-abs   4a100000  __PRU_CREG_BASE_GEMAC        
-abs   80000000  __PRU_CREG_BASE_DDR          
-abs   ffffffff  __binit__                    
-abs   ffffffff  __c_args__                   
-abs   ffffffff  binit                        
-
-[100 symbols]
diff --git a/books/pru-cookbook/05blocks/code/sine.pru0.c b/books/pru-cookbook/05blocks/code/sine.pru0.c
deleted file mode 100644
index ed6b5778..00000000
--- a/books/pru-cookbook/05blocks/code/sine.pru0.c
+++ /dev/null
@@ -1,58 +0,0 @@
-// Generate an analog waveform and use a filter to reconstruct it.
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include <math.h>
-
-#define MAXT	100	// Maximum number of time samples
-#define SAWTOOTH	// Pick which waveform
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t onCount;		// Current count for 1 out
-	uint32_t offCount;		// count for 0 out
-	uint32_t i;
-	uint32_t waveform[MAXT]; // Waveform to be produced
-
-	// Generate a periodic wave in an array of MAXT values
-#ifdef SAWTOOTH
-	for(i=0; i<MAXT; i++) {
-		waveform[i] = i*100/MAXT;
-	}
-#endif
-#ifdef TRIANGLE
-	for(i=0; i<MAXT/2; i++) {
-		waveform[i]        = 2*i*100/MAXT;
-		waveform[MAXT-i-1] = 2*i*100/MAXT;
-	}
-#endif
-#ifdef SINE
-	float gain = 50.0f;
-	float bias = 50.0f;
-	float freq = 2.0f * 3.14159f / MAXT;
-	for (i=0; i<MAXT; i++){
-		waveform[i] = (uint32_t)(bias+gain*sin(i*freq));
-	}
-#endif
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	while (1) {
-		// Generate a PWM signal whose duty cycle matches
-		// the amplitude of the signal.
-		for(i=0; i<MAXT; i++) {
-			onCount = waveform[i];
-			offCount = 100 - onCount;
-			while(onCount--) {
-				__R30 |= 0x1;		// Set the GPIO pin to 1
-			}
-			while(offCount--) {
-				__R30 &= ~(0x1);	// Clear the GPIO pin
-			}
-		}
-	}
-}
diff --git a/books/pru-cookbook/05blocks/code/write_init_pins.sh b/books/pru-cookbook/05blocks/code/write_init_pins.sh
deleted file mode 100755
index f5208236..00000000
--- a/books/pru-cookbook/05blocks/code/write_init_pins.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-init_pins=$(readelf -x .init_pins $1 | grep 0x000 | cut -d' ' -f4-7 | xxd -r -p | tr '\0' '\n' | paste - -)
-while read -a line; do
-    if [ ${#line[@]} == 2 ]; then
-        echo writing \"${line[1]}\" to \"${line[0]}\"
-        echo ${line[1]} > ${line[0]}
-        sleep 0.1
-    fi
-done <<< "$init_pins"
diff --git a/books/pru-cookbook/06io/code/Makefile b/books/pru-cookbook/06io/code/Makefile
deleted file mode 100644
index a7557fda..00000000
--- a/books/pru-cookbook/06io/code/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-include /var/lib/cloud9/common/Makefile
diff --git a/books/pru-cookbook/06io/code/gpio.pru0.c b/books/pru-cookbook/06io/code/gpio.pru0.c
deleted file mode 100644
index bcab90ef..00000000
--- a/books/pru-cookbook/06io/code/gpio.pru0.c
+++ /dev/null
@@ -1,23 +0,0 @@
-// This code accesses GPIO without using R30 and R31
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-#define P9_11	(0x1<<30)			// Bit position tied to P9_11 on Black
-#define P2_05	(0x1<<30)			// Bit position tied to P2_05 on Pocket
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t *gpio0 = (uint32_t *)GPIO0;
-	
-	while(1) {
-		gpio0[GPIO_SETDATAOUT]   = P9_11;
-		__delay_cycles(100000000);
-		gpio0[GPIO_CLEARDATAOUT] = P9_11;
-		__delay_cycles(100000000);
-	}
-}
diff --git a/books/pru-cookbook/06io/code/setup.sh b/books/pru-cookbook/06io/code/setup.sh
deleted file mode 100755
index e676ed7a..00000000
--- a/books/pru-cookbook/06io/code/setup.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-
-export TARGET=gpio.pru0
-echo TARGET=$TARGET
-
-# Configure the PRU pins based on which Beagle is running
-machine=$(awk '{print $NF}' /proc/device-tree/model)
-echo -n $machine
-if [ $machine = "Black" ]; then
-    echo " Found"
-    pins="P9_11"
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    pins="P2_05"
-else
-    echo " Not Found"
-    pins=""
-fi
-
-for pin in $pins
-do
-    echo $pin
-    config-pin $pin gpio
-    config-pin -q $pin
-done
diff --git a/books/pru-cookbook/07more/code/Makefile b/books/pru-cookbook/07more/code/Makefile
deleted file mode 100644
index a7557fda..00000000
--- a/books/pru-cookbook/07more/code/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-include /var/lib/cloud9/common/Makefile
diff --git a/books/pru-cookbook/07more/code/copyright.c b/books/pru-cookbook/07more/code/copyright.c
deleted file mode 100644
index 63b6a419..00000000
--- a/books/pru-cookbook/07more/code/copyright.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *	* Redistributions of source code must retain the above copyright
- *	  notice, this list of conditions and the following disclaimer.
- *
- *	* Redistributions in binary form must reproduce the above copyright
- *	  notice, this list of conditions and the following disclaimer in the
- *	  documentation and/or other materials provided with the
- *	  distribution.
- *
- *	* Neither the name of Texas Instruments Incorporated nor the names of
- *	  its contributors may be used to endorse or promote products derived
- *	  from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
- 
\ No newline at end of file
diff --git a/books/pru-cookbook/07more/code/cycle.pru0.c b/books/pru-cookbook/07more/code/cycle.pru0.c
deleted file mode 100644
index 73055d9f..00000000
--- a/books/pru-cookbook/07more/code/cycle.pru0.c
+++ /dev/null
@@ -1,32 +0,0 @@
-// Access the CYCLE and STALL registers
-#include <stdint.h>
-#include <pru_cfg.h>
-#include <pru_ctrl.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t gpio = P9_31;	// Select which pin to toggle.;
-
-	// These will be kept in registers and never witten to DRAM
-	uint32_t cycle, stall;
-
-	// Clear SYSCFG[STANDBY_INIT] to enable OCP master port
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-	
-	PRU0_CTRL.CTRL_bit.CTR_EN = 1;	// Enable cycle counter
-
-	__R30 |= gpio;				// Set the GPIO pin to 1
-	// Reset cycle counter, cycle is on the right side to force the compiler
-	// to put it in it's own register
-	PRU0_CTRL.CYCLE = cycle;
-	__R30 &= ~gpio;				// Clear the GPIO pin
-	cycle = PRU0_CTRL.CYCLE;	// Read cycle and store in a register
-	stall = PRU0_CTRL.STALL;	// Ditto for stall
-
-	__halt();
-}
diff --git a/books/pru-cookbook/07more/code/cycle.pru0.lst b/books/pru-cookbook/07more/code/cycle.pru0.lst
deleted file mode 100644
index f2e13176..00000000
--- a/books/pru-cookbook/07more/code/cycle.pru0.lst
+++ /dev/null
@@ -1,3082 +0,0 @@
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE    1
-
-       1;******************************************************************************
-       2;* PRU C/C++ Codegen                                              Unix v2.1.5 *
-       3;* Date/Time created: Fri Jun  5 14:14:07 2020                                *
-       4;******************************************************************************
-       5        .compiler_opts --abi=eabi --endian=little --hll_source=on --object_format=elf --silicon_versio
-       6
-       7$C$DW$CU        .dwtag  DW_TAG_compile_unit
-       8        .dwattr $C$DW$CU, DW_AT_name("cycle.pru0.c")
-       9        .dwattr $C$DW$CU, DW_AT_producer("TI PRU C/C++ Codegen Unix v2.1.5 Copyright (c) 2012-2017 Tex
-      10        .dwattr $C$DW$CU, DW_AT_TI_version(0x01)
-      11        .dwattr $C$DW$CU, DW_AT_comp_dir("/home/debian/PRUCookbook/docs/07more/code")
-      12        .global __PRU_CREG_PRU_CFG
-      13
-      14$C$DW$1 .dwtag  DW_TAG_subprogram, DW_AT_name("__halt")
-      15        .dwattr $C$DW$1, DW_AT_TI_symbol_name("__halt")
-      16        .dwattr $C$DW$1, DW_AT_declaration
-      17        .dwattr $C$DW$1, DW_AT_external
-      18        .weak   ||CT_CFG||
-      19 00000000                 ||CT_CFG||:     .usect  ".creg.PRU_CFG.noload.near",68,1
-      20$C$DW$2 .dwtag  DW_TAG_variable, DW_AT_name("CT_CFG")
-      21        .dwattr $C$DW$2, DW_AT_TI_symbol_name("CT_CFG")
-      22        .dwattr $C$DW$2, DW_AT_location[DW_OP_addr ||CT_CFG||]
-      23        .dwattr $C$DW$2, DW_AT_type(*$C$DW$T$98)
-      24        .dwattr $C$DW$2, DW_AT_external
-      25        .dwattr $C$DW$2, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru_
-      26        .dwattr $C$DW$2, DW_AT_decl_line(0xf2)
-      27        .dwattr $C$DW$2, DW_AT_decl_column(0x17)
-      28        .global ||pru_remoteproc_ResourceTable||
-      29 00000000                         .sect   ".resource_table:retain", RW
-      30        .retain
-      31        .align  1
-      32        .elfsym ||pru_remoteproc_ResourceTable||,SYM_SIZE(20)
-      33 00000000                 ||pru_remoteproc_ResourceTable||:
-      34 00000000 00000000000001          .bits   1,32                    ; pru_remoteproc_ResourceTable.base.ver @ 0
-      35 00000004 00000000000000          .bits   0,32                    ; pru_remoteproc_ResourceTable.base.num @ 32
-      36 00000008 00000000000000          .bits   0,32                    ; pru_remoteproc_ResourceTable.base.reserved[0] @ 64
-      37 0000000c 00000000000000          .bits   0,32                    ; pru_remoteproc_ResourceTable.base.reserved[1] @ 96
-      38 00000010 00000000000000          .bits   0,32                    ; pru_remoteproc_ResourceTable.offset[0] @ 128
-      39
-      40$C$DW$3 .dwtag  DW_TAG_variable, DW_AT_name("pru_remoteproc_ResourceTable")
-      41        .dwattr $C$DW$3, DW_AT_TI_symbol_name("pru_remoteproc_ResourceTable")
-      42        .dwattr $C$DW$3, DW_AT_location[DW_OP_addr ||pru_remoteproc_ResourceTable||]
-      43        .dwattr $C$DW$3, DW_AT_type(*$C$DW$T$92)
-      44        .dwattr $C$DW$3, DW_AT_external
-      45        .dwattr $C$DW$3, DW_AT_decl_file("/var/lib/cloud9/common/resource_table_empty.h")
-      46        .dwattr $C$DW$3, DW_AT_decl_line(0x1f)
-      47        .dwattr $C$DW$3, DW_AT_decl_column(0x1a)
-      48;       optpru /tmp/TI18yQKu8QO /tmp/TI18y6Ruqzt 
-      49;       acpiapru -@/tmp/TI18yH9tQJL 
-      50 00000000                         .sect   ".text:main"
-      51        .clink
-      52        .global ||main||
-      53
-      54$C$DW$4 .dwtag  DW_TAG_subprogram, DW_AT_name("main")
-      55        .dwattr $C$DW$4, DW_AT_low_pc(||main||)
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE    2
-
-      56        .dwattr $C$DW$4, DW_AT_high_pc(0x00)
-      57        .dwattr $C$DW$4, DW_AT_TI_symbol_name("main")
-      58        .dwattr $C$DW$4, DW_AT_external
-      59        .dwattr $C$DW$4, DW_AT_TI_begin_file("cycle.pru0.c")
-      60        .dwattr $C$DW$4, DW_AT_TI_begin_line(0x0d)
-      61        .dwattr $C$DW$4, DW_AT_TI_begin_column(0x06)
-      62        .dwattr $C$DW$4, DW_AT_decl_file("cycle.pru0.c")
-      63        .dwattr $C$DW$4, DW_AT_decl_line(0x0d)
-      64        .dwattr $C$DW$4, DW_AT_decl_column(0x06)
-      65        .dwattr $C$DW$4, DW_AT_TI_max_frame_size(0x00)
-      66        .dwpsn  file "cycle.pru0.c",line 14,column 1,is_stmt,address ||main||,isa 0
-      67
-      68        .dwfde $C$DW$CIE, ||main||
-      69;----------------------------------------------------------------------
-      70;  13 | void main(void)                                                        
-      71;  15 | uint32_t gpio = P9_31;  // Select which pin to toggle.;                
-      72;  17 | // These will be kept in registers and never witten to DRAM            
-      73;  18 | uint32_t cycle, stall;                                                 
-      74;  20 | // Clear SYSCFG[STANDBY_INIT] to enable OCP master port                
-      75;----------------------------------------------------------------------
-      76
-      77;***************************************************************
-      78;* FNAME: main                          FR SIZE:   0           *
-      79;*                                                             *
-      80;* FUNCTION ENVIRONMENT                                        *
-      81;*                                                             *
-      82;* FUNCTION PROPERTIES                                         *
-      83;*                            0 Auto,  0 SOE     *
-      84;***************************************************************
-      85
-      86||main||:
-      87;* --------------------------------------------------------------------------*
-      88;* r0_0  assigned to $O$C1
-      89;* r14_0 assigned to cycle
-      90$C$DW$5 .dwtag  DW_TAG_variable, DW_AT_name("cycle")
-      91        .dwattr $C$DW$5, DW_AT_TI_symbol_name("cycle")
-      92        .dwattr $C$DW$5, DW_AT_type(*$C$DW$T$32)
-      93        .dwattr $C$DW$5, DW_AT_location[DW_OP_regx 0x38]
-      94        .dwcfi  cfa_offset, 0
-      95        .dwpsn  file "cycle.pru0.c",line 21,column 2,is_stmt,isa 0
-      96;----------------------------------------------------------------------
-      97;  21 | CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;                                    
-      98;----------------------------------------------------------------------
-      99 00000000 00000091042080!         LBCO      &r0, __PRU_CREG_PRU_CFG, $CSBREL(||CT_CFG||+4), 4 ; [ALU_PRU] |21| CT_CFG
-     100 00000004 0000001D04E0E0          CLR       r0, r0, 0x00000004    ; [ALU_PRU] |21| 
-     101 00000008 00000081042080!         SBCO      &r0, __PRU_CREG_PRU_CFG, $CSBREL(||CT_CFG||+4), 4 ; [ALU_PRU] |21| CT_CFG
-     102        .dwpsn  file "cycle.pru0.c",line 23,column 2,is_stmt,isa 0
-     103;----------------------------------------------------------------------
-     104;  23 | PRU0_CTRL.CTRL_bit.CTR_EN = 1;  // Enable cycle counter                
-     105;----------------------------------------------------------------------
-     106 0000000c 200080240002C0          LDI32     r0, 0x00022000        ; [ALU_PRU] |23| $O$C1
-     107 00000014 000000F1002081          LBBO      &r1, r0, 0, 4         ; [ALU_PRU] |23| 
-     108 00000018 0000001F03E1E1          SET       r1, r1, 0x00000003    ; [ALU_PRU] |23| 
-     109 0000001c 000000E1002081          SBBO      &r1, r0, 0, 4         ; [ALU_PRU] |23| 
-     110        .dwpsn  file "cycle.pru0.c",line 25,column 2,is_stmt,isa 0
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE    3
-
-     111;----------------------------------------------------------------------
-     112;  25 | __R30 |= gpio;                          // Set the GPIO pin to 1       
-     113;  26 | // Reset cycle counter, cycle is on the right side to force the compile
-     114;     | r                                                                      
-     115;  27 | // to put it in it's own register                                      
-     116;----------------------------------------------------------------------
-     117 00000020 0000001F00FEFE          SET       r30, r30, 0x00000000  ; [ALU_PRU] |25| 
-     118        .dwpsn  file "cycle.pru0.c",line 28,column 2,is_stmt,isa 0
-     119;----------------------------------------------------------------------
-     120;  28 | PRU0_CTRL.CYCLE = cycle;                                               
-     121;----------------------------------------------------------------------
-     122 00000024 000000E10C208E          SBBO      &r14, r0, 12, 4       ; [ALU_PRU] |28| $O$C1,cycle
-     123        .dwpsn  file "cycle.pru0.c",line 29,column 2,is_stmt,isa 0
-     124;----------------------------------------------------------------------
-     125;  29 | __R30 &= ~gpio;                         // Clear the GPIO pin          
-     126;----------------------------------------------------------------------
-     127 00000028 0000001D00FEFE          CLR       r30, r30, 0x00000000  ; [ALU_PRU] |29| 
-     128        .dwpsn  file "cycle.pru0.c",line 30,column 2,is_stmt,isa 0
-     129;----------------------------------------------------------------------
-     130;  30 | cycle = PRU0_CTRL.CYCLE;        // Read cycle and store in a register  
-     131;----------------------------------------------------------------------
-     132 0000002c 000000F10C2081          LBBO      &r1, r0, 12, 4        ; [ALU_PRU] |30| $O$C1
-     133        .dwpsn  file "cycle.pru0.c",line 31,column 2,is_stmt,isa 0
-     134;----------------------------------------------------------------------
-     135;  31 | stall = PRU0_CTRL.STALL;        // Ditto for stall                     
-     136;----------------------------------------------------------------------
-     137 00000030 000000F1102080          LBBO      &r0, r0, 16, 4        ; [ALU_PRU] |31| $O$C1
-     138        .dwpsn  file "cycle.pru0.c",line 33,column 2,is_stmt,isa 0
-     139;----------------------------------------------------------------------
-     140;  33 | __halt();                                                              
-     141;----------------------------------------------------------------------
-     142 00000034 0000002A000000          HALT      ; [ALU_PRU] |33| 
-     143$C$DW$6 .dwtag  DW_TAG_TI_branch
-     144        .dwattr $C$DW$6, DW_AT_low_pc(0x00)
-     145        .dwattr $C$DW$6, DW_AT_TI_return
-     146 00000038 00000020C30000          JMP       r3.w2                 ; [ALU_PRU] 
-     147        .dwattr $C$DW$4, DW_AT_TI_end_file("cycle.pru0.c")
-     148        .dwattr $C$DW$4, DW_AT_TI_end_line(0x22)
-     149        .dwattr $C$DW$4, DW_AT_TI_end_column(0x01)
-     150        .dwendentry
-     151        .dwendtag $C$DW$4
-     152
-     153
-     154;******************************************************************************
-     155;* TYPE INFORMATION                                                           *
-     156;******************************************************************************
-     157
-     158$C$DW$T$19      .dwtag  DW_TAG_structure_type
-     159        .dwattr $C$DW$T$19, DW_AT_byte_size(0x04)
-     160$C$DW$7 .dwtag  DW_TAG_member
-     161        .dwattr $C$DW$7, DW_AT_type(*$C$DW$T$11)
-     162        .dwattr $C$DW$7, DW_AT_name("REVID")
-     163        .dwattr $C$DW$7, DW_AT_TI_symbol_name("REVID")
-     164        .dwattr $C$DW$7, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x20)
-     165        .dwattr $C$DW$7, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE    4
-
-     166        .dwattr $C$DW$7, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     167        .dwattr $C$DW$7, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru_
-     168        .dwattr $C$DW$7, DW_AT_decl_line(0x2d)
-     169        .dwattr $C$DW$7, DW_AT_decl_column(0x0d)
-     170        .dwendtag $C$DW$T$19
-     171
-     172        .dwattr $C$DW$T$19, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-     173        .dwattr $C$DW$T$19, DW_AT_decl_line(0x2c)
-     174        .dwattr $C$DW$T$19, DW_AT_decl_column(0x13)
-     175$C$DW$T$48      .dwtag  DW_TAG_volatile_type
-     176        .dwattr $C$DW$T$48, DW_AT_type(*$C$DW$T$19)
-     177
-     178$C$DW$T$20      .dwtag  DW_TAG_structure_type
-     179        .dwattr $C$DW$T$20, DW_AT_byte_size(0x04)
-     180$C$DW$8 .dwtag  DW_TAG_member
-     181        .dwattr $C$DW$8, DW_AT_type(*$C$DW$T$11)
-     182        .dwattr $C$DW$8, DW_AT_name("IDLE_MODE")
-     183        .dwattr $C$DW$8, DW_AT_TI_symbol_name("IDLE_MODE")
-     184        .dwattr $C$DW$8, DW_AT_bit_offset(0x1e), DW_AT_bit_size(0x02)
-     185        .dwattr $C$DW$8, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     186        .dwattr $C$DW$8, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     187        .dwattr $C$DW$8, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru_
-     188        .dwattr $C$DW$8, DW_AT_decl_line(0x37)
-     189        .dwattr $C$DW$8, DW_AT_decl_column(0x0d)
-     190$C$DW$9 .dwtag  DW_TAG_member
-     191        .dwattr $C$DW$9, DW_AT_type(*$C$DW$T$11)
-     192        .dwattr $C$DW$9, DW_AT_name("STANDBY_MODE")
-     193        .dwattr $C$DW$9, DW_AT_TI_symbol_name("STANDBY_MODE")
-     194        .dwattr $C$DW$9, DW_AT_bit_offset(0x1c), DW_AT_bit_size(0x02)
-     195        .dwattr $C$DW$9, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     196        .dwattr $C$DW$9, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     197        .dwattr $C$DW$9, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru_
-     198        .dwattr $C$DW$9, DW_AT_decl_line(0x38)
-     199        .dwattr $C$DW$9, DW_AT_decl_column(0x0d)
-     200$C$DW$10        .dwtag  DW_TAG_member
-     201        .dwattr $C$DW$10, DW_AT_type(*$C$DW$T$11)
-     202        .dwattr $C$DW$10, DW_AT_name("STANDBY_INIT")
-     203        .dwattr $C$DW$10, DW_AT_TI_symbol_name("STANDBY_INIT")
-     204        .dwattr $C$DW$10, DW_AT_bit_offset(0x1b), DW_AT_bit_size(0x01)
-     205        .dwattr $C$DW$10, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     206        .dwattr $C$DW$10, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     207        .dwattr $C$DW$10, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     208        .dwattr $C$DW$10, DW_AT_decl_line(0x39)
-     209        .dwattr $C$DW$10, DW_AT_decl_column(0x0d)
-     210$C$DW$11        .dwtag  DW_TAG_member
-     211        .dwattr $C$DW$11, DW_AT_type(*$C$DW$T$11)
-     212        .dwattr $C$DW$11, DW_AT_name("SUB_MWAIT")
-     213        .dwattr $C$DW$11, DW_AT_TI_symbol_name("SUB_MWAIT")
-     214        .dwattr $C$DW$11, DW_AT_bit_offset(0x1a), DW_AT_bit_size(0x01)
-     215        .dwattr $C$DW$11, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     216        .dwattr $C$DW$11, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     217        .dwattr $C$DW$11, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     218        .dwattr $C$DW$11, DW_AT_decl_line(0x3a)
-     219        .dwattr $C$DW$11, DW_AT_decl_column(0x0d)
-     220$C$DW$12        .dwtag  DW_TAG_member
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE    5
-
-     221        .dwattr $C$DW$12, DW_AT_type(*$C$DW$T$11)
-     222        .dwattr $C$DW$12, DW_AT_name("rsvd6")
-     223        .dwattr $C$DW$12, DW_AT_TI_symbol_name("rsvd6")
-     224        .dwattr $C$DW$12, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x1a)
-     225        .dwattr $C$DW$12, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     226        .dwattr $C$DW$12, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     227        .dwattr $C$DW$12, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     228        .dwattr $C$DW$12, DW_AT_decl_line(0x3b)
-     229        .dwattr $C$DW$12, DW_AT_decl_column(0x0d)
-     230        .dwendtag $C$DW$T$20
-     231
-     232        .dwattr $C$DW$T$20, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-     233        .dwattr $C$DW$T$20, DW_AT_decl_line(0x36)
-     234        .dwattr $C$DW$T$20, DW_AT_decl_column(0x13)
-     235$C$DW$T$50      .dwtag  DW_TAG_volatile_type
-     236        .dwattr $C$DW$T$50, DW_AT_type(*$C$DW$T$20)
-     237
-     238$C$DW$T$21      .dwtag  DW_TAG_structure_type
-     239        .dwattr $C$DW$T$21, DW_AT_byte_size(0x04)
-     240$C$DW$13        .dwtag  DW_TAG_member
-     241        .dwattr $C$DW$13, DW_AT_type(*$C$DW$T$11)
-     242        .dwattr $C$DW$13, DW_AT_name("PRU0_GPI_MODE")
-     243        .dwattr $C$DW$13, DW_AT_TI_symbol_name("PRU0_GPI_MODE")
-     244        .dwattr $C$DW$13, DW_AT_bit_offset(0x1e), DW_AT_bit_size(0x02)
-     245        .dwattr $C$DW$13, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     246        .dwattr $C$DW$13, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     247        .dwattr $C$DW$13, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     248        .dwattr $C$DW$13, DW_AT_decl_line(0x45)
-     249        .dwattr $C$DW$13, DW_AT_decl_column(0x0d)
-     250$C$DW$14        .dwtag  DW_TAG_member
-     251        .dwattr $C$DW$14, DW_AT_type(*$C$DW$T$11)
-     252        .dwattr $C$DW$14, DW_AT_name("PRU0_GPI_CLK_MODE")
-     253        .dwattr $C$DW$14, DW_AT_TI_symbol_name("PRU0_GPI_CLK_MODE")
-     254        .dwattr $C$DW$14, DW_AT_bit_offset(0x1d), DW_AT_bit_size(0x01)
-     255        .dwattr $C$DW$14, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     256        .dwattr $C$DW$14, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     257        .dwattr $C$DW$14, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     258        .dwattr $C$DW$14, DW_AT_decl_line(0x46)
-     259        .dwattr $C$DW$14, DW_AT_decl_column(0x0d)
-     260$C$DW$15        .dwtag  DW_TAG_member
-     261        .dwattr $C$DW$15, DW_AT_type(*$C$DW$T$11)
-     262        .dwattr $C$DW$15, DW_AT_name("PRU0_GPI_DIV0")
-     263        .dwattr $C$DW$15, DW_AT_TI_symbol_name("PRU0_GPI_DIV0")
-     264        .dwattr $C$DW$15, DW_AT_bit_offset(0x18), DW_AT_bit_size(0x05)
-     265        .dwattr $C$DW$15, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     266        .dwattr $C$DW$15, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     267        .dwattr $C$DW$15, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     268        .dwattr $C$DW$15, DW_AT_decl_line(0x47)
-     269        .dwattr $C$DW$15, DW_AT_decl_column(0x0d)
-     270$C$DW$16        .dwtag  DW_TAG_member
-     271        .dwattr $C$DW$16, DW_AT_type(*$C$DW$T$11)
-     272        .dwattr $C$DW$16, DW_AT_name("PRU0_GPI_DIV1")
-     273        .dwattr $C$DW$16, DW_AT_TI_symbol_name("PRU0_GPI_DIV1")
-     274        .dwattr $C$DW$16, DW_AT_bit_offset(0x13), DW_AT_bit_size(0x05)
-     275        .dwattr $C$DW$16, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE    6
-
-     276        .dwattr $C$DW$16, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     277        .dwattr $C$DW$16, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     278        .dwattr $C$DW$16, DW_AT_decl_line(0x48)
-     279        .dwattr $C$DW$16, DW_AT_decl_column(0x0d)
-     280$C$DW$17        .dwtag  DW_TAG_member
-     281        .dwattr $C$DW$17, DW_AT_type(*$C$DW$T$11)
-     282        .dwattr $C$DW$17, DW_AT_name("PRU0_GPI_SB")
-     283        .dwattr $C$DW$17, DW_AT_TI_symbol_name("PRU0_GPI_SB")
-     284        .dwattr $C$DW$17, DW_AT_bit_offset(0x12), DW_AT_bit_size(0x01)
-     285        .dwattr $C$DW$17, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     286        .dwattr $C$DW$17, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     287        .dwattr $C$DW$17, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     288        .dwattr $C$DW$17, DW_AT_decl_line(0x49)
-     289        .dwattr $C$DW$17, DW_AT_decl_column(0x0d)
-     290$C$DW$18        .dwtag  DW_TAG_member
-     291        .dwattr $C$DW$18, DW_AT_type(*$C$DW$T$11)
-     292        .dwattr $C$DW$18, DW_AT_name("PRU0_GPO_MODE")
-     293        .dwattr $C$DW$18, DW_AT_TI_symbol_name("PRU0_GPO_MODE")
-     294        .dwattr $C$DW$18, DW_AT_bit_offset(0x11), DW_AT_bit_size(0x01)
-     295        .dwattr $C$DW$18, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     296        .dwattr $C$DW$18, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     297        .dwattr $C$DW$18, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     298        .dwattr $C$DW$18, DW_AT_decl_line(0x4a)
-     299        .dwattr $C$DW$18, DW_AT_decl_column(0x0d)
-     300$C$DW$19        .dwtag  DW_TAG_member
-     301        .dwattr $C$DW$19, DW_AT_type(*$C$DW$T$11)
-     302        .dwattr $C$DW$19, DW_AT_name("PRU0_GPO_DIV0")
-     303        .dwattr $C$DW$19, DW_AT_TI_symbol_name("PRU0_GPO_DIV0")
-     304        .dwattr $C$DW$19, DW_AT_bit_offset(0x0c), DW_AT_bit_size(0x05)
-     305        .dwattr $C$DW$19, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     306        .dwattr $C$DW$19, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     307        .dwattr $C$DW$19, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     308        .dwattr $C$DW$19, DW_AT_decl_line(0x4b)
-     309        .dwattr $C$DW$19, DW_AT_decl_column(0x0d)
-     310$C$DW$20        .dwtag  DW_TAG_member
-     311        .dwattr $C$DW$20, DW_AT_type(*$C$DW$T$11)
-     312        .dwattr $C$DW$20, DW_AT_name("PRU0_GPO_DIV1")
-     313        .dwattr $C$DW$20, DW_AT_TI_symbol_name("PRU0_GPO_DIV1")
-     314        .dwattr $C$DW$20, DW_AT_bit_offset(0x07), DW_AT_bit_size(0x05)
-     315        .dwattr $C$DW$20, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     316        .dwattr $C$DW$20, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     317        .dwattr $C$DW$20, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     318        .dwattr $C$DW$20, DW_AT_decl_line(0x4c)
-     319        .dwattr $C$DW$20, DW_AT_decl_column(0x0d)
-     320$C$DW$21        .dwtag  DW_TAG_member
-     321        .dwattr $C$DW$21, DW_AT_type(*$C$DW$T$11)
-     322        .dwattr $C$DW$21, DW_AT_name("PRU0_GPO_SH_SEL")
-     323        .dwattr $C$DW$21, DW_AT_TI_symbol_name("PRU0_GPO_SH_SEL")
-     324        .dwattr $C$DW$21, DW_AT_bit_offset(0x06), DW_AT_bit_size(0x01)
-     325        .dwattr $C$DW$21, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     326        .dwattr $C$DW$21, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     327        .dwattr $C$DW$21, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     328        .dwattr $C$DW$21, DW_AT_decl_line(0x4d)
-     329        .dwattr $C$DW$21, DW_AT_decl_column(0x0d)
-     330$C$DW$22        .dwtag  DW_TAG_member
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE    7
-
-     331        .dwattr $C$DW$22, DW_AT_type(*$C$DW$T$11)
-     332        .dwattr $C$DW$22, DW_AT_name("rsvd26")
-     333        .dwattr $C$DW$22, DW_AT_TI_symbol_name("rsvd26")
-     334        .dwattr $C$DW$22, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x06)
-     335        .dwattr $C$DW$22, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     336        .dwattr $C$DW$22, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     337        .dwattr $C$DW$22, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     338        .dwattr $C$DW$22, DW_AT_decl_line(0x4e)
-     339        .dwattr $C$DW$22, DW_AT_decl_column(0x0d)
-     340        .dwendtag $C$DW$T$21
-     341
-     342        .dwattr $C$DW$T$21, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-     343        .dwattr $C$DW$T$21, DW_AT_decl_line(0x44)
-     344        .dwattr $C$DW$T$21, DW_AT_decl_column(0x13)
-     345$C$DW$T$52      .dwtag  DW_TAG_volatile_type
-     346        .dwattr $C$DW$T$52, DW_AT_type(*$C$DW$T$21)
-     347
-     348$C$DW$T$22      .dwtag  DW_TAG_structure_type
-     349        .dwattr $C$DW$T$22, DW_AT_byte_size(0x04)
-     350$C$DW$23        .dwtag  DW_TAG_member
-     351        .dwattr $C$DW$23, DW_AT_type(*$C$DW$T$11)
-     352        .dwattr $C$DW$23, DW_AT_name("PRU1_GPI_MODE")
-     353        .dwattr $C$DW$23, DW_AT_TI_symbol_name("PRU1_GPI_MODE")
-     354        .dwattr $C$DW$23, DW_AT_bit_offset(0x1e), DW_AT_bit_size(0x02)
-     355        .dwattr $C$DW$23, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     356        .dwattr $C$DW$23, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     357        .dwattr $C$DW$23, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     358        .dwattr $C$DW$23, DW_AT_decl_line(0x58)
-     359        .dwattr $C$DW$23, DW_AT_decl_column(0x0d)
-     360$C$DW$24        .dwtag  DW_TAG_member
-     361        .dwattr $C$DW$24, DW_AT_type(*$C$DW$T$11)
-     362        .dwattr $C$DW$24, DW_AT_name("PRU1_GPI_CLK_MODE")
-     363        .dwattr $C$DW$24, DW_AT_TI_symbol_name("PRU1_GPI_CLK_MODE")
-     364        .dwattr $C$DW$24, DW_AT_bit_offset(0x1d), DW_AT_bit_size(0x01)
-     365        .dwattr $C$DW$24, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     366        .dwattr $C$DW$24, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     367        .dwattr $C$DW$24, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     368        .dwattr $C$DW$24, DW_AT_decl_line(0x59)
-     369        .dwattr $C$DW$24, DW_AT_decl_column(0x0d)
-     370$C$DW$25        .dwtag  DW_TAG_member
-     371        .dwattr $C$DW$25, DW_AT_type(*$C$DW$T$11)
-     372        .dwattr $C$DW$25, DW_AT_name("PRU1_GPI_DIV0")
-     373        .dwattr $C$DW$25, DW_AT_TI_symbol_name("PRU1_GPI_DIV0")
-     374        .dwattr $C$DW$25, DW_AT_bit_offset(0x18), DW_AT_bit_size(0x05)
-     375        .dwattr $C$DW$25, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     376        .dwattr $C$DW$25, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     377        .dwattr $C$DW$25, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     378        .dwattr $C$DW$25, DW_AT_decl_line(0x5a)
-     379        .dwattr $C$DW$25, DW_AT_decl_column(0x0d)
-     380$C$DW$26        .dwtag  DW_TAG_member
-     381        .dwattr $C$DW$26, DW_AT_type(*$C$DW$T$11)
-     382        .dwattr $C$DW$26, DW_AT_name("PRU1_GPI_DIV1")
-     383        .dwattr $C$DW$26, DW_AT_TI_symbol_name("PRU1_GPI_DIV1")
-     384        .dwattr $C$DW$26, DW_AT_bit_offset(0x13), DW_AT_bit_size(0x05)
-     385        .dwattr $C$DW$26, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE    8
-
-     386        .dwattr $C$DW$26, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     387        .dwattr $C$DW$26, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     388        .dwattr $C$DW$26, DW_AT_decl_line(0x5b)
-     389        .dwattr $C$DW$26, DW_AT_decl_column(0x0d)
-     390$C$DW$27        .dwtag  DW_TAG_member
-     391        .dwattr $C$DW$27, DW_AT_type(*$C$DW$T$11)
-     392        .dwattr $C$DW$27, DW_AT_name("PRU1_GPI_SB")
-     393        .dwattr $C$DW$27, DW_AT_TI_symbol_name("PRU1_GPI_SB")
-     394        .dwattr $C$DW$27, DW_AT_bit_offset(0x12), DW_AT_bit_size(0x01)
-     395        .dwattr $C$DW$27, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     396        .dwattr $C$DW$27, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     397        .dwattr $C$DW$27, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     398        .dwattr $C$DW$27, DW_AT_decl_line(0x5c)
-     399        .dwattr $C$DW$27, DW_AT_decl_column(0x0d)
-     400$C$DW$28        .dwtag  DW_TAG_member
-     401        .dwattr $C$DW$28, DW_AT_type(*$C$DW$T$11)
-     402        .dwattr $C$DW$28, DW_AT_name("PRU1_GPO_MODE")
-     403        .dwattr $C$DW$28, DW_AT_TI_symbol_name("PRU1_GPO_MODE")
-     404        .dwattr $C$DW$28, DW_AT_bit_offset(0x11), DW_AT_bit_size(0x01)
-     405        .dwattr $C$DW$28, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     406        .dwattr $C$DW$28, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     407        .dwattr $C$DW$28, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     408        .dwattr $C$DW$28, DW_AT_decl_line(0x5d)
-     409        .dwattr $C$DW$28, DW_AT_decl_column(0x0d)
-     410$C$DW$29        .dwtag  DW_TAG_member
-     411        .dwattr $C$DW$29, DW_AT_type(*$C$DW$T$11)
-     412        .dwattr $C$DW$29, DW_AT_name("PRU1_GPO_DIV0")
-     413        .dwattr $C$DW$29, DW_AT_TI_symbol_name("PRU1_GPO_DIV0")
-     414        .dwattr $C$DW$29, DW_AT_bit_offset(0x0c), DW_AT_bit_size(0x05)
-     415        .dwattr $C$DW$29, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     416        .dwattr $C$DW$29, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     417        .dwattr $C$DW$29, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     418        .dwattr $C$DW$29, DW_AT_decl_line(0x5e)
-     419        .dwattr $C$DW$29, DW_AT_decl_column(0x0d)
-     420$C$DW$30        .dwtag  DW_TAG_member
-     421        .dwattr $C$DW$30, DW_AT_type(*$C$DW$T$11)
-     422        .dwattr $C$DW$30, DW_AT_name("PRU1_GPO_DIV1")
-     423        .dwattr $C$DW$30, DW_AT_TI_symbol_name("PRU1_GPO_DIV1")
-     424        .dwattr $C$DW$30, DW_AT_bit_offset(0x07), DW_AT_bit_size(0x05)
-     425        .dwattr $C$DW$30, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     426        .dwattr $C$DW$30, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     427        .dwattr $C$DW$30, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     428        .dwattr $C$DW$30, DW_AT_decl_line(0x5f)
-     429        .dwattr $C$DW$30, DW_AT_decl_column(0x0d)
-     430$C$DW$31        .dwtag  DW_TAG_member
-     431        .dwattr $C$DW$31, DW_AT_type(*$C$DW$T$11)
-     432        .dwattr $C$DW$31, DW_AT_name("PRU1_GPO_SH_SEL")
-     433        .dwattr $C$DW$31, DW_AT_TI_symbol_name("PRU1_GPO_SH_SEL")
-     434        .dwattr $C$DW$31, DW_AT_bit_offset(0x06), DW_AT_bit_size(0x01)
-     435        .dwattr $C$DW$31, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     436        .dwattr $C$DW$31, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     437        .dwattr $C$DW$31, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     438        .dwattr $C$DW$31, DW_AT_decl_line(0x60)
-     439        .dwattr $C$DW$31, DW_AT_decl_column(0x0d)
-     440$C$DW$32        .dwtag  DW_TAG_member
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE    9
-
-     441        .dwattr $C$DW$32, DW_AT_type(*$C$DW$T$11)
-     442        .dwattr $C$DW$32, DW_AT_name("rsvd26")
-     443        .dwattr $C$DW$32, DW_AT_TI_symbol_name("rsvd26")
-     444        .dwattr $C$DW$32, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x06)
-     445        .dwattr $C$DW$32, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     446        .dwattr $C$DW$32, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     447        .dwattr $C$DW$32, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     448        .dwattr $C$DW$32, DW_AT_decl_line(0x61)
-     449        .dwattr $C$DW$32, DW_AT_decl_column(0x0d)
-     450        .dwendtag $C$DW$T$22
-     451
-     452        .dwattr $C$DW$T$22, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-     453        .dwattr $C$DW$T$22, DW_AT_decl_line(0x57)
-     454        .dwattr $C$DW$T$22, DW_AT_decl_column(0x13)
-     455$C$DW$T$54      .dwtag  DW_TAG_volatile_type
-     456        .dwattr $C$DW$T$54, DW_AT_type(*$C$DW$T$22)
-     457
-     458$C$DW$T$23      .dwtag  DW_TAG_structure_type
-     459        .dwattr $C$DW$T$23, DW_AT_byte_size(0x04)
-     460$C$DW$33        .dwtag  DW_TAG_member
-     461        .dwattr $C$DW$33, DW_AT_type(*$C$DW$T$11)
-     462        .dwattr $C$DW$33, DW_AT_name("PRU0_CLK_STOP_REQ")
-     463        .dwattr $C$DW$33, DW_AT_TI_symbol_name("PRU0_CLK_STOP_REQ")
-     464        .dwattr $C$DW$33, DW_AT_bit_offset(0x1f), DW_AT_bit_size(0x01)
-     465        .dwattr $C$DW$33, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     466        .dwattr $C$DW$33, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     467        .dwattr $C$DW$33, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     468        .dwattr $C$DW$33, DW_AT_decl_line(0x6b)
-     469        .dwattr $C$DW$33, DW_AT_decl_column(0x0d)
-     470$C$DW$34        .dwtag  DW_TAG_member
-     471        .dwattr $C$DW$34, DW_AT_type(*$C$DW$T$11)
-     472        .dwattr $C$DW$34, DW_AT_name("PRU0_CLK_STOP_ACK")
-     473        .dwattr $C$DW$34, DW_AT_TI_symbol_name("PRU0_CLK_STOP_ACK")
-     474        .dwattr $C$DW$34, DW_AT_bit_offset(0x1e), DW_AT_bit_size(0x01)
-     475        .dwattr $C$DW$34, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     476        .dwattr $C$DW$34, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     477        .dwattr $C$DW$34, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     478        .dwattr $C$DW$34, DW_AT_decl_line(0x6c)
-     479        .dwattr $C$DW$34, DW_AT_decl_column(0x0d)
-     480$C$DW$35        .dwtag  DW_TAG_member
-     481        .dwattr $C$DW$35, DW_AT_type(*$C$DW$T$11)
-     482        .dwattr $C$DW$35, DW_AT_name("PRU0_CLK_EN")
-     483        .dwattr $C$DW$35, DW_AT_TI_symbol_name("PRU0_CLK_EN")
-     484        .dwattr $C$DW$35, DW_AT_bit_offset(0x1d), DW_AT_bit_size(0x01)
-     485        .dwattr $C$DW$35, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     486        .dwattr $C$DW$35, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     487        .dwattr $C$DW$35, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     488        .dwattr $C$DW$35, DW_AT_decl_line(0x6d)
-     489        .dwattr $C$DW$35, DW_AT_decl_column(0x0d)
-     490$C$DW$36        .dwtag  DW_TAG_member
-     491        .dwattr $C$DW$36, DW_AT_type(*$C$DW$T$11)
-     492        .dwattr $C$DW$36, DW_AT_name("PRU1_CLK_STOP_REQ")
-     493        .dwattr $C$DW$36, DW_AT_TI_symbol_name("PRU1_CLK_STOP_REQ")
-     494        .dwattr $C$DW$36, DW_AT_bit_offset(0x1c), DW_AT_bit_size(0x01)
-     495        .dwattr $C$DW$36, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   10
-
-     496        .dwattr $C$DW$36, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     497        .dwattr $C$DW$36, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     498        .dwattr $C$DW$36, DW_AT_decl_line(0x6e)
-     499        .dwattr $C$DW$36, DW_AT_decl_column(0x0d)
-     500$C$DW$37        .dwtag  DW_TAG_member
-     501        .dwattr $C$DW$37, DW_AT_type(*$C$DW$T$11)
-     502        .dwattr $C$DW$37, DW_AT_name("PRU1_CLK_STOP_ACK")
-     503        .dwattr $C$DW$37, DW_AT_TI_symbol_name("PRU1_CLK_STOP_ACK")
-     504        .dwattr $C$DW$37, DW_AT_bit_offset(0x1b), DW_AT_bit_size(0x01)
-     505        .dwattr $C$DW$37, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     506        .dwattr $C$DW$37, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     507        .dwattr $C$DW$37, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     508        .dwattr $C$DW$37, DW_AT_decl_line(0x6f)
-     509        .dwattr $C$DW$37, DW_AT_decl_column(0x0d)
-     510$C$DW$38        .dwtag  DW_TAG_member
-     511        .dwattr $C$DW$38, DW_AT_type(*$C$DW$T$11)
-     512        .dwattr $C$DW$38, DW_AT_name("PRU1_CLK_EN")
-     513        .dwattr $C$DW$38, DW_AT_TI_symbol_name("PRU1_CLK_EN")
-     514        .dwattr $C$DW$38, DW_AT_bit_offset(0x1a), DW_AT_bit_size(0x01)
-     515        .dwattr $C$DW$38, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     516        .dwattr $C$DW$38, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     517        .dwattr $C$DW$38, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     518        .dwattr $C$DW$38, DW_AT_decl_line(0x70)
-     519        .dwattr $C$DW$38, DW_AT_decl_column(0x0d)
-     520$C$DW$39        .dwtag  DW_TAG_member
-     521        .dwattr $C$DW$39, DW_AT_type(*$C$DW$T$11)
-     522        .dwattr $C$DW$39, DW_AT_name("INTC_CLK_STOP_REQ")
-     523        .dwattr $C$DW$39, DW_AT_TI_symbol_name("INTC_CLK_STOP_REQ")
-     524        .dwattr $C$DW$39, DW_AT_bit_offset(0x19), DW_AT_bit_size(0x01)
-     525        .dwattr $C$DW$39, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     526        .dwattr $C$DW$39, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     527        .dwattr $C$DW$39, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     528        .dwattr $C$DW$39, DW_AT_decl_line(0x71)
-     529        .dwattr $C$DW$39, DW_AT_decl_column(0x0d)
-     530$C$DW$40        .dwtag  DW_TAG_member
-     531        .dwattr $C$DW$40, DW_AT_type(*$C$DW$T$11)
-     532        .dwattr $C$DW$40, DW_AT_name("INTC_CLK_STOP_ACK")
-     533        .dwattr $C$DW$40, DW_AT_TI_symbol_name("INTC_CLK_STOP_ACK")
-     534        .dwattr $C$DW$40, DW_AT_bit_offset(0x18), DW_AT_bit_size(0x01)
-     535        .dwattr $C$DW$40, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     536        .dwattr $C$DW$40, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     537        .dwattr $C$DW$40, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     538        .dwattr $C$DW$40, DW_AT_decl_line(0x72)
-     539        .dwattr $C$DW$40, DW_AT_decl_column(0x0d)
-     540$C$DW$41        .dwtag  DW_TAG_member
-     541        .dwattr $C$DW$41, DW_AT_type(*$C$DW$T$11)
-     542        .dwattr $C$DW$41, DW_AT_name("INTC_CLK_EN")
-     543        .dwattr $C$DW$41, DW_AT_TI_symbol_name("INTC_CLK_EN")
-     544        .dwattr $C$DW$41, DW_AT_bit_offset(0x17), DW_AT_bit_size(0x01)
-     545        .dwattr $C$DW$41, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     546        .dwattr $C$DW$41, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     547        .dwattr $C$DW$41, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     548        .dwattr $C$DW$41, DW_AT_decl_line(0x73)
-     549        .dwattr $C$DW$41, DW_AT_decl_column(0x0d)
-     550$C$DW$42        .dwtag  DW_TAG_member
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   11
-
-     551        .dwattr $C$DW$42, DW_AT_type(*$C$DW$T$11)
-     552        .dwattr $C$DW$42, DW_AT_name("UART_CLK_STOP_REQ")
-     553        .dwattr $C$DW$42, DW_AT_TI_symbol_name("UART_CLK_STOP_REQ")
-     554        .dwattr $C$DW$42, DW_AT_bit_offset(0x16), DW_AT_bit_size(0x01)
-     555        .dwattr $C$DW$42, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     556        .dwattr $C$DW$42, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     557        .dwattr $C$DW$42, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     558        .dwattr $C$DW$42, DW_AT_decl_line(0x74)
-     559        .dwattr $C$DW$42, DW_AT_decl_column(0x0d)
-     560$C$DW$43        .dwtag  DW_TAG_member
-     561        .dwattr $C$DW$43, DW_AT_type(*$C$DW$T$11)
-     562        .dwattr $C$DW$43, DW_AT_name("UART_CLK_STOP_ACK")
-     563        .dwattr $C$DW$43, DW_AT_TI_symbol_name("UART_CLK_STOP_ACK")
-     564        .dwattr $C$DW$43, DW_AT_bit_offset(0x15), DW_AT_bit_size(0x01)
-     565        .dwattr $C$DW$43, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     566        .dwattr $C$DW$43, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     567        .dwattr $C$DW$43, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     568        .dwattr $C$DW$43, DW_AT_decl_line(0x75)
-     569        .dwattr $C$DW$43, DW_AT_decl_column(0x0d)
-     570$C$DW$44        .dwtag  DW_TAG_member
-     571        .dwattr $C$DW$44, DW_AT_type(*$C$DW$T$11)
-     572        .dwattr $C$DW$44, DW_AT_name("UART_CLK_EN")
-     573        .dwattr $C$DW$44, DW_AT_TI_symbol_name("UART_CLK_EN")
-     574        .dwattr $C$DW$44, DW_AT_bit_offset(0x14), DW_AT_bit_size(0x01)
-     575        .dwattr $C$DW$44, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     576        .dwattr $C$DW$44, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     577        .dwattr $C$DW$44, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     578        .dwattr $C$DW$44, DW_AT_decl_line(0x76)
-     579        .dwattr $C$DW$44, DW_AT_decl_column(0x0d)
-     580$C$DW$45        .dwtag  DW_TAG_member
-     581        .dwattr $C$DW$45, DW_AT_type(*$C$DW$T$11)
-     582        .dwattr $C$DW$45, DW_AT_name("ECAP_CLK_STOP_REQ")
-     583        .dwattr $C$DW$45, DW_AT_TI_symbol_name("ECAP_CLK_STOP_REQ")
-     584        .dwattr $C$DW$45, DW_AT_bit_offset(0x13), DW_AT_bit_size(0x01)
-     585        .dwattr $C$DW$45, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     586        .dwattr $C$DW$45, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     587        .dwattr $C$DW$45, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     588        .dwattr $C$DW$45, DW_AT_decl_line(0x77)
-     589        .dwattr $C$DW$45, DW_AT_decl_column(0x0d)
-     590$C$DW$46        .dwtag  DW_TAG_member
-     591        .dwattr $C$DW$46, DW_AT_type(*$C$DW$T$11)
-     592        .dwattr $C$DW$46, DW_AT_name("ECAP_CLK_STOP_ACK")
-     593        .dwattr $C$DW$46, DW_AT_TI_symbol_name("ECAP_CLK_STOP_ACK")
-     594        .dwattr $C$DW$46, DW_AT_bit_offset(0x12), DW_AT_bit_size(0x01)
-     595        .dwattr $C$DW$46, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     596        .dwattr $C$DW$46, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     597        .dwattr $C$DW$46, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     598        .dwattr $C$DW$46, DW_AT_decl_line(0x78)
-     599        .dwattr $C$DW$46, DW_AT_decl_column(0x0d)
-     600$C$DW$47        .dwtag  DW_TAG_member
-     601        .dwattr $C$DW$47, DW_AT_type(*$C$DW$T$11)
-     602        .dwattr $C$DW$47, DW_AT_name("ECAP_CLK_EN")
-     603        .dwattr $C$DW$47, DW_AT_TI_symbol_name("ECAP_CLK_EN")
-     604        .dwattr $C$DW$47, DW_AT_bit_offset(0x11), DW_AT_bit_size(0x01)
-     605        .dwattr $C$DW$47, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   12
-
-     606        .dwattr $C$DW$47, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     607        .dwattr $C$DW$47, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     608        .dwattr $C$DW$47, DW_AT_decl_line(0x79)
-     609        .dwattr $C$DW$47, DW_AT_decl_column(0x0d)
-     610$C$DW$48        .dwtag  DW_TAG_member
-     611        .dwattr $C$DW$48, DW_AT_type(*$C$DW$T$11)
-     612        .dwattr $C$DW$48, DW_AT_name("IEP_CLK_STOP_REQ")
-     613        .dwattr $C$DW$48, DW_AT_TI_symbol_name("IEP_CLK_STOP_REQ")
-     614        .dwattr $C$DW$48, DW_AT_bit_offset(0x10), DW_AT_bit_size(0x01)
-     615        .dwattr $C$DW$48, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     616        .dwattr $C$DW$48, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     617        .dwattr $C$DW$48, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     618        .dwattr $C$DW$48, DW_AT_decl_line(0x7a)
-     619        .dwattr $C$DW$48, DW_AT_decl_column(0x0d)
-     620$C$DW$49        .dwtag  DW_TAG_member
-     621        .dwattr $C$DW$49, DW_AT_type(*$C$DW$T$11)
-     622        .dwattr $C$DW$49, DW_AT_name("IEP_CLK_STOP_ACK")
-     623        .dwattr $C$DW$49, DW_AT_TI_symbol_name("IEP_CLK_STOP_ACK")
-     624        .dwattr $C$DW$49, DW_AT_bit_offset(0x0f), DW_AT_bit_size(0x01)
-     625        .dwattr $C$DW$49, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     626        .dwattr $C$DW$49, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     627        .dwattr $C$DW$49, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     628        .dwattr $C$DW$49, DW_AT_decl_line(0x7b)
-     629        .dwattr $C$DW$49, DW_AT_decl_column(0x0d)
-     630$C$DW$50        .dwtag  DW_TAG_member
-     631        .dwattr $C$DW$50, DW_AT_type(*$C$DW$T$11)
-     632        .dwattr $C$DW$50, DW_AT_name("IEP_CLK_EN")
-     633        .dwattr $C$DW$50, DW_AT_TI_symbol_name("IEP_CLK_EN")
-     634        .dwattr $C$DW$50, DW_AT_bit_offset(0x0e), DW_AT_bit_size(0x01)
-     635        .dwattr $C$DW$50, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     636        .dwattr $C$DW$50, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     637        .dwattr $C$DW$50, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     638        .dwattr $C$DW$50, DW_AT_decl_line(0x7c)
-     639        .dwattr $C$DW$50, DW_AT_decl_column(0x0d)
-     640$C$DW$51        .dwtag  DW_TAG_member
-     641        .dwattr $C$DW$51, DW_AT_type(*$C$DW$T$11)
-     642        .dwattr $C$DW$51, DW_AT_name("rsvd18")
-     643        .dwattr $C$DW$51, DW_AT_TI_symbol_name("rsvd18")
-     644        .dwattr $C$DW$51, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x0e)
-     645        .dwattr $C$DW$51, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     646        .dwattr $C$DW$51, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     647        .dwattr $C$DW$51, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     648        .dwattr $C$DW$51, DW_AT_decl_line(0x7d)
-     649        .dwattr $C$DW$51, DW_AT_decl_column(0x0d)
-     650        .dwendtag $C$DW$T$23
-     651
-     652        .dwattr $C$DW$T$23, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-     653        .dwattr $C$DW$T$23, DW_AT_decl_line(0x6a)
-     654        .dwattr $C$DW$T$23, DW_AT_decl_column(0x13)
-     655$C$DW$T$56      .dwtag  DW_TAG_volatile_type
-     656        .dwattr $C$DW$T$56, DW_AT_type(*$C$DW$T$23)
-     657
-     658$C$DW$T$24      .dwtag  DW_TAG_structure_type
-     659        .dwattr $C$DW$T$24, DW_AT_byte_size(0x04)
-     660$C$DW$52        .dwtag  DW_TAG_member
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   13
-
-     661        .dwattr $C$DW$52, DW_AT_type(*$C$DW$T$11)
-     662        .dwattr $C$DW$52, DW_AT_name("PRU0_IMEM_PE_RAW")
-     663        .dwattr $C$DW$52, DW_AT_TI_symbol_name("PRU0_IMEM_PE_RAW")
-     664        .dwattr $C$DW$52, DW_AT_bit_offset(0x1c), DW_AT_bit_size(0x04)
-     665        .dwattr $C$DW$52, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     666        .dwattr $C$DW$52, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     667        .dwattr $C$DW$52, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     668        .dwattr $C$DW$52, DW_AT_decl_line(0x87)
-     669        .dwattr $C$DW$52, DW_AT_decl_column(0x0d)
-     670$C$DW$53        .dwtag  DW_TAG_member
-     671        .dwattr $C$DW$53, DW_AT_type(*$C$DW$T$11)
-     672        .dwattr $C$DW$53, DW_AT_name("PRU0_DMEM_PE_RAW")
-     673        .dwattr $C$DW$53, DW_AT_TI_symbol_name("PRU0_DMEM_PE_RAW")
-     674        .dwattr $C$DW$53, DW_AT_bit_offset(0x18), DW_AT_bit_size(0x04)
-     675        .dwattr $C$DW$53, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     676        .dwattr $C$DW$53, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     677        .dwattr $C$DW$53, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     678        .dwattr $C$DW$53, DW_AT_decl_line(0x88)
-     679        .dwattr $C$DW$53, DW_AT_decl_column(0x0d)
-     680$C$DW$54        .dwtag  DW_TAG_member
-     681        .dwattr $C$DW$54, DW_AT_type(*$C$DW$T$11)
-     682        .dwattr $C$DW$54, DW_AT_name("PRU1_IMEM_PE_RAW")
-     683        .dwattr $C$DW$54, DW_AT_TI_symbol_name("PRU1_IMEM_PE_RAW")
-     684        .dwattr $C$DW$54, DW_AT_bit_offset(0x14), DW_AT_bit_size(0x04)
-     685        .dwattr $C$DW$54, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     686        .dwattr $C$DW$54, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     687        .dwattr $C$DW$54, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     688        .dwattr $C$DW$54, DW_AT_decl_line(0x89)
-     689        .dwattr $C$DW$54, DW_AT_decl_column(0x0d)
-     690$C$DW$55        .dwtag  DW_TAG_member
-     691        .dwattr $C$DW$55, DW_AT_type(*$C$DW$T$11)
-     692        .dwattr $C$DW$55, DW_AT_name("PRU1_DMEM_PE_RAW")
-     693        .dwattr $C$DW$55, DW_AT_TI_symbol_name("PRU1_DMEM_PE_RAW")
-     694        .dwattr $C$DW$55, DW_AT_bit_offset(0x10), DW_AT_bit_size(0x04)
-     695        .dwattr $C$DW$55, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     696        .dwattr $C$DW$55, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     697        .dwattr $C$DW$55, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     698        .dwattr $C$DW$55, DW_AT_decl_line(0x8a)
-     699        .dwattr $C$DW$55, DW_AT_decl_column(0x0d)
-     700$C$DW$56        .dwtag  DW_TAG_member
-     701        .dwattr $C$DW$56, DW_AT_type(*$C$DW$T$11)
-     702        .dwattr $C$DW$56, DW_AT_name("RAM_PE_RAW")
-     703        .dwattr $C$DW$56, DW_AT_TI_symbol_name("RAM_PE_RAW")
-     704        .dwattr $C$DW$56, DW_AT_bit_offset(0x0c), DW_AT_bit_size(0x04)
-     705        .dwattr $C$DW$56, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     706        .dwattr $C$DW$56, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     707        .dwattr $C$DW$56, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     708        .dwattr $C$DW$56, DW_AT_decl_line(0x8b)
-     709        .dwattr $C$DW$56, DW_AT_decl_column(0x0d)
-     710$C$DW$57        .dwtag  DW_TAG_member
-     711        .dwattr $C$DW$57, DW_AT_type(*$C$DW$T$11)
-     712        .dwattr $C$DW$57, DW_AT_name("rsvd20")
-     713        .dwattr $C$DW$57, DW_AT_TI_symbol_name("rsvd20")
-     714        .dwattr $C$DW$57, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x0c)
-     715        .dwattr $C$DW$57, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   14
-
-     716        .dwattr $C$DW$57, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     717        .dwattr $C$DW$57, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     718        .dwattr $C$DW$57, DW_AT_decl_line(0x8c)
-     719        .dwattr $C$DW$57, DW_AT_decl_column(0x0d)
-     720        .dwendtag $C$DW$T$24
-     721
-     722        .dwattr $C$DW$T$24, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-     723        .dwattr $C$DW$T$24, DW_AT_decl_line(0x86)
-     724        .dwattr $C$DW$T$24, DW_AT_decl_column(0x14)
-     725$C$DW$T$58      .dwtag  DW_TAG_volatile_type
-     726        .dwattr $C$DW$T$58, DW_AT_type(*$C$DW$T$24)
-     727
-     728$C$DW$T$25      .dwtag  DW_TAG_structure_type
-     729        .dwattr $C$DW$T$25, DW_AT_byte_size(0x04)
-     730$C$DW$58        .dwtag  DW_TAG_member
-     731        .dwattr $C$DW$58, DW_AT_type(*$C$DW$T$11)
-     732        .dwattr $C$DW$58, DW_AT_name("PRU0_IMEM_PE")
-     733        .dwattr $C$DW$58, DW_AT_TI_symbol_name("PRU0_IMEM_PE")
-     734        .dwattr $C$DW$58, DW_AT_bit_offset(0x1c), DW_AT_bit_size(0x04)
-     735        .dwattr $C$DW$58, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     736        .dwattr $C$DW$58, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     737        .dwattr $C$DW$58, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     738        .dwattr $C$DW$58, DW_AT_decl_line(0x96)
-     739        .dwattr $C$DW$58, DW_AT_decl_column(0x0d)
-     740$C$DW$59        .dwtag  DW_TAG_member
-     741        .dwattr $C$DW$59, DW_AT_type(*$C$DW$T$11)
-     742        .dwattr $C$DW$59, DW_AT_name("PRU0_DMEM_PE")
-     743        .dwattr $C$DW$59, DW_AT_TI_symbol_name("PRU0_DMEM_PE")
-     744        .dwattr $C$DW$59, DW_AT_bit_offset(0x18), DW_AT_bit_size(0x04)
-     745        .dwattr $C$DW$59, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     746        .dwattr $C$DW$59, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     747        .dwattr $C$DW$59, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     748        .dwattr $C$DW$59, DW_AT_decl_line(0x97)
-     749        .dwattr $C$DW$59, DW_AT_decl_column(0x0d)
-     750$C$DW$60        .dwtag  DW_TAG_member
-     751        .dwattr $C$DW$60, DW_AT_type(*$C$DW$T$11)
-     752        .dwattr $C$DW$60, DW_AT_name("PRU1_IMEM_PE")
-     753        .dwattr $C$DW$60, DW_AT_TI_symbol_name("PRU1_IMEM_PE")
-     754        .dwattr $C$DW$60, DW_AT_bit_offset(0x14), DW_AT_bit_size(0x04)
-     755        .dwattr $C$DW$60, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     756        .dwattr $C$DW$60, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     757        .dwattr $C$DW$60, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     758        .dwattr $C$DW$60, DW_AT_decl_line(0x98)
-     759        .dwattr $C$DW$60, DW_AT_decl_column(0x0d)
-     760$C$DW$61        .dwtag  DW_TAG_member
-     761        .dwattr $C$DW$61, DW_AT_type(*$C$DW$T$11)
-     762        .dwattr $C$DW$61, DW_AT_name("PRU1_DMEM_PE")
-     763        .dwattr $C$DW$61, DW_AT_TI_symbol_name("PRU1_DMEM_PE")
-     764        .dwattr $C$DW$61, DW_AT_bit_offset(0x10), DW_AT_bit_size(0x04)
-     765        .dwattr $C$DW$61, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     766        .dwattr $C$DW$61, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     767        .dwattr $C$DW$61, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     768        .dwattr $C$DW$61, DW_AT_decl_line(0x99)
-     769        .dwattr $C$DW$61, DW_AT_decl_column(0x0d)
-     770$C$DW$62        .dwtag  DW_TAG_member
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   15
-
-     771        .dwattr $C$DW$62, DW_AT_type(*$C$DW$T$11)
-     772        .dwattr $C$DW$62, DW_AT_name("RAM_PE")
-     773        .dwattr $C$DW$62, DW_AT_TI_symbol_name("RAM_PE")
-     774        .dwattr $C$DW$62, DW_AT_bit_offset(0x0c), DW_AT_bit_size(0x04)
-     775        .dwattr $C$DW$62, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     776        .dwattr $C$DW$62, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     777        .dwattr $C$DW$62, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     778        .dwattr $C$DW$62, DW_AT_decl_line(0x9a)
-     779        .dwattr $C$DW$62, DW_AT_decl_column(0x0d)
-     780$C$DW$63        .dwtag  DW_TAG_member
-     781        .dwattr $C$DW$63, DW_AT_type(*$C$DW$T$11)
-     782        .dwattr $C$DW$63, DW_AT_name("rsvd20")
-     783        .dwattr $C$DW$63, DW_AT_TI_symbol_name("rsvd20")
-     784        .dwattr $C$DW$63, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x0c)
-     785        .dwattr $C$DW$63, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     786        .dwattr $C$DW$63, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     787        .dwattr $C$DW$63, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     788        .dwattr $C$DW$63, DW_AT_decl_line(0x9b)
-     789        .dwattr $C$DW$63, DW_AT_decl_column(0x0d)
-     790        .dwendtag $C$DW$T$25
-     791
-     792        .dwattr $C$DW$T$25, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-     793        .dwattr $C$DW$T$25, DW_AT_decl_line(0x95)
-     794        .dwattr $C$DW$T$25, DW_AT_decl_column(0x14)
-     795$C$DW$T$60      .dwtag  DW_TAG_volatile_type
-     796        .dwattr $C$DW$T$60, DW_AT_type(*$C$DW$T$25)
-     797
-     798$C$DW$T$26      .dwtag  DW_TAG_structure_type
-     799        .dwattr $C$DW$T$26, DW_AT_byte_size(0x04)
-     800$C$DW$64        .dwtag  DW_TAG_member
-     801        .dwattr $C$DW$64, DW_AT_type(*$C$DW$T$11)
-     802        .dwattr $C$DW$64, DW_AT_name("PRU0_IMEM_PE_SET")
-     803        .dwattr $C$DW$64, DW_AT_TI_symbol_name("PRU0_IMEM_PE_SET")
-     804        .dwattr $C$DW$64, DW_AT_bit_offset(0x1c), DW_AT_bit_size(0x04)
-     805        .dwattr $C$DW$64, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     806        .dwattr $C$DW$64, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     807        .dwattr $C$DW$64, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     808        .dwattr $C$DW$64, DW_AT_decl_line(0xa4)
-     809        .dwattr $C$DW$64, DW_AT_decl_column(0x0d)
-     810$C$DW$65        .dwtag  DW_TAG_member
-     811        .dwattr $C$DW$65, DW_AT_type(*$C$DW$T$11)
-     812        .dwattr $C$DW$65, DW_AT_name("PRU0_DMEM_PE_SET")
-     813        .dwattr $C$DW$65, DW_AT_TI_symbol_name("PRU0_DMEM_PE_SET")
-     814        .dwattr $C$DW$65, DW_AT_bit_offset(0x18), DW_AT_bit_size(0x04)
-     815        .dwattr $C$DW$65, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     816        .dwattr $C$DW$65, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     817        .dwattr $C$DW$65, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     818        .dwattr $C$DW$65, DW_AT_decl_line(0xa5)
-     819        .dwattr $C$DW$65, DW_AT_decl_column(0x0d)
-     820$C$DW$66        .dwtag  DW_TAG_member
-     821        .dwattr $C$DW$66, DW_AT_type(*$C$DW$T$11)
-     822        .dwattr $C$DW$66, DW_AT_name("PRU1_IMEM_PE_SET")
-     823        .dwattr $C$DW$66, DW_AT_TI_symbol_name("PRU1_IMEM_PE_SET")
-     824        .dwattr $C$DW$66, DW_AT_bit_offset(0x14), DW_AT_bit_size(0x04)
-     825        .dwattr $C$DW$66, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   16
-
-     826        .dwattr $C$DW$66, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     827        .dwattr $C$DW$66, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     828        .dwattr $C$DW$66, DW_AT_decl_line(0xa6)
-     829        .dwattr $C$DW$66, DW_AT_decl_column(0x0d)
-     830$C$DW$67        .dwtag  DW_TAG_member
-     831        .dwattr $C$DW$67, DW_AT_type(*$C$DW$T$11)
-     832        .dwattr $C$DW$67, DW_AT_name("PRU1_DMEM_PE_SET")
-     833        .dwattr $C$DW$67, DW_AT_TI_symbol_name("PRU1_DMEM_PE_SET")
-     834        .dwattr $C$DW$67, DW_AT_bit_offset(0x10), DW_AT_bit_size(0x04)
-     835        .dwattr $C$DW$67, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     836        .dwattr $C$DW$67, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     837        .dwattr $C$DW$67, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     838        .dwattr $C$DW$67, DW_AT_decl_line(0xa7)
-     839        .dwattr $C$DW$67, DW_AT_decl_column(0x0d)
-     840$C$DW$68        .dwtag  DW_TAG_member
-     841        .dwattr $C$DW$68, DW_AT_type(*$C$DW$T$11)
-     842        .dwattr $C$DW$68, DW_AT_name("RAM_PE_SET")
-     843        .dwattr $C$DW$68, DW_AT_TI_symbol_name("RAM_PE_SET")
-     844        .dwattr $C$DW$68, DW_AT_bit_offset(0x0c), DW_AT_bit_size(0x04)
-     845        .dwattr $C$DW$68, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     846        .dwattr $C$DW$68, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     847        .dwattr $C$DW$68, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     848        .dwattr $C$DW$68, DW_AT_decl_line(0xa8)
-     849        .dwattr $C$DW$68, DW_AT_decl_column(0x0d)
-     850$C$DW$69        .dwtag  DW_TAG_member
-     851        .dwattr $C$DW$69, DW_AT_type(*$C$DW$T$11)
-     852        .dwattr $C$DW$69, DW_AT_name("rsvd20")
-     853        .dwattr $C$DW$69, DW_AT_TI_symbol_name("rsvd20")
-     854        .dwattr $C$DW$69, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x0c)
-     855        .dwattr $C$DW$69, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     856        .dwattr $C$DW$69, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     857        .dwattr $C$DW$69, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     858        .dwattr $C$DW$69, DW_AT_decl_line(0xa9)
-     859        .dwattr $C$DW$69, DW_AT_decl_column(0x0d)
-     860        .dwendtag $C$DW$T$26
-     861
-     862        .dwattr $C$DW$T$26, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-     863        .dwattr $C$DW$T$26, DW_AT_decl_line(0xa3)
-     864        .dwattr $C$DW$T$26, DW_AT_decl_column(0x13)
-     865$C$DW$T$62      .dwtag  DW_TAG_volatile_type
-     866        .dwattr $C$DW$T$62, DW_AT_type(*$C$DW$T$26)
-     867
-     868$C$DW$T$27      .dwtag  DW_TAG_structure_type
-     869        .dwattr $C$DW$T$27, DW_AT_byte_size(0x04)
-     870$C$DW$70        .dwtag  DW_TAG_member
-     871        .dwattr $C$DW$70, DW_AT_type(*$C$DW$T$11)
-     872        .dwattr $C$DW$70, DW_AT_name("PRU0_IMEM_PE_CLR")
-     873        .dwattr $C$DW$70, DW_AT_TI_symbol_name("PRU0_IMEM_PE_CLR")
-     874        .dwattr $C$DW$70, DW_AT_bit_offset(0x1c), DW_AT_bit_size(0x04)
-     875        .dwattr $C$DW$70, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     876        .dwattr $C$DW$70, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     877        .dwattr $C$DW$70, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     878        .dwattr $C$DW$70, DW_AT_decl_line(0xb3)
-     879        .dwattr $C$DW$70, DW_AT_decl_column(0x0d)
-     880$C$DW$71        .dwtag  DW_TAG_member
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   17
-
-     881        .dwattr $C$DW$71, DW_AT_type(*$C$DW$T$11)
-     882        .dwattr $C$DW$71, DW_AT_name("PRU0_DMEM_PE_CLR")
-     883        .dwattr $C$DW$71, DW_AT_TI_symbol_name("PRU0_DMEM_PE_CLR")
-     884        .dwattr $C$DW$71, DW_AT_bit_offset(0x18), DW_AT_bit_size(0x04)
-     885        .dwattr $C$DW$71, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     886        .dwattr $C$DW$71, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     887        .dwattr $C$DW$71, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     888        .dwattr $C$DW$71, DW_AT_decl_line(0xb4)
-     889        .dwattr $C$DW$71, DW_AT_decl_column(0x0d)
-     890$C$DW$72        .dwtag  DW_TAG_member
-     891        .dwattr $C$DW$72, DW_AT_type(*$C$DW$T$11)
-     892        .dwattr $C$DW$72, DW_AT_name("PRU1_IMEM_PE_CLR")
-     893        .dwattr $C$DW$72, DW_AT_TI_symbol_name("PRU1_IMEM_PE_CLR")
-     894        .dwattr $C$DW$72, DW_AT_bit_offset(0x14), DW_AT_bit_size(0x04)
-     895        .dwattr $C$DW$72, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     896        .dwattr $C$DW$72, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     897        .dwattr $C$DW$72, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     898        .dwattr $C$DW$72, DW_AT_decl_line(0xb5)
-     899        .dwattr $C$DW$72, DW_AT_decl_column(0x0d)
-     900$C$DW$73        .dwtag  DW_TAG_member
-     901        .dwattr $C$DW$73, DW_AT_type(*$C$DW$T$11)
-     902        .dwattr $C$DW$73, DW_AT_name("PRU1_DMEM_PE_CLR")
-     903        .dwattr $C$DW$73, DW_AT_TI_symbol_name("PRU1_DMEM_PE_CLR")
-     904        .dwattr $C$DW$73, DW_AT_bit_offset(0x10), DW_AT_bit_size(0x04)
-     905        .dwattr $C$DW$73, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     906        .dwattr $C$DW$73, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     907        .dwattr $C$DW$73, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     908        .dwattr $C$DW$73, DW_AT_decl_line(0xb6)
-     909        .dwattr $C$DW$73, DW_AT_decl_column(0x0d)
-     910$C$DW$74        .dwtag  DW_TAG_member
-     911        .dwattr $C$DW$74, DW_AT_type(*$C$DW$T$11)
-     912        .dwattr $C$DW$74, DW_AT_name("rsvd16")
-     913        .dwattr $C$DW$74, DW_AT_TI_symbol_name("rsvd16")
-     914        .dwattr $C$DW$74, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x10)
-     915        .dwattr $C$DW$74, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     916        .dwattr $C$DW$74, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     917        .dwattr $C$DW$74, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     918        .dwattr $C$DW$74, DW_AT_decl_line(0xb7)
-     919        .dwattr $C$DW$74, DW_AT_decl_column(0x0d)
-     920        .dwendtag $C$DW$T$27
-     921
-     922        .dwattr $C$DW$T$27, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-     923        .dwattr $C$DW$T$27, DW_AT_decl_line(0xb2)
-     924        .dwattr $C$DW$T$27, DW_AT_decl_column(0x13)
-     925$C$DW$T$64      .dwtag  DW_TAG_volatile_type
-     926        .dwattr $C$DW$T$64, DW_AT_type(*$C$DW$T$27)
-     927
-     928$C$DW$T$28      .dwtag  DW_TAG_structure_type
-     929        .dwattr $C$DW$T$28, DW_AT_byte_size(0x04)
-     930$C$DW$75        .dwtag  DW_TAG_member
-     931        .dwattr $C$DW$75, DW_AT_type(*$C$DW$T$11)
-     932        .dwattr $C$DW$75, DW_AT_name("PMAO_PRU0")
-     933        .dwattr $C$DW$75, DW_AT_TI_symbol_name("PMAO_PRU0")
-     934        .dwattr $C$DW$75, DW_AT_bit_offset(0x1f), DW_AT_bit_size(0x01)
-     935        .dwattr $C$DW$75, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   18
-
-     936        .dwattr $C$DW$75, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     937        .dwattr $C$DW$75, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     938        .dwattr $C$DW$75, DW_AT_decl_line(0xc4)
-     939        .dwattr $C$DW$75, DW_AT_decl_column(0x0d)
-     940$C$DW$76        .dwtag  DW_TAG_member
-     941        .dwattr $C$DW$76, DW_AT_type(*$C$DW$T$11)
-     942        .dwattr $C$DW$76, DW_AT_name("PMAO_PRU1")
-     943        .dwattr $C$DW$76, DW_AT_TI_symbol_name("PMAO_PRU1")
-     944        .dwattr $C$DW$76, DW_AT_bit_offset(0x1e), DW_AT_bit_size(0x01)
-     945        .dwattr $C$DW$76, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     946        .dwattr $C$DW$76, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     947        .dwattr $C$DW$76, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     948        .dwattr $C$DW$76, DW_AT_decl_line(0xc5)
-     949        .dwattr $C$DW$76, DW_AT_decl_column(0x0d)
-     950$C$DW$77        .dwtag  DW_TAG_member
-     951        .dwattr $C$DW$77, DW_AT_type(*$C$DW$T$11)
-     952        .dwattr $C$DW$77, DW_AT_name("rsvd2")
-     953        .dwattr $C$DW$77, DW_AT_TI_symbol_name("rsvd2")
-     954        .dwattr $C$DW$77, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x1e)
-     955        .dwattr $C$DW$77, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     956        .dwattr $C$DW$77, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     957        .dwattr $C$DW$77, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     958        .dwattr $C$DW$77, DW_AT_decl_line(0xc6)
-     959        .dwattr $C$DW$77, DW_AT_decl_column(0x0d)
-     960        .dwendtag $C$DW$T$28
-     961
-     962        .dwattr $C$DW$T$28, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-     963        .dwattr $C$DW$T$28, DW_AT_decl_line(0xc3)
-     964        .dwattr $C$DW$T$28, DW_AT_decl_column(0x13)
-     965$C$DW$T$66      .dwtag  DW_TAG_volatile_type
-     966        .dwattr $C$DW$T$66, DW_AT_type(*$C$DW$T$28)
-     967
-     968$C$DW$T$29      .dwtag  DW_TAG_structure_type
-     969        .dwattr $C$DW$T$29, DW_AT_byte_size(0x04)
-     970$C$DW$78        .dwtag  DW_TAG_member
-     971        .dwattr $C$DW$78, DW_AT_type(*$C$DW$T$11)
-     972        .dwattr $C$DW$78, DW_AT_name("OCP_EN")
-     973        .dwattr $C$DW$78, DW_AT_TI_symbol_name("OCP_EN")
-     974        .dwattr $C$DW$78, DW_AT_bit_offset(0x1f), DW_AT_bit_size(0x01)
-     975        .dwattr $C$DW$78, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     976        .dwattr $C$DW$78, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     977        .dwattr $C$DW$78, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     978        .dwattr $C$DW$78, DW_AT_decl_line(0xd3)
-     979        .dwattr $C$DW$78, DW_AT_decl_column(0x0d)
-     980$C$DW$79        .dwtag  DW_TAG_member
-     981        .dwattr $C$DW$79, DW_AT_type(*$C$DW$T$11)
-     982        .dwattr $C$DW$79, DW_AT_name("rsvd1")
-     983        .dwattr $C$DW$79, DW_AT_TI_symbol_name("rsvd1")
-     984        .dwattr $C$DW$79, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x1f)
-     985        .dwattr $C$DW$79, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-     986        .dwattr $C$DW$79, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-     987        .dwattr $C$DW$79, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-     988        .dwattr $C$DW$79, DW_AT_decl_line(0xd4)
-     989        .dwattr $C$DW$79, DW_AT_decl_column(0x0d)
-     990        .dwendtag $C$DW$T$29
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   19
-
-     991
-     992        .dwattr $C$DW$T$29, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-     993        .dwattr $C$DW$T$29, DW_AT_decl_line(0xd2)
-     994        .dwattr $C$DW$T$29, DW_AT_decl_column(0x13)
-     995$C$DW$T$68      .dwtag  DW_TAG_volatile_type
-     996        .dwattr $C$DW$T$68, DW_AT_type(*$C$DW$T$29)
-     997
-     998$C$DW$T$30      .dwtag  DW_TAG_structure_type
-     999        .dwattr $C$DW$T$30, DW_AT_byte_size(0x04)
-    1000$C$DW$80        .dwtag  DW_TAG_member
-    1001        .dwattr $C$DW$80, DW_AT_type(*$C$DW$T$11)
-    1002        .dwattr $C$DW$80, DW_AT_name("PRU1_PAD_HP_EN")
-    1003        .dwattr $C$DW$80, DW_AT_TI_symbol_name("PRU1_PAD_HP_EN")
-    1004        .dwattr $C$DW$80, DW_AT_bit_offset(0x1f), DW_AT_bit_size(0x01)
-    1005        .dwattr $C$DW$80, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1006        .dwattr $C$DW$80, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1007        .dwattr $C$DW$80, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1008        .dwattr $C$DW$80, DW_AT_decl_line(0xde)
-    1009        .dwattr $C$DW$80, DW_AT_decl_column(0x0d)
-    1010$C$DW$81        .dwtag  DW_TAG_member
-    1011        .dwattr $C$DW$81, DW_AT_type(*$C$DW$T$11)
-    1012        .dwattr $C$DW$81, DW_AT_name("XFR_SHIFT_EN")
-    1013        .dwattr $C$DW$81, DW_AT_TI_symbol_name("XFR_SHIFT_EN")
-    1014        .dwattr $C$DW$81, DW_AT_bit_offset(0x1e), DW_AT_bit_size(0x01)
-    1015        .dwattr $C$DW$81, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1016        .dwattr $C$DW$81, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1017        .dwattr $C$DW$81, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1018        .dwattr $C$DW$81, DW_AT_decl_line(0xdf)
-    1019        .dwattr $C$DW$81, DW_AT_decl_column(0x0d)
-    1020$C$DW$82        .dwtag  DW_TAG_member
-    1021        .dwattr $C$DW$82, DW_AT_type(*$C$DW$T$11)
-    1022        .dwattr $C$DW$82, DW_AT_name("rsvd2")
-    1023        .dwattr $C$DW$82, DW_AT_TI_symbol_name("rsvd2")
-    1024        .dwattr $C$DW$82, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x1e)
-    1025        .dwattr $C$DW$82, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1026        .dwattr $C$DW$82, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1027        .dwattr $C$DW$82, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1028        .dwattr $C$DW$82, DW_AT_decl_line(0xe0)
-    1029        .dwattr $C$DW$82, DW_AT_decl_column(0x0d)
-    1030        .dwendtag $C$DW$T$30
-    1031
-    1032        .dwattr $C$DW$T$30, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1033        .dwattr $C$DW$T$30, DW_AT_decl_line(0xdd)
-    1034        .dwattr $C$DW$T$30, DW_AT_decl_column(0x13)
-    1035$C$DW$T$70      .dwtag  DW_TAG_volatile_type
-    1036        .dwattr $C$DW$T$70, DW_AT_type(*$C$DW$T$30)
-    1037
-    1038$C$DW$T$31      .dwtag  DW_TAG_structure_type
-    1039        .dwattr $C$DW$T$31, DW_AT_byte_size(0x04)
-    1040$C$DW$83        .dwtag  DW_TAG_member
-    1041        .dwattr $C$DW$83, DW_AT_type(*$C$DW$T$11)
-    1042        .dwattr $C$DW$83, DW_AT_name("PIN_MUX_SEL")
-    1043        .dwattr $C$DW$83, DW_AT_TI_symbol_name("PIN_MUX_SEL")
-    1044        .dwattr $C$DW$83, DW_AT_bit_offset(0x18), DW_AT_bit_size(0x08)
-    1045        .dwattr $C$DW$83, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   20
-
-    1046        .dwattr $C$DW$83, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1047        .dwattr $C$DW$83, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1048        .dwattr $C$DW$83, DW_AT_decl_line(0xec)
-    1049        .dwattr $C$DW$83, DW_AT_decl_column(0x0d)
-    1050$C$DW$84        .dwtag  DW_TAG_member
-    1051        .dwattr $C$DW$84, DW_AT_type(*$C$DW$T$11)
-    1052        .dwattr $C$DW$84, DW_AT_name("rsvd2")
-    1053        .dwattr $C$DW$84, DW_AT_TI_symbol_name("rsvd2")
-    1054        .dwattr $C$DW$84, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x18)
-    1055        .dwattr $C$DW$84, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1056        .dwattr $C$DW$84, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1057        .dwattr $C$DW$84, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1058        .dwattr $C$DW$84, DW_AT_decl_line(0xed)
-    1059        .dwattr $C$DW$84, DW_AT_decl_column(0x0d)
-    1060        .dwendtag $C$DW$T$31
-    1061
-    1062        .dwattr $C$DW$T$31, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1063        .dwattr $C$DW$T$31, DW_AT_decl_line(0xeb)
-    1064        .dwattr $C$DW$T$31, DW_AT_decl_column(0x13)
-    1065$C$DW$T$72      .dwtag  DW_TAG_volatile_type
-    1066        .dwattr $C$DW$T$72, DW_AT_type(*$C$DW$T$31)
-    1067
-    1068$C$DW$T$35      .dwtag  DW_TAG_structure_type
-    1069        .dwattr $C$DW$T$35, DW_AT_byte_size(0x44)
-    1070$C$DW$85        .dwtag  DW_TAG_member
-    1071        .dwattr $C$DW$85, DW_AT_type(*$C$DW$T$49)
-    1072        .dwattr $C$DW$85, DW_AT_name("$P$T0")
-    1073        .dwattr $C$DW$85, DW_AT_TI_symbol_name("$P$T0")
-    1074        .dwattr $C$DW$85, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1075        .dwattr $C$DW$85, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1076        .dwattr $C$DW$85, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1077        .dwattr $C$DW$85, DW_AT_decl_line(0x29)
-    1078        .dwattr $C$DW$85, DW_AT_decl_column(0x02)
-    1079$C$DW$86        .dwtag  DW_TAG_member
-    1080        .dwattr $C$DW$86, DW_AT_type(*$C$DW$T$51)
-    1081        .dwattr $C$DW$86, DW_AT_name("$P$T1")
-    1082        .dwattr $C$DW$86, DW_AT_TI_symbol_name("$P$T1")
-    1083        .dwattr $C$DW$86, DW_AT_data_member_location[DW_OP_plus_uconst 0x4]
-    1084        .dwattr $C$DW$86, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1085        .dwattr $C$DW$86, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1086        .dwattr $C$DW$86, DW_AT_decl_line(0x33)
-    1087        .dwattr $C$DW$86, DW_AT_decl_column(0x02)
-    1088$C$DW$87        .dwtag  DW_TAG_member
-    1089        .dwattr $C$DW$87, DW_AT_type(*$C$DW$T$53)
-    1090        .dwattr $C$DW$87, DW_AT_name("$P$T2")
-    1091        .dwattr $C$DW$87, DW_AT_TI_symbol_name("$P$T2")
-    1092        .dwattr $C$DW$87, DW_AT_data_member_location[DW_OP_plus_uconst 0x8]
-    1093        .dwattr $C$DW$87, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1094        .dwattr $C$DW$87, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1095        .dwattr $C$DW$87, DW_AT_decl_line(0x41)
-    1096        .dwattr $C$DW$87, DW_AT_decl_column(0x02)
-    1097$C$DW$88        .dwtag  DW_TAG_member
-    1098        .dwattr $C$DW$88, DW_AT_type(*$C$DW$T$55)
-    1099        .dwattr $C$DW$88, DW_AT_name("$P$T3")
-    1100        .dwattr $C$DW$88, DW_AT_TI_symbol_name("$P$T3")
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   21
-
-    1101        .dwattr $C$DW$88, DW_AT_data_member_location[DW_OP_plus_uconst 0xc]
-    1102        .dwattr $C$DW$88, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1103        .dwattr $C$DW$88, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1104        .dwattr $C$DW$88, DW_AT_decl_line(0x54)
-    1105        .dwattr $C$DW$88, DW_AT_decl_column(0x02)
-    1106$C$DW$89        .dwtag  DW_TAG_member
-    1107        .dwattr $C$DW$89, DW_AT_type(*$C$DW$T$57)
-    1108        .dwattr $C$DW$89, DW_AT_name("$P$T4")
-    1109        .dwattr $C$DW$89, DW_AT_TI_symbol_name("$P$T4")
-    1110        .dwattr $C$DW$89, DW_AT_data_member_location[DW_OP_plus_uconst 0x10]
-    1111        .dwattr $C$DW$89, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1112        .dwattr $C$DW$89, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1113        .dwattr $C$DW$89, DW_AT_decl_line(0x67)
-    1114        .dwattr $C$DW$89, DW_AT_decl_column(0x02)
-    1115$C$DW$90        .dwtag  DW_TAG_member
-    1116        .dwattr $C$DW$90, DW_AT_type(*$C$DW$T$59)
-    1117        .dwattr $C$DW$90, DW_AT_name("$P$T5")
-    1118        .dwattr $C$DW$90, DW_AT_TI_symbol_name("$P$T5")
-    1119        .dwattr $C$DW$90, DW_AT_data_member_location[DW_OP_plus_uconst 0x14]
-    1120        .dwattr $C$DW$90, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1121        .dwattr $C$DW$90, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1122        .dwattr $C$DW$90, DW_AT_decl_line(0x83)
-    1123        .dwattr $C$DW$90, DW_AT_decl_column(0x02)
-    1124$C$DW$91        .dwtag  DW_TAG_member
-    1125        .dwattr $C$DW$91, DW_AT_type(*$C$DW$T$61)
-    1126        .dwattr $C$DW$91, DW_AT_name("$P$T6")
-    1127        .dwattr $C$DW$91, DW_AT_TI_symbol_name("$P$T6")
-    1128        .dwattr $C$DW$91, DW_AT_data_member_location[DW_OP_plus_uconst 0x18]
-    1129        .dwattr $C$DW$91, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1130        .dwattr $C$DW$91, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1131        .dwattr $C$DW$91, DW_AT_decl_line(0x92)
-    1132        .dwattr $C$DW$91, DW_AT_decl_column(0x02)
-    1133$C$DW$92        .dwtag  DW_TAG_member
-    1134        .dwattr $C$DW$92, DW_AT_type(*$C$DW$T$63)
-    1135        .dwattr $C$DW$92, DW_AT_name("$P$T7")
-    1136        .dwattr $C$DW$92, DW_AT_TI_symbol_name("$P$T7")
-    1137        .dwattr $C$DW$92, DW_AT_data_member_location[DW_OP_plus_uconst 0x1c]
-    1138        .dwattr $C$DW$92, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1139        .dwattr $C$DW$92, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1140        .dwattr $C$DW$92, DW_AT_decl_line(0xa0)
-    1141        .dwattr $C$DW$92, DW_AT_decl_column(0x02)
-    1142$C$DW$93        .dwtag  DW_TAG_member
-    1143        .dwattr $C$DW$93, DW_AT_type(*$C$DW$T$65)
-    1144        .dwattr $C$DW$93, DW_AT_name("$P$T8")
-    1145        .dwattr $C$DW$93, DW_AT_TI_symbol_name("$P$T8")
-    1146        .dwattr $C$DW$93, DW_AT_data_member_location[DW_OP_plus_uconst 0x20]
-    1147        .dwattr $C$DW$93, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1148        .dwattr $C$DW$93, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1149        .dwattr $C$DW$93, DW_AT_decl_line(0xaf)
-    1150        .dwattr $C$DW$93, DW_AT_decl_column(0x02)
-    1151$C$DW$94        .dwtag  DW_TAG_member
-    1152        .dwattr $C$DW$94, DW_AT_type(*$C$DW$T$32)
-    1153        .dwattr $C$DW$94, DW_AT_name("rsvd24")
-    1154        .dwattr $C$DW$94, DW_AT_TI_symbol_name("rsvd24")
-    1155        .dwattr $C$DW$94, DW_AT_data_member_location[DW_OP_plus_uconst 0x24]
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   22
-
-    1156        .dwattr $C$DW$94, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1157        .dwattr $C$DW$94, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1158        .dwattr $C$DW$94, DW_AT_decl_line(0xbc)
-    1159        .dwattr $C$DW$94, DW_AT_decl_column(0x0b)
-    1160$C$DW$95        .dwtag  DW_TAG_member
-    1161        .dwattr $C$DW$95, DW_AT_type(*$C$DW$T$67)
-    1162        .dwattr $C$DW$95, DW_AT_name("$P$T9")
-    1163        .dwattr $C$DW$95, DW_AT_TI_symbol_name("$P$T9")
-    1164        .dwattr $C$DW$95, DW_AT_data_member_location[DW_OP_plus_uconst 0x28]
-    1165        .dwattr $C$DW$95, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1166        .dwattr $C$DW$95, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1167        .dwattr $C$DW$95, DW_AT_decl_line(0xc0)
-    1168        .dwattr $C$DW$95, DW_AT_decl_column(0x02)
-    1169$C$DW$96        .dwtag  DW_TAG_member
-    1170        .dwattr $C$DW$96, DW_AT_type(*$C$DW$T$33)
-    1171        .dwattr $C$DW$96, DW_AT_name("rsvd2c")
-    1172        .dwattr $C$DW$96, DW_AT_TI_symbol_name("rsvd2c")
-    1173        .dwattr $C$DW$96, DW_AT_data_member_location[DW_OP_plus_uconst 0x2c]
-    1174        .dwattr $C$DW$96, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1175        .dwattr $C$DW$96, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1176        .dwattr $C$DW$96, DW_AT_decl_line(0xcb)
-    1177        .dwattr $C$DW$96, DW_AT_decl_column(0x0b)
-    1178$C$DW$97        .dwtag  DW_TAG_member
-    1179        .dwattr $C$DW$97, DW_AT_type(*$C$DW$T$69)
-    1180        .dwattr $C$DW$97, DW_AT_name("$P$T10")
-    1181        .dwattr $C$DW$97, DW_AT_TI_symbol_name("$P$T10")
-    1182        .dwattr $C$DW$97, DW_AT_data_member_location[DW_OP_plus_uconst 0x30]
-    1183        .dwattr $C$DW$97, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1184        .dwattr $C$DW$97, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1185        .dwattr $C$DW$97, DW_AT_decl_line(0xcf)
-    1186        .dwattr $C$DW$97, DW_AT_decl_column(0x02)
-    1187$C$DW$98        .dwtag  DW_TAG_member
-    1188        .dwattr $C$DW$98, DW_AT_type(*$C$DW$T$71)
-    1189        .dwattr $C$DW$98, DW_AT_name("$P$T11")
-    1190        .dwattr $C$DW$98, DW_AT_TI_symbol_name("$P$T11")
-    1191        .dwattr $C$DW$98, DW_AT_data_member_location[DW_OP_plus_uconst 0x34]
-    1192        .dwattr $C$DW$98, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1193        .dwattr $C$DW$98, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1194        .dwattr $C$DW$98, DW_AT_decl_line(0xda)
-    1195        .dwattr $C$DW$98, DW_AT_decl_column(0x02)
-    1196$C$DW$99        .dwtag  DW_TAG_member
-    1197        .dwattr $C$DW$99, DW_AT_type(*$C$DW$T$34)
-    1198        .dwattr $C$DW$99, DW_AT_name("rsvd38")
-    1199        .dwattr $C$DW$99, DW_AT_TI_symbol_name("rsvd38")
-    1200        .dwattr $C$DW$99, DW_AT_data_member_location[DW_OP_plus_uconst 0x38]
-    1201        .dwattr $C$DW$99, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1202        .dwattr $C$DW$99, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pru
-    1203        .dwattr $C$DW$99, DW_AT_decl_line(0xe5)
-    1204        .dwattr $C$DW$99, DW_AT_decl_column(0x0b)
-    1205$C$DW$100       .dwtag  DW_TAG_member
-    1206        .dwattr $C$DW$100, DW_AT_type(*$C$DW$T$73)
-    1207        .dwattr $C$DW$100, DW_AT_name("$P$T12")
-    1208        .dwattr $C$DW$100, DW_AT_TI_symbol_name("$P$T12")
-    1209        .dwattr $C$DW$100, DW_AT_data_member_location[DW_OP_plus_uconst 0x40]
-    1210        .dwattr $C$DW$100, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   23
-
-    1211        .dwattr $C$DW$100, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1212        .dwattr $C$DW$100, DW_AT_decl_line(0xe8)
-    1213        .dwattr $C$DW$100, DW_AT_decl_column(0x02)
-    1214        .dwendtag $C$DW$T$35
-    1215
-    1216        .dwattr $C$DW$T$35, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1217        .dwattr $C$DW$T$35, DW_AT_decl_line(0x26)
-    1218        .dwattr $C$DW$T$35, DW_AT_decl_column(0x10)
-    1219$C$DW$T$97      .dwtag  DW_TAG_typedef, DW_AT_name("pruCfg")
-    1220        .dwattr $C$DW$T$97, DW_AT_type(*$C$DW$T$35)
-    1221        .dwattr $C$DW$T$97, DW_AT_language(DW_LANG_C)
-    1222        .dwattr $C$DW$T$97, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1223        .dwattr $C$DW$T$97, DW_AT_decl_line(0xf0)
-    1224        .dwattr $C$DW$T$97, DW_AT_decl_column(0x03)
-    1225$C$DW$T$98      .dwtag  DW_TAG_volatile_type
-    1226        .dwattr $C$DW$T$98, DW_AT_type(*$C$DW$T$97)
-    1227
-    1228$C$DW$T$36      .dwtag  DW_TAG_structure_type
-    1229        .dwattr $C$DW$T$36, DW_AT_byte_size(0x04)
-    1230$C$DW$101       .dwtag  DW_TAG_member
-    1231        .dwattr $C$DW$101, DW_AT_type(*$C$DW$T$11)
-    1232        .dwattr $C$DW$101, DW_AT_name("SOFT_RST_N")
-    1233        .dwattr $C$DW$101, DW_AT_TI_symbol_name("SOFT_RST_N")
-    1234        .dwattr $C$DW$101, DW_AT_bit_offset(0x1f), DW_AT_bit_size(0x01)
-    1235        .dwattr $C$DW$101, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1236        .dwattr $C$DW$101, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1237        .dwattr $C$DW$101, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1238        .dwattr $C$DW$101, DW_AT_decl_line(0x2d)
-    1239        .dwattr $C$DW$101, DW_AT_decl_column(0x0d)
-    1240$C$DW$102       .dwtag  DW_TAG_member
-    1241        .dwattr $C$DW$102, DW_AT_type(*$C$DW$T$11)
-    1242        .dwattr $C$DW$102, DW_AT_name("EN")
-    1243        .dwattr $C$DW$102, DW_AT_TI_symbol_name("EN")
-    1244        .dwattr $C$DW$102, DW_AT_bit_offset(0x1e), DW_AT_bit_size(0x01)
-    1245        .dwattr $C$DW$102, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1246        .dwattr $C$DW$102, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1247        .dwattr $C$DW$102, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1248        .dwattr $C$DW$102, DW_AT_decl_line(0x2e)
-    1249        .dwattr $C$DW$102, DW_AT_decl_column(0x0d)
-    1250$C$DW$103       .dwtag  DW_TAG_member
-    1251        .dwattr $C$DW$103, DW_AT_type(*$C$DW$T$11)
-    1252        .dwattr $C$DW$103, DW_AT_name("SLEEPING")
-    1253        .dwattr $C$DW$103, DW_AT_TI_symbol_name("SLEEPING")
-    1254        .dwattr $C$DW$103, DW_AT_bit_offset(0x1d), DW_AT_bit_size(0x01)
-    1255        .dwattr $C$DW$103, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1256        .dwattr $C$DW$103, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1257        .dwattr $C$DW$103, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1258        .dwattr $C$DW$103, DW_AT_decl_line(0x2f)
-    1259        .dwattr $C$DW$103, DW_AT_decl_column(0x0d)
-    1260$C$DW$104       .dwtag  DW_TAG_member
-    1261        .dwattr $C$DW$104, DW_AT_type(*$C$DW$T$11)
-    1262        .dwattr $C$DW$104, DW_AT_name("CTR_EN")
-    1263        .dwattr $C$DW$104, DW_AT_TI_symbol_name("CTR_EN")
-    1264        .dwattr $C$DW$104, DW_AT_bit_offset(0x1c), DW_AT_bit_size(0x01)
-    1265        .dwattr $C$DW$104, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   24
-
-    1266        .dwattr $C$DW$104, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1267        .dwattr $C$DW$104, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1268        .dwattr $C$DW$104, DW_AT_decl_line(0x30)
-    1269        .dwattr $C$DW$104, DW_AT_decl_column(0x0d)
-    1270$C$DW$105       .dwtag  DW_TAG_member
-    1271        .dwattr $C$DW$105, DW_AT_type(*$C$DW$T$11)
-    1272        .dwattr $C$DW$105, DW_AT_name("rsvd4")
-    1273        .dwattr $C$DW$105, DW_AT_TI_symbol_name("rsvd4")
-    1274        .dwattr $C$DW$105, DW_AT_bit_offset(0x18), DW_AT_bit_size(0x04)
-    1275        .dwattr $C$DW$105, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1276        .dwattr $C$DW$105, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1277        .dwattr $C$DW$105, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1278        .dwattr $C$DW$105, DW_AT_decl_line(0x31)
-    1279        .dwattr $C$DW$105, DW_AT_decl_column(0x0d)
-    1280$C$DW$106       .dwtag  DW_TAG_member
-    1281        .dwattr $C$DW$106, DW_AT_type(*$C$DW$T$11)
-    1282        .dwattr $C$DW$106, DW_AT_name("SINGLE_STEP")
-    1283        .dwattr $C$DW$106, DW_AT_TI_symbol_name("SINGLE_STEP")
-    1284        .dwattr $C$DW$106, DW_AT_bit_offset(0x17), DW_AT_bit_size(0x01)
-    1285        .dwattr $C$DW$106, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1286        .dwattr $C$DW$106, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1287        .dwattr $C$DW$106, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1288        .dwattr $C$DW$106, DW_AT_decl_line(0x32)
-    1289        .dwattr $C$DW$106, DW_AT_decl_column(0x0d)
-    1290$C$DW$107       .dwtag  DW_TAG_member
-    1291        .dwattr $C$DW$107, DW_AT_type(*$C$DW$T$11)
-    1292        .dwattr $C$DW$107, DW_AT_name("rsvd9")
-    1293        .dwattr $C$DW$107, DW_AT_TI_symbol_name("rsvd9")
-    1294        .dwattr $C$DW$107, DW_AT_bit_offset(0x11), DW_AT_bit_size(0x06)
-    1295        .dwattr $C$DW$107, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1296        .dwattr $C$DW$107, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1297        .dwattr $C$DW$107, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1298        .dwattr $C$DW$107, DW_AT_decl_line(0x33)
-    1299        .dwattr $C$DW$107, DW_AT_decl_column(0x0d)
-    1300$C$DW$108       .dwtag  DW_TAG_member
-    1301        .dwattr $C$DW$108, DW_AT_type(*$C$DW$T$11)
-    1302        .dwattr $C$DW$108, DW_AT_name("RUNSTATE")
-    1303        .dwattr $C$DW$108, DW_AT_TI_symbol_name("RUNSTATE")
-    1304        .dwattr $C$DW$108, DW_AT_bit_offset(0x10), DW_AT_bit_size(0x01)
-    1305        .dwattr $C$DW$108, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1306        .dwattr $C$DW$108, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1307        .dwattr $C$DW$108, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1308        .dwattr $C$DW$108, DW_AT_decl_line(0x34)
-    1309        .dwattr $C$DW$108, DW_AT_decl_column(0x0d)
-    1310$C$DW$109       .dwtag  DW_TAG_member
-    1311        .dwattr $C$DW$109, DW_AT_type(*$C$DW$T$11)
-    1312        .dwattr $C$DW$109, DW_AT_name("PCTR_RST_VAL")
-    1313        .dwattr $C$DW$109, DW_AT_TI_symbol_name("PCTR_RST_VAL")
-    1314        .dwattr $C$DW$109, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x10)
-    1315        .dwattr $C$DW$109, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1316        .dwattr $C$DW$109, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1317        .dwattr $C$DW$109, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1318        .dwattr $C$DW$109, DW_AT_decl_line(0x35)
-    1319        .dwattr $C$DW$109, DW_AT_decl_column(0x0d)
-    1320        .dwendtag $C$DW$T$36
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   25
-
-    1321
-    1322        .dwattr $C$DW$T$36, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1323        .dwattr $C$DW$T$36, DW_AT_decl_line(0x2c)
-    1324        .dwattr $C$DW$T$36, DW_AT_decl_column(0x13)
-    1325$C$DW$T$74      .dwtag  DW_TAG_volatile_type
-    1326        .dwattr $C$DW$T$74, DW_AT_type(*$C$DW$T$36)
-    1327
-    1328$C$DW$T$37      .dwtag  DW_TAG_structure_type
-    1329        .dwattr $C$DW$T$37, DW_AT_byte_size(0x04)
-    1330$C$DW$110       .dwtag  DW_TAG_member
-    1331        .dwattr $C$DW$110, DW_AT_type(*$C$DW$T$11)
-    1332        .dwattr $C$DW$110, DW_AT_name("PCTR")
-    1333        .dwattr $C$DW$110, DW_AT_TI_symbol_name("PCTR")
-    1334        .dwattr $C$DW$110, DW_AT_bit_offset(0x10), DW_AT_bit_size(0x10)
-    1335        .dwattr $C$DW$110, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1336        .dwattr $C$DW$110, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1337        .dwattr $C$DW$110, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1338        .dwattr $C$DW$110, DW_AT_decl_line(0x3f)
-    1339        .dwattr $C$DW$110, DW_AT_decl_column(0x0d)
-    1340$C$DW$111       .dwtag  DW_TAG_member
-    1341        .dwattr $C$DW$111, DW_AT_type(*$C$DW$T$11)
-    1342        .dwattr $C$DW$111, DW_AT_name("rsvd16")
-    1343        .dwattr $C$DW$111, DW_AT_TI_symbol_name("rsvd16")
-    1344        .dwattr $C$DW$111, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x10)
-    1345        .dwattr $C$DW$111, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1346        .dwattr $C$DW$111, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1347        .dwattr $C$DW$111, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1348        .dwattr $C$DW$111, DW_AT_decl_line(0x40)
-    1349        .dwattr $C$DW$111, DW_AT_decl_column(0x0d)
-    1350        .dwendtag $C$DW$T$37
-    1351
-    1352        .dwattr $C$DW$T$37, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1353        .dwattr $C$DW$T$37, DW_AT_decl_line(0x3e)
-    1354        .dwattr $C$DW$T$37, DW_AT_decl_column(0x13)
-    1355$C$DW$T$76      .dwtag  DW_TAG_volatile_type
-    1356        .dwattr $C$DW$T$76, DW_AT_type(*$C$DW$T$37)
-    1357
-    1358$C$DW$T$38      .dwtag  DW_TAG_structure_type
-    1359        .dwattr $C$DW$T$38, DW_AT_byte_size(0x04)
-    1360$C$DW$112       .dwtag  DW_TAG_member
-    1361        .dwattr $C$DW$112, DW_AT_type(*$C$DW$T$11)
-    1362        .dwattr $C$DW$112, DW_AT_name("BITWISE_ENS")
-    1363        .dwattr $C$DW$112, DW_AT_TI_symbol_name("BITWISE_ENS")
-    1364        .dwattr $C$DW$112, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x20)
-    1365        .dwattr $C$DW$112, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1366        .dwattr $C$DW$112, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1367        .dwattr $C$DW$112, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1368        .dwattr $C$DW$112, DW_AT_decl_line(0x4a)
-    1369        .dwattr $C$DW$112, DW_AT_decl_column(0x0d)
-    1370        .dwendtag $C$DW$T$38
-    1371
-    1372        .dwattr $C$DW$T$38, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1373        .dwattr $C$DW$T$38, DW_AT_decl_line(0x49)
-    1374        .dwattr $C$DW$T$38, DW_AT_decl_column(0x13)
-    1375$C$DW$T$78      .dwtag  DW_TAG_volatile_type
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   26
-
-    1376        .dwattr $C$DW$T$78, DW_AT_type(*$C$DW$T$38)
-    1377
-    1378$C$DW$T$39      .dwtag  DW_TAG_structure_type
-    1379        .dwattr $C$DW$T$39, DW_AT_byte_size(0x04)
-    1380$C$DW$113       .dwtag  DW_TAG_member
-    1381        .dwattr $C$DW$113, DW_AT_type(*$C$DW$T$11)
-    1382        .dwattr $C$DW$113, DW_AT_name("CYCLECOUNT")
-    1383        .dwattr $C$DW$113, DW_AT_TI_symbol_name("CYCLECOUNT")
-    1384        .dwattr $C$DW$113, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x20)
-    1385        .dwattr $C$DW$113, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1386        .dwattr $C$DW$113, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1387        .dwattr $C$DW$113, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1388        .dwattr $C$DW$113, DW_AT_decl_line(0x54)
-    1389        .dwattr $C$DW$113, DW_AT_decl_column(0x0d)
-    1390        .dwendtag $C$DW$T$39
-    1391
-    1392        .dwattr $C$DW$T$39, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1393        .dwattr $C$DW$T$39, DW_AT_decl_line(0x53)
-    1394        .dwattr $C$DW$T$39, DW_AT_decl_column(0x13)
-    1395$C$DW$T$80      .dwtag  DW_TAG_volatile_type
-    1396        .dwattr $C$DW$T$80, DW_AT_type(*$C$DW$T$39)
-    1397
-    1398$C$DW$T$40      .dwtag  DW_TAG_structure_type
-    1399        .dwattr $C$DW$T$40, DW_AT_byte_size(0x04)
-    1400$C$DW$114       .dwtag  DW_TAG_member
-    1401        .dwattr $C$DW$114, DW_AT_type(*$C$DW$T$11)
-    1402        .dwattr $C$DW$114, DW_AT_name("STALLCOUNT")
-    1403        .dwattr $C$DW$114, DW_AT_TI_symbol_name("STALLCOUNT")
-    1404        .dwattr $C$DW$114, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x20)
-    1405        .dwattr $C$DW$114, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1406        .dwattr $C$DW$114, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1407        .dwattr $C$DW$114, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1408        .dwattr $C$DW$114, DW_AT_decl_line(0x5e)
-    1409        .dwattr $C$DW$114, DW_AT_decl_column(0x0d)
-    1410        .dwendtag $C$DW$T$40
-    1411
-    1412        .dwattr $C$DW$T$40, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1413        .dwattr $C$DW$T$40, DW_AT_decl_line(0x5d)
-    1414        .dwattr $C$DW$T$40, DW_AT_decl_column(0x14)
-    1415$C$DW$T$82      .dwtag  DW_TAG_volatile_type
-    1416        .dwattr $C$DW$T$82, DW_AT_type(*$C$DW$T$40)
-    1417
-    1418$C$DW$T$41      .dwtag  DW_TAG_structure_type
-    1419        .dwattr $C$DW$T$41, DW_AT_byte_size(0x04)
-    1420$C$DW$115       .dwtag  DW_TAG_member
-    1421        .dwattr $C$DW$115, DW_AT_type(*$C$DW$T$11)
-    1422        .dwattr $C$DW$115, DW_AT_name("C24_BLK_IDX")
-    1423        .dwattr $C$DW$115, DW_AT_TI_symbol_name("C24_BLK_IDX")
-    1424        .dwattr $C$DW$115, DW_AT_bit_offset(0x18), DW_AT_bit_size(0x08)
-    1425        .dwattr $C$DW$115, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1426        .dwattr $C$DW$115, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1427        .dwattr $C$DW$115, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1428        .dwattr $C$DW$115, DW_AT_decl_line(0x6b)
-    1429        .dwattr $C$DW$115, DW_AT_decl_column(0x0d)
-    1430$C$DW$116       .dwtag  DW_TAG_member
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   27
-
-    1431        .dwattr $C$DW$116, DW_AT_type(*$C$DW$T$11)
-    1432        .dwattr $C$DW$116, DW_AT_name("rsvd8")
-    1433        .dwattr $C$DW$116, DW_AT_TI_symbol_name("rsvd8")
-    1434        .dwattr $C$DW$116, DW_AT_bit_offset(0x10), DW_AT_bit_size(0x08)
-    1435        .dwattr $C$DW$116, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1436        .dwattr $C$DW$116, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1437        .dwattr $C$DW$116, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1438        .dwattr $C$DW$116, DW_AT_decl_line(0x6c)
-    1439        .dwattr $C$DW$116, DW_AT_decl_column(0x0d)
-    1440$C$DW$117       .dwtag  DW_TAG_member
-    1441        .dwattr $C$DW$117, DW_AT_type(*$C$DW$T$11)
-    1442        .dwattr $C$DW$117, DW_AT_name("C25_BLK_IDX")
-    1443        .dwattr $C$DW$117, DW_AT_TI_symbol_name("C25_BLK_IDX")
-    1444        .dwattr $C$DW$117, DW_AT_bit_offset(0x08), DW_AT_bit_size(0x08)
-    1445        .dwattr $C$DW$117, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1446        .dwattr $C$DW$117, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1447        .dwattr $C$DW$117, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1448        .dwattr $C$DW$117, DW_AT_decl_line(0x6d)
-    1449        .dwattr $C$DW$117, DW_AT_decl_column(0x0d)
-    1450$C$DW$118       .dwtag  DW_TAG_member
-    1451        .dwattr $C$DW$118, DW_AT_type(*$C$DW$T$11)
-    1452        .dwattr $C$DW$118, DW_AT_name("rsvd24")
-    1453        .dwattr $C$DW$118, DW_AT_TI_symbol_name("rsvd24")
-    1454        .dwattr $C$DW$118, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x08)
-    1455        .dwattr $C$DW$118, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1456        .dwattr $C$DW$118, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1457        .dwattr $C$DW$118, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1458        .dwattr $C$DW$118, DW_AT_decl_line(0x6e)
-    1459        .dwattr $C$DW$118, DW_AT_decl_column(0x0d)
-    1460        .dwendtag $C$DW$T$41
-    1461
-    1462        .dwattr $C$DW$T$41, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1463        .dwattr $C$DW$T$41, DW_AT_decl_line(0x6a)
-    1464        .dwattr $C$DW$T$41, DW_AT_decl_column(0x13)
-    1465$C$DW$T$84      .dwtag  DW_TAG_volatile_type
-    1466        .dwattr $C$DW$T$84, DW_AT_type(*$C$DW$T$41)
-    1467
-    1468$C$DW$T$42      .dwtag  DW_TAG_structure_type
-    1469        .dwattr $C$DW$T$42, DW_AT_byte_size(0x04)
-    1470$C$DW$119       .dwtag  DW_TAG_member
-    1471        .dwattr $C$DW$119, DW_AT_type(*$C$DW$T$11)
-    1472        .dwattr $C$DW$119, DW_AT_name("C26_BLK_IDX")
-    1473        .dwattr $C$DW$119, DW_AT_TI_symbol_name("C26_BLK_IDX")
-    1474        .dwattr $C$DW$119, DW_AT_bit_offset(0x18), DW_AT_bit_size(0x08)
-    1475        .dwattr $C$DW$119, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1476        .dwattr $C$DW$119, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1477        .dwattr $C$DW$119, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1478        .dwattr $C$DW$119, DW_AT_decl_line(0x78)
-    1479        .dwattr $C$DW$119, DW_AT_decl_column(0x0d)
-    1480$C$DW$120       .dwtag  DW_TAG_member
-    1481        .dwattr $C$DW$120, DW_AT_type(*$C$DW$T$11)
-    1482        .dwattr $C$DW$120, DW_AT_name("rsvd8")
-    1483        .dwattr $C$DW$120, DW_AT_TI_symbol_name("rsvd8")
-    1484        .dwattr $C$DW$120, DW_AT_bit_offset(0x10), DW_AT_bit_size(0x08)
-    1485        .dwattr $C$DW$120, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   28
-
-    1486        .dwattr $C$DW$120, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1487        .dwattr $C$DW$120, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1488        .dwattr $C$DW$120, DW_AT_decl_line(0x79)
-    1489        .dwattr $C$DW$120, DW_AT_decl_column(0x0d)
-    1490$C$DW$121       .dwtag  DW_TAG_member
-    1491        .dwattr $C$DW$121, DW_AT_type(*$C$DW$T$11)
-    1492        .dwattr $C$DW$121, DW_AT_name("C27_BLK_IDX")
-    1493        .dwattr $C$DW$121, DW_AT_TI_symbol_name("C27_BLK_IDX")
-    1494        .dwattr $C$DW$121, DW_AT_bit_offset(0x08), DW_AT_bit_size(0x08)
-    1495        .dwattr $C$DW$121, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1496        .dwattr $C$DW$121, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1497        .dwattr $C$DW$121, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1498        .dwattr $C$DW$121, DW_AT_decl_line(0x7a)
-    1499        .dwattr $C$DW$121, DW_AT_decl_column(0x0d)
-    1500$C$DW$122       .dwtag  DW_TAG_member
-    1501        .dwattr $C$DW$122, DW_AT_type(*$C$DW$T$11)
-    1502        .dwattr $C$DW$122, DW_AT_name("rsvd24")
-    1503        .dwattr $C$DW$122, DW_AT_TI_symbol_name("rsvd24")
-    1504        .dwattr $C$DW$122, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x08)
-    1505        .dwattr $C$DW$122, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1506        .dwattr $C$DW$122, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1507        .dwattr $C$DW$122, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1508        .dwattr $C$DW$122, DW_AT_decl_line(0x7b)
-    1509        .dwattr $C$DW$122, DW_AT_decl_column(0x0d)
-    1510        .dwendtag $C$DW$T$42
-    1511
-    1512        .dwattr $C$DW$T$42, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1513        .dwattr $C$DW$T$42, DW_AT_decl_line(0x77)
-    1514        .dwattr $C$DW$T$42, DW_AT_decl_column(0x13)
-    1515$C$DW$T$86      .dwtag  DW_TAG_volatile_type
-    1516        .dwattr $C$DW$T$86, DW_AT_type(*$C$DW$T$42)
-    1517
-    1518$C$DW$T$43      .dwtag  DW_TAG_structure_type
-    1519        .dwattr $C$DW$T$43, DW_AT_byte_size(0x04)
-    1520$C$DW$123       .dwtag  DW_TAG_member
-    1521        .dwattr $C$DW$123, DW_AT_type(*$C$DW$T$11)
-    1522        .dwattr $C$DW$123, DW_AT_name("C28_BLK_POINTER")
-    1523        .dwattr $C$DW$123, DW_AT_TI_symbol_name("C28_BLK_POINTER")
-    1524        .dwattr $C$DW$123, DW_AT_bit_offset(0x10), DW_AT_bit_size(0x10)
-    1525        .dwattr $C$DW$123, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1526        .dwattr $C$DW$123, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1527        .dwattr $C$DW$123, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1528        .dwattr $C$DW$123, DW_AT_decl_line(0x85)
-    1529        .dwattr $C$DW$123, DW_AT_decl_column(0x0d)
-    1530$C$DW$124       .dwtag  DW_TAG_member
-    1531        .dwattr $C$DW$124, DW_AT_type(*$C$DW$T$11)
-    1532        .dwattr $C$DW$124, DW_AT_name("C29_BLK_POINTER")
-    1533        .dwattr $C$DW$124, DW_AT_TI_symbol_name("C29_BLK_POINTER")
-    1534        .dwattr $C$DW$124, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x10)
-    1535        .dwattr $C$DW$124, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1536        .dwattr $C$DW$124, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1537        .dwattr $C$DW$124, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1538        .dwattr $C$DW$124, DW_AT_decl_line(0x86)
-    1539        .dwattr $C$DW$124, DW_AT_decl_column(0x0d)
-    1540        .dwendtag $C$DW$T$43
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   29
-
-    1541
-    1542        .dwattr $C$DW$T$43, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1543        .dwattr $C$DW$T$43, DW_AT_decl_line(0x84)
-    1544        .dwattr $C$DW$T$43, DW_AT_decl_column(0x13)
-    1545$C$DW$T$88      .dwtag  DW_TAG_volatile_type
-    1546        .dwattr $C$DW$T$88, DW_AT_type(*$C$DW$T$43)
-    1547
-    1548$C$DW$T$44      .dwtag  DW_TAG_structure_type
-    1549        .dwattr $C$DW$T$44, DW_AT_byte_size(0x04)
-    1550$C$DW$125       .dwtag  DW_TAG_member
-    1551        .dwattr $C$DW$125, DW_AT_type(*$C$DW$T$11)
-    1552        .dwattr $C$DW$125, DW_AT_name("C30_BLK_POINTER")
-    1553        .dwattr $C$DW$125, DW_AT_TI_symbol_name("C30_BLK_POINTER")
-    1554        .dwattr $C$DW$125, DW_AT_bit_offset(0x10), DW_AT_bit_size(0x10)
-    1555        .dwattr $C$DW$125, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1556        .dwattr $C$DW$125, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1557        .dwattr $C$DW$125, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1558        .dwattr $C$DW$125, DW_AT_decl_line(0x90)
-    1559        .dwattr $C$DW$125, DW_AT_decl_column(0x0d)
-    1560$C$DW$126       .dwtag  DW_TAG_member
-    1561        .dwattr $C$DW$126, DW_AT_type(*$C$DW$T$11)
-    1562        .dwattr $C$DW$126, DW_AT_name("C31_BLK_POINTER")
-    1563        .dwattr $C$DW$126, DW_AT_TI_symbol_name("C31_BLK_POINTER")
-    1564        .dwattr $C$DW$126, DW_AT_bit_offset(0x00), DW_AT_bit_size(0x10)
-    1565        .dwattr $C$DW$126, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1566        .dwattr $C$DW$126, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1567        .dwattr $C$DW$126, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1568        .dwattr $C$DW$126, DW_AT_decl_line(0x91)
-    1569        .dwattr $C$DW$126, DW_AT_decl_column(0x0d)
-    1570        .dwendtag $C$DW$T$44
-    1571
-    1572        .dwattr $C$DW$T$44, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1573        .dwattr $C$DW$T$44, DW_AT_decl_line(0x8f)
-    1574        .dwattr $C$DW$T$44, DW_AT_decl_column(0x13)
-    1575$C$DW$T$90      .dwtag  DW_TAG_volatile_type
-    1576        .dwattr $C$DW$T$90, DW_AT_type(*$C$DW$T$44)
-    1577
-    1578$C$DW$T$46      .dwtag  DW_TAG_structure_type
-    1579        .dwattr $C$DW$T$46, DW_AT_byte_size(0x30)
-    1580$C$DW$127       .dwtag  DW_TAG_member
-    1581        .dwattr $C$DW$127, DW_AT_type(*$C$DW$T$75)
-    1582        .dwattr $C$DW$127, DW_AT_name("$P$T13")
-    1583        .dwattr $C$DW$127, DW_AT_TI_symbol_name("$P$T13")
-    1584        .dwattr $C$DW$127, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1585        .dwattr $C$DW$127, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1586        .dwattr $C$DW$127, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1587        .dwattr $C$DW$127, DW_AT_decl_line(0x29)
-    1588        .dwattr $C$DW$127, DW_AT_decl_column(0x02)
-    1589$C$DW$128       .dwtag  DW_TAG_member
-    1590        .dwattr $C$DW$128, DW_AT_type(*$C$DW$T$77)
-    1591        .dwattr $C$DW$128, DW_AT_name("$P$T14")
-    1592        .dwattr $C$DW$128, DW_AT_TI_symbol_name("$P$T14")
-    1593        .dwattr $C$DW$128, DW_AT_data_member_location[DW_OP_plus_uconst 0x4]
-    1594        .dwattr $C$DW$128, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1595        .dwattr $C$DW$128, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   30
-
-    1596        .dwattr $C$DW$128, DW_AT_decl_line(0x3b)
-    1597        .dwattr $C$DW$128, DW_AT_decl_column(0x02)
-    1598$C$DW$129       .dwtag  DW_TAG_member
-    1599        .dwattr $C$DW$129, DW_AT_type(*$C$DW$T$79)
-    1600        .dwattr $C$DW$129, DW_AT_name("$P$T15")
-    1601        .dwattr $C$DW$129, DW_AT_TI_symbol_name("$P$T15")
-    1602        .dwattr $C$DW$129, DW_AT_data_member_location[DW_OP_plus_uconst 0x8]
-    1603        .dwattr $C$DW$129, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1604        .dwattr $C$DW$129, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1605        .dwattr $C$DW$129, DW_AT_decl_line(0x46)
-    1606        .dwattr $C$DW$129, DW_AT_decl_column(0x02)
-    1607$C$DW$130       .dwtag  DW_TAG_member
-    1608        .dwattr $C$DW$130, DW_AT_type(*$C$DW$T$81)
-    1609        .dwattr $C$DW$130, DW_AT_name("$P$T16")
-    1610        .dwattr $C$DW$130, DW_AT_TI_symbol_name("$P$T16")
-    1611        .dwattr $C$DW$130, DW_AT_data_member_location[DW_OP_plus_uconst 0xc]
-    1612        .dwattr $C$DW$130, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1613        .dwattr $C$DW$130, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1614        .dwattr $C$DW$130, DW_AT_decl_line(0x50)
-    1615        .dwattr $C$DW$130, DW_AT_decl_column(0x02)
-    1616$C$DW$131       .dwtag  DW_TAG_member
-    1617        .dwattr $C$DW$131, DW_AT_type(*$C$DW$T$83)
-    1618        .dwattr $C$DW$131, DW_AT_name("$P$T17")
-    1619        .dwattr $C$DW$131, DW_AT_TI_symbol_name("$P$T17")
-    1620        .dwattr $C$DW$131, DW_AT_data_member_location[DW_OP_plus_uconst 0x10]
-    1621        .dwattr $C$DW$131, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1622        .dwattr $C$DW$131, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1623        .dwattr $C$DW$131, DW_AT_decl_line(0x5a)
-    1624        .dwattr $C$DW$131, DW_AT_decl_column(0x02)
-    1625$C$DW$132       .dwtag  DW_TAG_member
-    1626        .dwattr $C$DW$132, DW_AT_type(*$C$DW$T$45)
-    1627        .dwattr $C$DW$132, DW_AT_name("rsvd14")
-    1628        .dwattr $C$DW$132, DW_AT_TI_symbol_name("rsvd14")
-    1629        .dwattr $C$DW$132, DW_AT_data_member_location[DW_OP_plus_uconst 0x14]
-    1630        .dwattr $C$DW$132, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1631        .dwattr $C$DW$132, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1632        .dwattr $C$DW$132, DW_AT_decl_line(0x63)
-    1633        .dwattr $C$DW$132, DW_AT_decl_column(0x0b)
-    1634$C$DW$133       .dwtag  DW_TAG_member
-    1635        .dwattr $C$DW$133, DW_AT_type(*$C$DW$T$85)
-    1636        .dwattr $C$DW$133, DW_AT_name("$P$T18")
-    1637        .dwattr $C$DW$133, DW_AT_TI_symbol_name("$P$T18")
-    1638        .dwattr $C$DW$133, DW_AT_data_member_location[DW_OP_plus_uconst 0x20]
-    1639        .dwattr $C$DW$133, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1640        .dwattr $C$DW$133, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1641        .dwattr $C$DW$133, DW_AT_decl_line(0x67)
-    1642        .dwattr $C$DW$133, DW_AT_decl_column(0x02)
-    1643$C$DW$134       .dwtag  DW_TAG_member
-    1644        .dwattr $C$DW$134, DW_AT_type(*$C$DW$T$87)
-    1645        .dwattr $C$DW$134, DW_AT_name("$P$T19")
-    1646        .dwattr $C$DW$134, DW_AT_TI_symbol_name("$P$T19")
-    1647        .dwattr $C$DW$134, DW_AT_data_member_location[DW_OP_plus_uconst 0x24]
-    1648        .dwattr $C$DW$134, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1649        .dwattr $C$DW$134, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1650        .dwattr $C$DW$134, DW_AT_decl_line(0x74)
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   31
-
-    1651        .dwattr $C$DW$134, DW_AT_decl_column(0x02)
-    1652$C$DW$135       .dwtag  DW_TAG_member
-    1653        .dwattr $C$DW$135, DW_AT_type(*$C$DW$T$89)
-    1654        .dwattr $C$DW$135, DW_AT_name("$P$T20")
-    1655        .dwattr $C$DW$135, DW_AT_TI_symbol_name("$P$T20")
-    1656        .dwattr $C$DW$135, DW_AT_data_member_location[DW_OP_plus_uconst 0x28]
-    1657        .dwattr $C$DW$135, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1658        .dwattr $C$DW$135, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1659        .dwattr $C$DW$135, DW_AT_decl_line(0x81)
-    1660        .dwattr $C$DW$135, DW_AT_decl_column(0x02)
-    1661$C$DW$136       .dwtag  DW_TAG_member
-    1662        .dwattr $C$DW$136, DW_AT_type(*$C$DW$T$91)
-    1663        .dwattr $C$DW$136, DW_AT_name("$P$T21")
-    1664        .dwattr $C$DW$136, DW_AT_TI_symbol_name("$P$T21")
-    1665        .dwattr $C$DW$136, DW_AT_data_member_location[DW_OP_plus_uconst 0x2c]
-    1666        .dwattr $C$DW$136, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1667        .dwattr $C$DW$136, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1668        .dwattr $C$DW$136, DW_AT_decl_line(0x8c)
-    1669        .dwattr $C$DW$136, DW_AT_decl_column(0x02)
-    1670        .dwendtag $C$DW$T$46
-    1671
-    1672        .dwattr $C$DW$T$46, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1673        .dwattr $C$DW$T$46, DW_AT_decl_line(0x26)
-    1674        .dwattr $C$DW$T$46, DW_AT_decl_column(0x10)
-    1675$C$DW$T$102     .dwtag  DW_TAG_typedef, DW_AT_name("pruCtrl")
-    1676        .dwattr $C$DW$T$102, DW_AT_type(*$C$DW$T$46)
-    1677        .dwattr $C$DW$T$102, DW_AT_language(DW_LANG_C)
-    1678        .dwattr $C$DW$T$102, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/
-    1679        .dwattr $C$DW$T$102, DW_AT_decl_line(0x95)
-    1680        .dwattr $C$DW$T$102, DW_AT_decl_column(0x03)
-    1681
-    1682$C$DW$T$49      .dwtag  DW_TAG_union_type
-    1683        .dwattr $C$DW$T$49, DW_AT_byte_size(0x04)
-    1684$C$DW$137       .dwtag  DW_TAG_member
-    1685        .dwattr $C$DW$137, DW_AT_type(*$C$DW$T$47)
-    1686        .dwattr $C$DW$137, DW_AT_name("REVID")
-    1687        .dwattr $C$DW$137, DW_AT_TI_symbol_name("REVID")
-    1688        .dwattr $C$DW$137, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1689        .dwattr $C$DW$137, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1690        .dwattr $C$DW$137, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1691        .dwattr $C$DW$137, DW_AT_decl_line(0x2a)
-    1692        .dwattr $C$DW$137, DW_AT_decl_column(0x15)
-    1693$C$DW$138       .dwtag  DW_TAG_member
-    1694        .dwattr $C$DW$138, DW_AT_type(*$C$DW$T$48)
-    1695        .dwattr $C$DW$138, DW_AT_name("REVID_bit")
-    1696        .dwattr $C$DW$138, DW_AT_TI_symbol_name("REVID_bit")
-    1697        .dwattr $C$DW$138, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1698        .dwattr $C$DW$138, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1699        .dwattr $C$DW$138, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1700        .dwattr $C$DW$138, DW_AT_decl_line(0x2e)
-    1701        .dwattr $C$DW$138, DW_AT_decl_column(0x05)
-    1702        .dwendtag $C$DW$T$49
-    1703
-    1704        .dwattr $C$DW$T$49, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1705        .dwattr $C$DW$T$49, DW_AT_decl_line(0x29)
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   32
-
-    1706        .dwattr $C$DW$T$49, DW_AT_decl_column(0x08)
-    1707
-    1708$C$DW$T$51      .dwtag  DW_TAG_union_type
-    1709        .dwattr $C$DW$T$51, DW_AT_byte_size(0x04)
-    1710$C$DW$139       .dwtag  DW_TAG_member
-    1711        .dwattr $C$DW$139, DW_AT_type(*$C$DW$T$47)
-    1712        .dwattr $C$DW$139, DW_AT_name("SYSCFG")
-    1713        .dwattr $C$DW$139, DW_AT_TI_symbol_name("SYSCFG")
-    1714        .dwattr $C$DW$139, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1715        .dwattr $C$DW$139, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1716        .dwattr $C$DW$139, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1717        .dwattr $C$DW$139, DW_AT_decl_line(0x34)
-    1718        .dwattr $C$DW$139, DW_AT_decl_column(0x15)
-    1719$C$DW$140       .dwtag  DW_TAG_member
-    1720        .dwattr $C$DW$140, DW_AT_type(*$C$DW$T$50)
-    1721        .dwattr $C$DW$140, DW_AT_name("SYSCFG_bit")
-    1722        .dwattr $C$DW$140, DW_AT_TI_symbol_name("SYSCFG_bit")
-    1723        .dwattr $C$DW$140, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1724        .dwattr $C$DW$140, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1725        .dwattr $C$DW$140, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1726        .dwattr $C$DW$140, DW_AT_decl_line(0x3c)
-    1727        .dwattr $C$DW$140, DW_AT_decl_column(0x05)
-    1728        .dwendtag $C$DW$T$51
-    1729
-    1730        .dwattr $C$DW$T$51, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1731        .dwattr $C$DW$T$51, DW_AT_decl_line(0x33)
-    1732        .dwattr $C$DW$T$51, DW_AT_decl_column(0x08)
-    1733
-    1734$C$DW$T$53      .dwtag  DW_TAG_union_type
-    1735        .dwattr $C$DW$T$53, DW_AT_byte_size(0x04)
-    1736$C$DW$141       .dwtag  DW_TAG_member
-    1737        .dwattr $C$DW$141, DW_AT_type(*$C$DW$T$47)
-    1738        .dwattr $C$DW$141, DW_AT_name("GPCFG0")
-    1739        .dwattr $C$DW$141, DW_AT_TI_symbol_name("GPCFG0")
-    1740        .dwattr $C$DW$141, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1741        .dwattr $C$DW$141, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1742        .dwattr $C$DW$141, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1743        .dwattr $C$DW$141, DW_AT_decl_line(0x42)
-    1744        .dwattr $C$DW$141, DW_AT_decl_column(0x15)
-    1745$C$DW$142       .dwtag  DW_TAG_member
-    1746        .dwattr $C$DW$142, DW_AT_type(*$C$DW$T$52)
-    1747        .dwattr $C$DW$142, DW_AT_name("GPCFG0_bit")
-    1748        .dwattr $C$DW$142, DW_AT_TI_symbol_name("GPCFG0_bit")
-    1749        .dwattr $C$DW$142, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1750        .dwattr $C$DW$142, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1751        .dwattr $C$DW$142, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1752        .dwattr $C$DW$142, DW_AT_decl_line(0x4f)
-    1753        .dwattr $C$DW$142, DW_AT_decl_column(0x05)
-    1754        .dwendtag $C$DW$T$53
-    1755
-    1756        .dwattr $C$DW$T$53, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1757        .dwattr $C$DW$T$53, DW_AT_decl_line(0x41)
-    1758        .dwattr $C$DW$T$53, DW_AT_decl_column(0x08)
-    1759
-    1760$C$DW$T$55      .dwtag  DW_TAG_union_type
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   33
-
-    1761        .dwattr $C$DW$T$55, DW_AT_byte_size(0x04)
-    1762$C$DW$143       .dwtag  DW_TAG_member
-    1763        .dwattr $C$DW$143, DW_AT_type(*$C$DW$T$47)
-    1764        .dwattr $C$DW$143, DW_AT_name("GPCFG1")
-    1765        .dwattr $C$DW$143, DW_AT_TI_symbol_name("GPCFG1")
-    1766        .dwattr $C$DW$143, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1767        .dwattr $C$DW$143, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1768        .dwattr $C$DW$143, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1769        .dwattr $C$DW$143, DW_AT_decl_line(0x55)
-    1770        .dwattr $C$DW$143, DW_AT_decl_column(0x15)
-    1771$C$DW$144       .dwtag  DW_TAG_member
-    1772        .dwattr $C$DW$144, DW_AT_type(*$C$DW$T$54)
-    1773        .dwattr $C$DW$144, DW_AT_name("GPCFG1_bit")
-    1774        .dwattr $C$DW$144, DW_AT_TI_symbol_name("GPCFG1_bit")
-    1775        .dwattr $C$DW$144, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1776        .dwattr $C$DW$144, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1777        .dwattr $C$DW$144, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1778        .dwattr $C$DW$144, DW_AT_decl_line(0x62)
-    1779        .dwattr $C$DW$144, DW_AT_decl_column(0x05)
-    1780        .dwendtag $C$DW$T$55
-    1781
-    1782        .dwattr $C$DW$T$55, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1783        .dwattr $C$DW$T$55, DW_AT_decl_line(0x54)
-    1784        .dwattr $C$DW$T$55, DW_AT_decl_column(0x08)
-    1785
-    1786$C$DW$T$57      .dwtag  DW_TAG_union_type
-    1787        .dwattr $C$DW$T$57, DW_AT_byte_size(0x04)
-    1788$C$DW$145       .dwtag  DW_TAG_member
-    1789        .dwattr $C$DW$145, DW_AT_type(*$C$DW$T$47)
-    1790        .dwattr $C$DW$145, DW_AT_name("CGR")
-    1791        .dwattr $C$DW$145, DW_AT_TI_symbol_name("CGR")
-    1792        .dwattr $C$DW$145, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1793        .dwattr $C$DW$145, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1794        .dwattr $C$DW$145, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1795        .dwattr $C$DW$145, DW_AT_decl_line(0x68)
-    1796        .dwattr $C$DW$145, DW_AT_decl_column(0x15)
-    1797$C$DW$146       .dwtag  DW_TAG_member
-    1798        .dwattr $C$DW$146, DW_AT_type(*$C$DW$T$56)
-    1799        .dwattr $C$DW$146, DW_AT_name("CGR_bit")
-    1800        .dwattr $C$DW$146, DW_AT_TI_symbol_name("CGR_bit")
-    1801        .dwattr $C$DW$146, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1802        .dwattr $C$DW$146, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1803        .dwattr $C$DW$146, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1804        .dwattr $C$DW$146, DW_AT_decl_line(0x7e)
-    1805        .dwattr $C$DW$146, DW_AT_decl_column(0x05)
-    1806        .dwendtag $C$DW$T$57
-    1807
-    1808        .dwattr $C$DW$T$57, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1809        .dwattr $C$DW$T$57, DW_AT_decl_line(0x67)
-    1810        .dwattr $C$DW$T$57, DW_AT_decl_column(0x08)
-    1811
-    1812$C$DW$T$59      .dwtag  DW_TAG_union_type
-    1813        .dwattr $C$DW$T$59, DW_AT_byte_size(0x04)
-    1814$C$DW$147       .dwtag  DW_TAG_member
-    1815        .dwattr $C$DW$147, DW_AT_type(*$C$DW$T$47)
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   34
-
-    1816        .dwattr $C$DW$147, DW_AT_name("ISRP")
-    1817        .dwattr $C$DW$147, DW_AT_TI_symbol_name("ISRP")
-    1818        .dwattr $C$DW$147, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1819        .dwattr $C$DW$147, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1820        .dwattr $C$DW$147, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1821        .dwattr $C$DW$147, DW_AT_decl_line(0x84)
-    1822        .dwattr $C$DW$147, DW_AT_decl_column(0x15)
-    1823$C$DW$148       .dwtag  DW_TAG_member
-    1824        .dwattr $C$DW$148, DW_AT_type(*$C$DW$T$58)
-    1825        .dwattr $C$DW$148, DW_AT_name("ISRP_bit")
-    1826        .dwattr $C$DW$148, DW_AT_TI_symbol_name("ISRP_bit")
-    1827        .dwattr $C$DW$148, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1828        .dwattr $C$DW$148, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1829        .dwattr $C$DW$148, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1830        .dwattr $C$DW$148, DW_AT_decl_line(0x8d)
-    1831        .dwattr $C$DW$148, DW_AT_decl_column(0x05)
-    1832        .dwendtag $C$DW$T$59
-    1833
-    1834        .dwattr $C$DW$T$59, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1835        .dwattr $C$DW$T$59, DW_AT_decl_line(0x83)
-    1836        .dwattr $C$DW$T$59, DW_AT_decl_column(0x08)
-    1837
-    1838$C$DW$T$61      .dwtag  DW_TAG_union_type
-    1839        .dwattr $C$DW$T$61, DW_AT_byte_size(0x04)
-    1840$C$DW$149       .dwtag  DW_TAG_member
-    1841        .dwattr $C$DW$149, DW_AT_type(*$C$DW$T$47)
-    1842        .dwattr $C$DW$149, DW_AT_name("ISP")
-    1843        .dwattr $C$DW$149, DW_AT_TI_symbol_name("ISP")
-    1844        .dwattr $C$DW$149, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1845        .dwattr $C$DW$149, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1846        .dwattr $C$DW$149, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1847        .dwattr $C$DW$149, DW_AT_decl_line(0x93)
-    1848        .dwattr $C$DW$149, DW_AT_decl_column(0x15)
-    1849$C$DW$150       .dwtag  DW_TAG_member
-    1850        .dwattr $C$DW$150, DW_AT_type(*$C$DW$T$60)
-    1851        .dwattr $C$DW$150, DW_AT_name("ISP_bit")
-    1852        .dwattr $C$DW$150, DW_AT_TI_symbol_name("ISP_bit")
-    1853        .dwattr $C$DW$150, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1854        .dwattr $C$DW$150, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1855        .dwattr $C$DW$150, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1856        .dwattr $C$DW$150, DW_AT_decl_line(0x9c)
-    1857        .dwattr $C$DW$150, DW_AT_decl_column(0x05)
-    1858        .dwendtag $C$DW$T$61
-    1859
-    1860        .dwattr $C$DW$T$61, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1861        .dwattr $C$DW$T$61, DW_AT_decl_line(0x92)
-    1862        .dwattr $C$DW$T$61, DW_AT_decl_column(0x08)
-    1863
-    1864$C$DW$T$63      .dwtag  DW_TAG_union_type
-    1865        .dwattr $C$DW$T$63, DW_AT_byte_size(0x04)
-    1866$C$DW$151       .dwtag  DW_TAG_member
-    1867        .dwattr $C$DW$151, DW_AT_type(*$C$DW$T$47)
-    1868        .dwattr $C$DW$151, DW_AT_name("IESP")
-    1869        .dwattr $C$DW$151, DW_AT_TI_symbol_name("IESP")
-    1870        .dwattr $C$DW$151, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   35
-
-    1871        .dwattr $C$DW$151, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1872        .dwattr $C$DW$151, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1873        .dwattr $C$DW$151, DW_AT_decl_line(0xa1)
-    1874        .dwattr $C$DW$151, DW_AT_decl_column(0x15)
-    1875$C$DW$152       .dwtag  DW_TAG_member
-    1876        .dwattr $C$DW$152, DW_AT_type(*$C$DW$T$62)
-    1877        .dwattr $C$DW$152, DW_AT_name("IESP_bit")
-    1878        .dwattr $C$DW$152, DW_AT_TI_symbol_name("IESP_bit")
-    1879        .dwattr $C$DW$152, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1880        .dwattr $C$DW$152, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1881        .dwattr $C$DW$152, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1882        .dwattr $C$DW$152, DW_AT_decl_line(0xaa)
-    1883        .dwattr $C$DW$152, DW_AT_decl_column(0x05)
-    1884        .dwendtag $C$DW$T$63
-    1885
-    1886        .dwattr $C$DW$T$63, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1887        .dwattr $C$DW$T$63, DW_AT_decl_line(0xa0)
-    1888        .dwattr $C$DW$T$63, DW_AT_decl_column(0x08)
-    1889
-    1890$C$DW$T$65      .dwtag  DW_TAG_union_type
-    1891        .dwattr $C$DW$T$65, DW_AT_byte_size(0x04)
-    1892$C$DW$153       .dwtag  DW_TAG_member
-    1893        .dwattr $C$DW$153, DW_AT_type(*$C$DW$T$47)
-    1894        .dwattr $C$DW$153, DW_AT_name("IECP")
-    1895        .dwattr $C$DW$153, DW_AT_TI_symbol_name("IECP")
-    1896        .dwattr $C$DW$153, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1897        .dwattr $C$DW$153, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1898        .dwattr $C$DW$153, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1899        .dwattr $C$DW$153, DW_AT_decl_line(0xb0)
-    1900        .dwattr $C$DW$153, DW_AT_decl_column(0x15)
-    1901$C$DW$154       .dwtag  DW_TAG_member
-    1902        .dwattr $C$DW$154, DW_AT_type(*$C$DW$T$64)
-    1903        .dwattr $C$DW$154, DW_AT_name("IECP_bit")
-    1904        .dwattr $C$DW$154, DW_AT_TI_symbol_name("IECP_bit")
-    1905        .dwattr $C$DW$154, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1906        .dwattr $C$DW$154, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1907        .dwattr $C$DW$154, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1908        .dwattr $C$DW$154, DW_AT_decl_line(0xb8)
-    1909        .dwattr $C$DW$154, DW_AT_decl_column(0x05)
-    1910        .dwendtag $C$DW$T$65
-    1911
-    1912        .dwattr $C$DW$T$65, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1913        .dwattr $C$DW$T$65, DW_AT_decl_line(0xaf)
-    1914        .dwattr $C$DW$T$65, DW_AT_decl_column(0x08)
-    1915
-    1916$C$DW$T$67      .dwtag  DW_TAG_union_type
-    1917        .dwattr $C$DW$T$67, DW_AT_byte_size(0x04)
-    1918$C$DW$155       .dwtag  DW_TAG_member
-    1919        .dwattr $C$DW$155, DW_AT_type(*$C$DW$T$47)
-    1920        .dwattr $C$DW$155, DW_AT_name("PMAO")
-    1921        .dwattr $C$DW$155, DW_AT_TI_symbol_name("PMAO")
-    1922        .dwattr $C$DW$155, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1923        .dwattr $C$DW$155, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1924        .dwattr $C$DW$155, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1925        .dwattr $C$DW$155, DW_AT_decl_line(0xc1)
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   36
-
-    1926        .dwattr $C$DW$155, DW_AT_decl_column(0x15)
-    1927$C$DW$156       .dwtag  DW_TAG_member
-    1928        .dwattr $C$DW$156, DW_AT_type(*$C$DW$T$66)
-    1929        .dwattr $C$DW$156, DW_AT_name("PMAO_bit")
-    1930        .dwattr $C$DW$156, DW_AT_TI_symbol_name("PMAO_bit")
-    1931        .dwattr $C$DW$156, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1932        .dwattr $C$DW$156, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1933        .dwattr $C$DW$156, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1934        .dwattr $C$DW$156, DW_AT_decl_line(0xc7)
-    1935        .dwattr $C$DW$156, DW_AT_decl_column(0x05)
-    1936        .dwendtag $C$DW$T$67
-    1937
-    1938        .dwattr $C$DW$T$67, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1939        .dwattr $C$DW$T$67, DW_AT_decl_line(0xc0)
-    1940        .dwattr $C$DW$T$67, DW_AT_decl_column(0x08)
-    1941
-    1942$C$DW$T$69      .dwtag  DW_TAG_union_type
-    1943        .dwattr $C$DW$T$69, DW_AT_byte_size(0x04)
-    1944$C$DW$157       .dwtag  DW_TAG_member
-    1945        .dwattr $C$DW$157, DW_AT_type(*$C$DW$T$47)
-    1946        .dwattr $C$DW$157, DW_AT_name("IEPCLK")
-    1947        .dwattr $C$DW$157, DW_AT_TI_symbol_name("IEPCLK")
-    1948        .dwattr $C$DW$157, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1949        .dwattr $C$DW$157, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1950        .dwattr $C$DW$157, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1951        .dwattr $C$DW$157, DW_AT_decl_line(0xd0)
-    1952        .dwattr $C$DW$157, DW_AT_decl_column(0x15)
-    1953$C$DW$158       .dwtag  DW_TAG_member
-    1954        .dwattr $C$DW$158, DW_AT_type(*$C$DW$T$68)
-    1955        .dwattr $C$DW$158, DW_AT_name("IEPCLK_bit")
-    1956        .dwattr $C$DW$158, DW_AT_TI_symbol_name("IEPCLK_bit")
-    1957        .dwattr $C$DW$158, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1958        .dwattr $C$DW$158, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1959        .dwattr $C$DW$158, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1960        .dwattr $C$DW$158, DW_AT_decl_line(0xd5)
-    1961        .dwattr $C$DW$158, DW_AT_decl_column(0x05)
-    1962        .dwendtag $C$DW$T$69
-    1963
-    1964        .dwattr $C$DW$T$69, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1965        .dwattr $C$DW$T$69, DW_AT_decl_line(0xcf)
-    1966        .dwattr $C$DW$T$69, DW_AT_decl_column(0x08)
-    1967
-    1968$C$DW$T$71      .dwtag  DW_TAG_union_type
-    1969        .dwattr $C$DW$T$71, DW_AT_byte_size(0x04)
-    1970$C$DW$159       .dwtag  DW_TAG_member
-    1971        .dwattr $C$DW$159, DW_AT_type(*$C$DW$T$47)
-    1972        .dwattr $C$DW$159, DW_AT_name("SPP")
-    1973        .dwattr $C$DW$159, DW_AT_TI_symbol_name("SPP")
-    1974        .dwattr $C$DW$159, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1975        .dwattr $C$DW$159, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1976        .dwattr $C$DW$159, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1977        .dwattr $C$DW$159, DW_AT_decl_line(0xdb)
-    1978        .dwattr $C$DW$159, DW_AT_decl_column(0x15)
-    1979$C$DW$160       .dwtag  DW_TAG_member
-    1980        .dwattr $C$DW$160, DW_AT_type(*$C$DW$T$70)
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   37
-
-    1981        .dwattr $C$DW$160, DW_AT_name("SPP_bit")
-    1982        .dwattr $C$DW$160, DW_AT_TI_symbol_name("SPP_bit")
-    1983        .dwattr $C$DW$160, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    1984        .dwattr $C$DW$160, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    1985        .dwattr $C$DW$160, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    1986        .dwattr $C$DW$160, DW_AT_decl_line(0xe1)
-    1987        .dwattr $C$DW$160, DW_AT_decl_column(0x05)
-    1988        .dwendtag $C$DW$T$71
-    1989
-    1990        .dwattr $C$DW$T$71, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    1991        .dwattr $C$DW$T$71, DW_AT_decl_line(0xda)
-    1992        .dwattr $C$DW$T$71, DW_AT_decl_column(0x08)
-    1993
-    1994$C$DW$T$73      .dwtag  DW_TAG_union_type
-    1995        .dwattr $C$DW$T$73, DW_AT_byte_size(0x04)
-    1996$C$DW$161       .dwtag  DW_TAG_member
-    1997        .dwattr $C$DW$161, DW_AT_type(*$C$DW$T$47)
-    1998        .dwattr $C$DW$161, DW_AT_name("PIN_MX")
-    1999        .dwattr $C$DW$161, DW_AT_TI_symbol_name("PIN_MX")
-    2000        .dwattr $C$DW$161, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2001        .dwattr $C$DW$161, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2002        .dwattr $C$DW$161, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2003        .dwattr $C$DW$161, DW_AT_decl_line(0xe9)
-    2004        .dwattr $C$DW$161, DW_AT_decl_column(0x15)
-    2005$C$DW$162       .dwtag  DW_TAG_member
-    2006        .dwattr $C$DW$162, DW_AT_type(*$C$DW$T$72)
-    2007        .dwattr $C$DW$162, DW_AT_name("PIN_MX_bit")
-    2008        .dwattr $C$DW$162, DW_AT_TI_symbol_name("PIN_MX_bit")
-    2009        .dwattr $C$DW$162, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2010        .dwattr $C$DW$162, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2011        .dwattr $C$DW$162, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2012        .dwattr $C$DW$162, DW_AT_decl_line(0xee)
-    2013        .dwattr $C$DW$162, DW_AT_decl_column(0x05)
-    2014        .dwendtag $C$DW$T$73
-    2015
-    2016        .dwattr $C$DW$T$73, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    2017        .dwattr $C$DW$T$73, DW_AT_decl_line(0xe8)
-    2018        .dwattr $C$DW$T$73, DW_AT_decl_column(0x08)
-    2019
-    2020$C$DW$T$75      .dwtag  DW_TAG_union_type
-    2021        .dwattr $C$DW$T$75, DW_AT_byte_size(0x04)
-    2022$C$DW$163       .dwtag  DW_TAG_member
-    2023        .dwattr $C$DW$163, DW_AT_type(*$C$DW$T$47)
-    2024        .dwattr $C$DW$163, DW_AT_name("CTRL")
-    2025        .dwattr $C$DW$163, DW_AT_TI_symbol_name("CTRL")
-    2026        .dwattr $C$DW$163, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2027        .dwattr $C$DW$163, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2028        .dwattr $C$DW$163, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2029        .dwattr $C$DW$163, DW_AT_decl_line(0x2a)
-    2030        .dwattr $C$DW$163, DW_AT_decl_column(0x15)
-    2031$C$DW$164       .dwtag  DW_TAG_member
-    2032        .dwattr $C$DW$164, DW_AT_type(*$C$DW$T$74)
-    2033        .dwattr $C$DW$164, DW_AT_name("CTRL_bit")
-    2034        .dwattr $C$DW$164, DW_AT_TI_symbol_name("CTRL_bit")
-    2035        .dwattr $C$DW$164, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   38
-
-    2036        .dwattr $C$DW$164, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2037        .dwattr $C$DW$164, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2038        .dwattr $C$DW$164, DW_AT_decl_line(0x36)
-    2039        .dwattr $C$DW$164, DW_AT_decl_column(0x05)
-    2040        .dwendtag $C$DW$T$75
-    2041
-    2042        .dwattr $C$DW$T$75, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    2043        .dwattr $C$DW$T$75, DW_AT_decl_line(0x29)
-    2044        .dwattr $C$DW$T$75, DW_AT_decl_column(0x08)
-    2045
-    2046$C$DW$T$77      .dwtag  DW_TAG_union_type
-    2047        .dwattr $C$DW$T$77, DW_AT_byte_size(0x04)
-    2048$C$DW$165       .dwtag  DW_TAG_member
-    2049        .dwattr $C$DW$165, DW_AT_type(*$C$DW$T$47)
-    2050        .dwattr $C$DW$165, DW_AT_name("STS")
-    2051        .dwattr $C$DW$165, DW_AT_TI_symbol_name("STS")
-    2052        .dwattr $C$DW$165, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2053        .dwattr $C$DW$165, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2054        .dwattr $C$DW$165, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2055        .dwattr $C$DW$165, DW_AT_decl_line(0x3c)
-    2056        .dwattr $C$DW$165, DW_AT_decl_column(0x15)
-    2057$C$DW$166       .dwtag  DW_TAG_member
-    2058        .dwattr $C$DW$166, DW_AT_type(*$C$DW$T$76)
-    2059        .dwattr $C$DW$166, DW_AT_name("STS_bit")
-    2060        .dwattr $C$DW$166, DW_AT_TI_symbol_name("STS_bit")
-    2061        .dwattr $C$DW$166, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2062        .dwattr $C$DW$166, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2063        .dwattr $C$DW$166, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2064        .dwattr $C$DW$166, DW_AT_decl_line(0x41)
-    2065        .dwattr $C$DW$166, DW_AT_decl_column(0x05)
-    2066        .dwendtag $C$DW$T$77
-    2067
-    2068        .dwattr $C$DW$T$77, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    2069        .dwattr $C$DW$T$77, DW_AT_decl_line(0x3b)
-    2070        .dwattr $C$DW$T$77, DW_AT_decl_column(0x08)
-    2071
-    2072$C$DW$T$79      .dwtag  DW_TAG_union_type
-    2073        .dwattr $C$DW$T$79, DW_AT_byte_size(0x04)
-    2074$C$DW$167       .dwtag  DW_TAG_member
-    2075        .dwattr $C$DW$167, DW_AT_type(*$C$DW$T$47)
-    2076        .dwattr $C$DW$167, DW_AT_name("WAKEUP_EN")
-    2077        .dwattr $C$DW$167, DW_AT_TI_symbol_name("WAKEUP_EN")
-    2078        .dwattr $C$DW$167, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2079        .dwattr $C$DW$167, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2080        .dwattr $C$DW$167, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2081        .dwattr $C$DW$167, DW_AT_decl_line(0x47)
-    2082        .dwattr $C$DW$167, DW_AT_decl_column(0x15)
-    2083$C$DW$168       .dwtag  DW_TAG_member
-    2084        .dwattr $C$DW$168, DW_AT_type(*$C$DW$T$78)
-    2085        .dwattr $C$DW$168, DW_AT_name("WAKEUP_EN_bit")
-    2086        .dwattr $C$DW$168, DW_AT_TI_symbol_name("WAKEUP_EN_bit")
-    2087        .dwattr $C$DW$168, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2088        .dwattr $C$DW$168, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2089        .dwattr $C$DW$168, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2090        .dwattr $C$DW$168, DW_AT_decl_line(0x4b)
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   39
-
-    2091        .dwattr $C$DW$168, DW_AT_decl_column(0x05)
-    2092        .dwendtag $C$DW$T$79
-    2093
-    2094        .dwattr $C$DW$T$79, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    2095        .dwattr $C$DW$T$79, DW_AT_decl_line(0x46)
-    2096        .dwattr $C$DW$T$79, DW_AT_decl_column(0x08)
-    2097
-    2098$C$DW$T$81      .dwtag  DW_TAG_union_type
-    2099        .dwattr $C$DW$T$81, DW_AT_byte_size(0x04)
-    2100$C$DW$169       .dwtag  DW_TAG_member
-    2101        .dwattr $C$DW$169, DW_AT_type(*$C$DW$T$47)
-    2102        .dwattr $C$DW$169, DW_AT_name("CYCLE")
-    2103        .dwattr $C$DW$169, DW_AT_TI_symbol_name("CYCLE")
-    2104        .dwattr $C$DW$169, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2105        .dwattr $C$DW$169, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2106        .dwattr $C$DW$169, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2107        .dwattr $C$DW$169, DW_AT_decl_line(0x51)
-    2108        .dwattr $C$DW$169, DW_AT_decl_column(0x15)
-    2109$C$DW$170       .dwtag  DW_TAG_member
-    2110        .dwattr $C$DW$170, DW_AT_type(*$C$DW$T$80)
-    2111        .dwattr $C$DW$170, DW_AT_name("CYCLE_bit")
-    2112        .dwattr $C$DW$170, DW_AT_TI_symbol_name("CYCLE_bit")
-    2113        .dwattr $C$DW$170, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2114        .dwattr $C$DW$170, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2115        .dwattr $C$DW$170, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2116        .dwattr $C$DW$170, DW_AT_decl_line(0x55)
-    2117        .dwattr $C$DW$170, DW_AT_decl_column(0x05)
-    2118        .dwendtag $C$DW$T$81
-    2119
-    2120        .dwattr $C$DW$T$81, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    2121        .dwattr $C$DW$T$81, DW_AT_decl_line(0x50)
-    2122        .dwattr $C$DW$T$81, DW_AT_decl_column(0x08)
-    2123
-    2124$C$DW$T$83      .dwtag  DW_TAG_union_type
-    2125        .dwattr $C$DW$T$83, DW_AT_byte_size(0x04)
-    2126$C$DW$171       .dwtag  DW_TAG_member
-    2127        .dwattr $C$DW$171, DW_AT_type(*$C$DW$T$47)
-    2128        .dwattr $C$DW$171, DW_AT_name("STALL")
-    2129        .dwattr $C$DW$171, DW_AT_TI_symbol_name("STALL")
-    2130        .dwattr $C$DW$171, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2131        .dwattr $C$DW$171, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2132        .dwattr $C$DW$171, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2133        .dwattr $C$DW$171, DW_AT_decl_line(0x5b)
-    2134        .dwattr $C$DW$171, DW_AT_decl_column(0x15)
-    2135$C$DW$172       .dwtag  DW_TAG_member
-    2136        .dwattr $C$DW$172, DW_AT_type(*$C$DW$T$82)
-    2137        .dwattr $C$DW$172, DW_AT_name("STALL_bit")
-    2138        .dwattr $C$DW$172, DW_AT_TI_symbol_name("STALL_bit")
-    2139        .dwattr $C$DW$172, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2140        .dwattr $C$DW$172, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2141        .dwattr $C$DW$172, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2142        .dwattr $C$DW$172, DW_AT_decl_line(0x5f)
-    2143        .dwattr $C$DW$172, DW_AT_decl_column(0x05)
-    2144        .dwendtag $C$DW$T$83
-    2145
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   40
-
-    2146        .dwattr $C$DW$T$83, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    2147        .dwattr $C$DW$T$83, DW_AT_decl_line(0x5a)
-    2148        .dwattr $C$DW$T$83, DW_AT_decl_column(0x08)
-    2149
-    2150$C$DW$T$85      .dwtag  DW_TAG_union_type
-    2151        .dwattr $C$DW$T$85, DW_AT_byte_size(0x04)
-    2152$C$DW$173       .dwtag  DW_TAG_member
-    2153        .dwattr $C$DW$173, DW_AT_type(*$C$DW$T$47)
-    2154        .dwattr $C$DW$173, DW_AT_name("CTBIR0")
-    2155        .dwattr $C$DW$173, DW_AT_TI_symbol_name("CTBIR0")
-    2156        .dwattr $C$DW$173, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2157        .dwattr $C$DW$173, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2158        .dwattr $C$DW$173, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2159        .dwattr $C$DW$173, DW_AT_decl_line(0x68)
-    2160        .dwattr $C$DW$173, DW_AT_decl_column(0x15)
-    2161$C$DW$174       .dwtag  DW_TAG_member
-    2162        .dwattr $C$DW$174, DW_AT_type(*$C$DW$T$84)
-    2163        .dwattr $C$DW$174, DW_AT_name("CTBIR0_bit")
-    2164        .dwattr $C$DW$174, DW_AT_TI_symbol_name("CTBIR0_bit")
-    2165        .dwattr $C$DW$174, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2166        .dwattr $C$DW$174, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2167        .dwattr $C$DW$174, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2168        .dwattr $C$DW$174, DW_AT_decl_line(0x6f)
-    2169        .dwattr $C$DW$174, DW_AT_decl_column(0x05)
-    2170        .dwendtag $C$DW$T$85
-    2171
-    2172        .dwattr $C$DW$T$85, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    2173        .dwattr $C$DW$T$85, DW_AT_decl_line(0x67)
-    2174        .dwattr $C$DW$T$85, DW_AT_decl_column(0x08)
-    2175
-    2176$C$DW$T$87      .dwtag  DW_TAG_union_type
-    2177        .dwattr $C$DW$T$87, DW_AT_byte_size(0x04)
-    2178$C$DW$175       .dwtag  DW_TAG_member
-    2179        .dwattr $C$DW$175, DW_AT_type(*$C$DW$T$47)
-    2180        .dwattr $C$DW$175, DW_AT_name("CTBIR1")
-    2181        .dwattr $C$DW$175, DW_AT_TI_symbol_name("CTBIR1")
-    2182        .dwattr $C$DW$175, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2183        .dwattr $C$DW$175, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2184        .dwattr $C$DW$175, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2185        .dwattr $C$DW$175, DW_AT_decl_line(0x75)
-    2186        .dwattr $C$DW$175, DW_AT_decl_column(0x15)
-    2187$C$DW$176       .dwtag  DW_TAG_member
-    2188        .dwattr $C$DW$176, DW_AT_type(*$C$DW$T$86)
-    2189        .dwattr $C$DW$176, DW_AT_name("CTBIR1_bit")
-    2190        .dwattr $C$DW$176, DW_AT_TI_symbol_name("CTBIR1_bit")
-    2191        .dwattr $C$DW$176, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2192        .dwattr $C$DW$176, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2193        .dwattr $C$DW$176, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2194        .dwattr $C$DW$176, DW_AT_decl_line(0x7c)
-    2195        .dwattr $C$DW$176, DW_AT_decl_column(0x05)
-    2196        .dwendtag $C$DW$T$87
-    2197
-    2198        .dwattr $C$DW$T$87, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    2199        .dwattr $C$DW$T$87, DW_AT_decl_line(0x74)
-    2200        .dwattr $C$DW$T$87, DW_AT_decl_column(0x08)
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   41
-
-    2201
-    2202$C$DW$T$89      .dwtag  DW_TAG_union_type
-    2203        .dwattr $C$DW$T$89, DW_AT_byte_size(0x04)
-    2204$C$DW$177       .dwtag  DW_TAG_member
-    2205        .dwattr $C$DW$177, DW_AT_type(*$C$DW$T$47)
-    2206        .dwattr $C$DW$177, DW_AT_name("CTPPR0")
-    2207        .dwattr $C$DW$177, DW_AT_TI_symbol_name("CTPPR0")
-    2208        .dwattr $C$DW$177, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2209        .dwattr $C$DW$177, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2210        .dwattr $C$DW$177, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2211        .dwattr $C$DW$177, DW_AT_decl_line(0x82)
-    2212        .dwattr $C$DW$177, DW_AT_decl_column(0x15)
-    2213$C$DW$178       .dwtag  DW_TAG_member
-    2214        .dwattr $C$DW$178, DW_AT_type(*$C$DW$T$88)
-    2215        .dwattr $C$DW$178, DW_AT_name("CTPPR0_bit")
-    2216        .dwattr $C$DW$178, DW_AT_TI_symbol_name("CTPPR0_bit")
-    2217        .dwattr $C$DW$178, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2218        .dwattr $C$DW$178, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2219        .dwattr $C$DW$178, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2220        .dwattr $C$DW$178, DW_AT_decl_line(0x87)
-    2221        .dwattr $C$DW$178, DW_AT_decl_column(0x05)
-    2222        .dwendtag $C$DW$T$89
-    2223
-    2224        .dwattr $C$DW$T$89, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    2225        .dwattr $C$DW$T$89, DW_AT_decl_line(0x81)
-    2226        .dwattr $C$DW$T$89, DW_AT_decl_column(0x08)
-    2227
-    2228$C$DW$T$91      .dwtag  DW_TAG_union_type
-    2229        .dwattr $C$DW$T$91, DW_AT_byte_size(0x04)
-    2230$C$DW$179       .dwtag  DW_TAG_member
-    2231        .dwattr $C$DW$179, DW_AT_type(*$C$DW$T$47)
-    2232        .dwattr $C$DW$179, DW_AT_name("CTPPR1")
-    2233        .dwattr $C$DW$179, DW_AT_TI_symbol_name("CTPPR1")
-    2234        .dwattr $C$DW$179, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2235        .dwattr $C$DW$179, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2236        .dwattr $C$DW$179, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2237        .dwattr $C$DW$179, DW_AT_decl_line(0x8d)
-    2238        .dwattr $C$DW$179, DW_AT_decl_column(0x15)
-    2239$C$DW$180       .dwtag  DW_TAG_member
-    2240        .dwattr $C$DW$180, DW_AT_type(*$C$DW$T$90)
-    2241        .dwattr $C$DW$180, DW_AT_name("CTPPR1_bit")
-    2242        .dwattr $C$DW$180, DW_AT_TI_symbol_name("CTPPR1_bit")
-    2243        .dwattr $C$DW$180, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2244        .dwattr $C$DW$180, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2245        .dwattr $C$DW$180, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/pr
-    2246        .dwattr $C$DW$180, DW_AT_decl_line(0x92)
-    2247        .dwattr $C$DW$180, DW_AT_decl_column(0x05)
-    2248        .dwendtag $C$DW$T$91
-    2249
-    2250        .dwattr $C$DW$T$91, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/am335x/p
-    2251        .dwattr $C$DW$T$91, DW_AT_decl_line(0x8c)
-    2252        .dwattr $C$DW$T$91, DW_AT_decl_column(0x08)
-    2253$C$DW$T$2       .dwtag  DW_TAG_unspecified_type
-    2254        .dwattr $C$DW$T$2, DW_AT_name("void")
-    2255$C$DW$T$4       .dwtag  DW_TAG_base_type
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   42
-
-    2256        .dwattr $C$DW$T$4, DW_AT_encoding(DW_ATE_boolean)
-    2257        .dwattr $C$DW$T$4, DW_AT_name("bool")
-    2258        .dwattr $C$DW$T$4, DW_AT_byte_size(0x01)
-    2259$C$DW$T$5       .dwtag  DW_TAG_base_type
-    2260        .dwattr $C$DW$T$5, DW_AT_encoding(DW_ATE_signed_char)
-    2261        .dwattr $C$DW$T$5, DW_AT_name("signed char")
-    2262        .dwattr $C$DW$T$5, DW_AT_byte_size(0x01)
-    2263$C$DW$T$6       .dwtag  DW_TAG_base_type
-    2264        .dwattr $C$DW$T$6, DW_AT_encoding(DW_ATE_unsigned_char)
-    2265        .dwattr $C$DW$T$6, DW_AT_name("unsigned char")
-    2266        .dwattr $C$DW$T$6, DW_AT_byte_size(0x01)
-    2267$C$DW$T$7       .dwtag  DW_TAG_base_type
-    2268        .dwattr $C$DW$T$7, DW_AT_encoding(DW_ATE_signed_char)
-    2269        .dwattr $C$DW$T$7, DW_AT_name("wchar_t")
-    2270        .dwattr $C$DW$T$7, DW_AT_byte_size(0x04)
-    2271$C$DW$T$8       .dwtag  DW_TAG_base_type
-    2272        .dwattr $C$DW$T$8, DW_AT_encoding(DW_ATE_signed)
-    2273        .dwattr $C$DW$T$8, DW_AT_name("short")
-    2274        .dwattr $C$DW$T$8, DW_AT_byte_size(0x02)
-    2275$C$DW$T$9       .dwtag  DW_TAG_base_type
-    2276        .dwattr $C$DW$T$9, DW_AT_encoding(DW_ATE_unsigned)
-    2277        .dwattr $C$DW$T$9, DW_AT_name("unsigned short")
-    2278        .dwattr $C$DW$T$9, DW_AT_byte_size(0x02)
-    2279$C$DW$T$10      .dwtag  DW_TAG_base_type
-    2280        .dwattr $C$DW$T$10, DW_AT_encoding(DW_ATE_signed)
-    2281        .dwattr $C$DW$T$10, DW_AT_name("int")
-    2282        .dwattr $C$DW$T$10, DW_AT_byte_size(0x04)
-    2283$C$DW$T$11      .dwtag  DW_TAG_base_type
-    2284        .dwattr $C$DW$T$11, DW_AT_encoding(DW_ATE_unsigned)
-    2285        .dwattr $C$DW$T$11, DW_AT_name("unsigned int")
-    2286        .dwattr $C$DW$T$11, DW_AT_byte_size(0x04)
-    2287$C$DW$T$32      .dwtag  DW_TAG_typedef, DW_AT_name("uint32_t")
-    2288        .dwattr $C$DW$T$32, DW_AT_type(*$C$DW$T$11)
-    2289        .dwattr $C$DW$T$32, DW_AT_language(DW_LANG_C)
-    2290        .dwattr $C$DW$T$32, DW_AT_decl_file("/usr/share/ti/cgt-pru/include/stdint.h")
-    2291        .dwattr $C$DW$T$32, DW_AT_decl_line(0x2f)
-    2292        .dwattr $C$DW$T$32, DW_AT_decl_column(0x1c)
-    2293
-    2294$C$DW$T$33      .dwtag  DW_TAG_array_type
-    2295        .dwattr $C$DW$T$33, DW_AT_type(*$C$DW$T$32)
-    2296        .dwattr $C$DW$T$33, DW_AT_language(DW_LANG_C)
-    2297        .dwattr $C$DW$T$33, DW_AT_byte_size(0x04)
-    2298$C$DW$181       .dwtag  DW_TAG_subrange_type
-    2299        .dwattr $C$DW$181, DW_AT_upper_bound(0x00)
-    2300        .dwendtag $C$DW$T$33
-    2301
-    2302
-    2303$C$DW$T$34      .dwtag  DW_TAG_array_type
-    2304        .dwattr $C$DW$T$34, DW_AT_type(*$C$DW$T$32)
-    2305        .dwattr $C$DW$T$34, DW_AT_language(DW_LANG_C)
-    2306        .dwattr $C$DW$T$34, DW_AT_byte_size(0x08)
-    2307$C$DW$182       .dwtag  DW_TAG_subrange_type
-    2308        .dwattr $C$DW$182, DW_AT_upper_bound(0x01)
-    2309        .dwendtag $C$DW$T$34
-    2310
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   43
-
-    2311
-    2312$C$DW$T$45      .dwtag  DW_TAG_array_type
-    2313        .dwattr $C$DW$T$45, DW_AT_type(*$C$DW$T$32)
-    2314        .dwattr $C$DW$T$45, DW_AT_language(DW_LANG_C)
-    2315        .dwattr $C$DW$T$45, DW_AT_byte_size(0x0c)
-    2316$C$DW$183       .dwtag  DW_TAG_subrange_type
-    2317        .dwattr $C$DW$183, DW_AT_upper_bound(0x02)
-    2318        .dwendtag $C$DW$T$45
-    2319
-    2320$C$DW$T$47      .dwtag  DW_TAG_volatile_type
-    2321        .dwattr $C$DW$T$47, DW_AT_type(*$C$DW$T$32)
-    2322$C$DW$T$12      .dwtag  DW_TAG_base_type
-    2323        .dwattr $C$DW$T$12, DW_AT_encoding(DW_ATE_signed)
-    2324        .dwattr $C$DW$T$12, DW_AT_name("long")
-    2325        .dwattr $C$DW$T$12, DW_AT_byte_size(0x04)
-    2326$C$DW$T$13      .dwtag  DW_TAG_base_type
-    2327        .dwattr $C$DW$T$13, DW_AT_encoding(DW_ATE_unsigned)
-    2328        .dwattr $C$DW$T$13, DW_AT_name("unsigned long")
-    2329        .dwattr $C$DW$T$13, DW_AT_byte_size(0x04)
-    2330$C$DW$T$14      .dwtag  DW_TAG_base_type
-    2331        .dwattr $C$DW$T$14, DW_AT_encoding(DW_ATE_signed)
-    2332        .dwattr $C$DW$T$14, DW_AT_name("long long")
-    2333        .dwattr $C$DW$T$14, DW_AT_byte_size(0x08)
-    2334$C$DW$T$15      .dwtag  DW_TAG_base_type
-    2335        .dwattr $C$DW$T$15, DW_AT_encoding(DW_ATE_unsigned)
-    2336        .dwattr $C$DW$T$15, DW_AT_name("unsigned long long")
-    2337        .dwattr $C$DW$T$15, DW_AT_byte_size(0x08)
-    2338$C$DW$T$16      .dwtag  DW_TAG_base_type
-    2339        .dwattr $C$DW$T$16, DW_AT_encoding(DW_ATE_float)
-    2340        .dwattr $C$DW$T$16, DW_AT_name("float")
-    2341        .dwattr $C$DW$T$16, DW_AT_byte_size(0x04)
-    2342$C$DW$T$17      .dwtag  DW_TAG_base_type
-    2343        .dwattr $C$DW$T$17, DW_AT_encoding(DW_ATE_float)
-    2344        .dwattr $C$DW$T$17, DW_AT_name("double")
-    2345        .dwattr $C$DW$T$17, DW_AT_byte_size(0x08)
-    2346$C$DW$T$18      .dwtag  DW_TAG_base_type
-    2347        .dwattr $C$DW$T$18, DW_AT_encoding(DW_ATE_float)
-    2348        .dwattr $C$DW$T$18, DW_AT_name("long double")
-    2349        .dwattr $C$DW$T$18, DW_AT_byte_size(0x08)
-    2350
-    2351$C$DW$T$92      .dwtag  DW_TAG_structure_type
-    2352        .dwattr $C$DW$T$92, DW_AT_name("my_resource_table")
-    2353        .dwattr $C$DW$T$92, DW_AT_byte_size(0x14)
-    2354$C$DW$184       .dwtag  DW_TAG_member
-    2355        .dwattr $C$DW$184, DW_AT_type(*$C$DW$T$93)
-    2356        .dwattr $C$DW$184, DW_AT_name("base")
-    2357        .dwattr $C$DW$184, DW_AT_TI_symbol_name("base")
-    2358        .dwattr $C$DW$184, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2359        .dwattr $C$DW$184, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2360        .dwattr $C$DW$184, DW_AT_decl_file("/var/lib/cloud9/common/resource_table_empty.h")
-    2361        .dwattr $C$DW$184, DW_AT_decl_line(0x18)
-    2362        .dwattr $C$DW$184, DW_AT_decl_column(0x18)
-    2363$C$DW$185       .dwtag  DW_TAG_member
-    2364        .dwattr $C$DW$185, DW_AT_type(*$C$DW$T$33)
-    2365        .dwattr $C$DW$185, DW_AT_name("offset")
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   44
-
-    2366        .dwattr $C$DW$185, DW_AT_TI_symbol_name("offset")
-    2367        .dwattr $C$DW$185, DW_AT_data_member_location[DW_OP_plus_uconst 0x10]
-    2368        .dwattr $C$DW$185, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2369        .dwattr $C$DW$185, DW_AT_decl_file("/var/lib/cloud9/common/resource_table_empty.h")
-    2370        .dwattr $C$DW$185, DW_AT_decl_line(0x1a)
-    2371        .dwattr $C$DW$185, DW_AT_decl_column(0x0b)
-    2372        .dwendtag $C$DW$T$92
-    2373
-    2374        .dwattr $C$DW$T$92, DW_AT_decl_file("/var/lib/cloud9/common/resource_table_empty.h")
-    2375        .dwattr $C$DW$T$92, DW_AT_decl_line(0x17)
-    2376        .dwattr $C$DW$T$92, DW_AT_decl_column(0x08)
-    2377
-    2378$C$DW$T$93      .dwtag  DW_TAG_structure_type
-    2379        .dwattr $C$DW$T$93, DW_AT_name("resource_table")
-    2380        .dwattr $C$DW$T$93, DW_AT_byte_size(0x10)
-    2381$C$DW$186       .dwtag  DW_TAG_member
-    2382        .dwattr $C$DW$186, DW_AT_type(*$C$DW$T$32)
-    2383        .dwattr $C$DW$186, DW_AT_name("ver")
-    2384        .dwattr $C$DW$186, DW_AT_TI_symbol_name("ver")
-    2385        .dwattr $C$DW$186, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
-    2386        .dwattr $C$DW$186, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2387        .dwattr $C$DW$186, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/rsc_types
-    2388        .dwattr $C$DW$186, DW_AT_decl_line(0x59)
-    2389        .dwattr $C$DW$186, DW_AT_decl_column(0x0b)
-    2390$C$DW$187       .dwtag  DW_TAG_member
-    2391        .dwattr $C$DW$187, DW_AT_type(*$C$DW$T$32)
-    2392        .dwattr $C$DW$187, DW_AT_name("num")
-    2393        .dwattr $C$DW$187, DW_AT_TI_symbol_name("num")
-    2394        .dwattr $C$DW$187, DW_AT_data_member_location[DW_OP_plus_uconst 0x4]
-    2395        .dwattr $C$DW$187, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2396        .dwattr $C$DW$187, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/rsc_types
-    2397        .dwattr $C$DW$187, DW_AT_decl_line(0x5a)
-    2398        .dwattr $C$DW$187, DW_AT_decl_column(0x0b)
-    2399$C$DW$188       .dwtag  DW_TAG_member
-    2400        .dwattr $C$DW$188, DW_AT_type(*$C$DW$T$34)
-    2401        .dwattr $C$DW$188, DW_AT_name("reserved")
-    2402        .dwattr $C$DW$188, DW_AT_TI_symbol_name("reserved")
-    2403        .dwattr $C$DW$188, DW_AT_data_member_location[DW_OP_plus_uconst 0x8]
-    2404        .dwattr $C$DW$188, DW_AT_accessibility(DW_ACCESS_ai_64_lic)
-    2405        .dwattr $C$DW$188, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/rsc_types
-    2406        .dwattr $C$DW$188, DW_AT_decl_line(0x5b)
-    2407        .dwattr $C$DW$188, DW_AT_decl_column(0x0b)
-    2408        .dwendtag $C$DW$T$93
-    2409
-    2410        .dwattr $C$DW$T$93, DW_AT_decl_file("/usr/lib/ti/pru-software-support-package/include/rsc_type
-    2411        .dwattr $C$DW$T$93, DW_AT_decl_line(0x58)
-    2412        .dwattr $C$DW$T$93, DW_AT_decl_column(0x08)
-    2413        .dwattr $C$DW$CU, DW_AT_language(DW_LANG_C)
-    2414
-    2415;***************************************************************
-    2416;* DWARF CIE ENTRIES                                           *
-    2417;***************************************************************
-    2418
-    2419$C$DW$CIE       .dwcie 14
-    2420        .dwcfi  cfa_register, 8
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   45
-
-    2421        .dwcfi  cfa_offset, 0
-    2422        .dwcfi  undefined, 0
-    2423        .dwcfi  undefined, 1
-    2424        .dwcfi  undefined, 2
-    2425        .dwcfi  undefined, 3
-    2426        .dwcfi  undefined, 4
-    2427        .dwcfi  undefined, 5
-    2428        .dwcfi  undefined, 6
-    2429        .dwcfi  undefined, 7
-    2430        .dwcfi  same_value, 8
-    2431        .dwcfi  same_value, 9
-    2432        .dwcfi  same_value, 10
-    2433        .dwcfi  same_value, 11
-    2434        .dwcfi  undefined, 12
-    2435        .dwcfi  undefined, 13
-    2436        .dwcfi  undefined, 14
-    2437        .dwcfi  undefined, 15
-    2438        .dwcfi  same_value, 16
-    2439        .dwcfi  same_value, 17
-    2440        .dwcfi  same_value, 18
-    2441        .dwcfi  same_value, 19
-    2442        .dwcfi  same_value, 20
-    2443        .dwcfi  same_value, 21
-    2444        .dwcfi  same_value, 22
-    2445        .dwcfi  same_value, 23
-    2446        .dwcfi  same_value, 24
-    2447        .dwcfi  same_value, 25
-    2448        .dwcfi  same_value, 26
-    2449        .dwcfi  same_value, 27
-    2450        .dwcfi  same_value, 28
-    2451        .dwcfi  same_value, 29
-    2452        .dwcfi  same_value, 30
-    2453        .dwcfi  same_value, 31
-    2454        .dwcfi  same_value, 32
-    2455        .dwcfi  same_value, 33
-    2456        .dwcfi  same_value, 34
-    2457        .dwcfi  same_value, 35
-    2458        .dwcfi  same_value, 36
-    2459        .dwcfi  same_value, 37
-    2460        .dwcfi  same_value, 38
-    2461        .dwcfi  same_value, 39
-    2462        .dwcfi  same_value, 40
-    2463        .dwcfi  same_value, 41
-    2464        .dwcfi  same_value, 42
-    2465        .dwcfi  same_value, 43
-    2466        .dwcfi  same_value, 44
-    2467        .dwcfi  same_value, 45
-    2468        .dwcfi  same_value, 46
-    2469        .dwcfi  same_value, 47
-    2470        .dwcfi  same_value, 48
-    2471        .dwcfi  same_value, 49
-    2472        .dwcfi  same_value, 50
-    2473        .dwcfi  same_value, 51
-    2474        .dwcfi  same_value, 52
-    2475        .dwcfi  same_value, 53
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   46
-
-    2476        .dwcfi  same_value, 54
-    2477        .dwcfi  same_value, 55
-    2478        .dwcfi  undefined, 56
-    2479        .dwcfi  undefined, 57
-    2480        .dwcfi  undefined, 58
-    2481        .dwcfi  undefined, 59
-    2482        .dwcfi  undefined, 60
-    2483        .dwcfi  undefined, 61
-    2484        .dwcfi  undefined, 62
-    2485        .dwcfi  undefined, 63
-    2486        .dwcfi  undefined, 64
-    2487        .dwcfi  undefined, 65
-    2488        .dwcfi  undefined, 66
-    2489        .dwcfi  undefined, 67
-    2490        .dwcfi  undefined, 68
-    2491        .dwcfi  undefined, 69
-    2492        .dwcfi  undefined, 70
-    2493        .dwcfi  undefined, 71
-    2494        .dwcfi  undefined, 72
-    2495        .dwcfi  undefined, 73
-    2496        .dwcfi  undefined, 74
-    2497        .dwcfi  undefined, 75
-    2498        .dwcfi  undefined, 76
-    2499        .dwcfi  undefined, 77
-    2500        .dwcfi  undefined, 78
-    2501        .dwcfi  undefined, 79
-    2502        .dwcfi  undefined, 80
-    2503        .dwcfi  undefined, 81
-    2504        .dwcfi  undefined, 82
-    2505        .dwcfi  undefined, 83
-    2506        .dwcfi  undefined, 84
-    2507        .dwcfi  undefined, 85
-    2508        .dwcfi  undefined, 86
-    2509        .dwcfi  undefined, 87
-    2510        .dwcfi  undefined, 88
-    2511        .dwcfi  undefined, 89
-    2512        .dwcfi  undefined, 90
-    2513        .dwcfi  undefined, 91
-    2514        .dwcfi  undefined, 92
-    2515        .dwcfi  undefined, 93
-    2516        .dwcfi  undefined, 94
-    2517        .dwcfi  undefined, 95
-    2518        .dwcfi  undefined, 96
-    2519        .dwcfi  undefined, 97
-    2520        .dwcfi  undefined, 98
-    2521        .dwcfi  undefined, 99
-    2522        .dwcfi  undefined, 100
-    2523        .dwcfi  undefined, 101
-    2524        .dwcfi  undefined, 102
-    2525        .dwcfi  undefined, 103
-    2526        .dwcfi  undefined, 104
-    2527        .dwcfi  undefined, 105
-    2528        .dwcfi  undefined, 106
-    2529        .dwcfi  undefined, 107
-    2530        .dwcfi  undefined, 108
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   47
-
-    2531        .dwcfi  undefined, 109
-    2532        .dwcfi  undefined, 110
-    2533        .dwcfi  undefined, 111
-    2534        .dwcfi  undefined, 112
-    2535        .dwcfi  undefined, 113
-    2536        .dwcfi  undefined, 114
-    2537        .dwcfi  undefined, 115
-    2538        .dwcfi  undefined, 116
-    2539        .dwcfi  undefined, 117
-    2540        .dwcfi  undefined, 118
-    2541        .dwcfi  undefined, 119
-    2542        .dwcfi  undefined, 120
-    2543        .dwcfi  undefined, 121
-    2544        .dwcfi  undefined, 122
-    2545        .dwcfi  undefined, 123
-    2546        .dwcfi  undefined, 124
-    2547        .dwcfi  undefined, 125
-    2548        .dwcfi  undefined, 126
-    2549        .dwcfi  undefined, 127
-    2550        .dwcfi  undefined, 128
-    2551        .dwcfi  undefined, 129
-    2552        .dwcfi  undefined, 130
-    2553        .dwcfi  undefined, 131
-    2554        .dwcfi  undefined, 132
-    2555        .dwcfi  undefined, 133
-    2556        .dwcfi  undefined, 134
-    2557        .dwendentry
-    2558
-    2559;***************************************************************
-    2560;* DWARF REGISTER MAP                                          *
-    2561;***************************************************************
-    2562
-    2563$C$DW$189       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R0_b0")
-    2564        .dwattr $C$DW$189, DW_AT_location[DW_OP_reg0]
-    2565$C$DW$190       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R0_b1")
-    2566        .dwattr $C$DW$190, DW_AT_location[DW_OP_reg1]
-    2567$C$DW$191       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R0_b2")
-    2568        .dwattr $C$DW$191, DW_AT_location[DW_OP_reg2]
-    2569$C$DW$192       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R0_b3")
-    2570        .dwattr $C$DW$192, DW_AT_location[DW_OP_reg3]
-    2571$C$DW$193       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R1_b0")
-    2572        .dwattr $C$DW$193, DW_AT_location[DW_OP_reg4]
-    2573$C$DW$194       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R1_b1")
-    2574        .dwattr $C$DW$194, DW_AT_location[DW_OP_reg5]
-    2575$C$DW$195       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R1_b2")
-    2576        .dwattr $C$DW$195, DW_AT_location[DW_OP_reg6]
-    2577$C$DW$196       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R1_b3")
-    2578        .dwattr $C$DW$196, DW_AT_location[DW_OP_reg7]
-    2579$C$DW$197       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R2_b0")
-    2580        .dwattr $C$DW$197, DW_AT_location[DW_OP_reg8]
-    2581$C$DW$198       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R2_b1")
-    2582        .dwattr $C$DW$198, DW_AT_location[DW_OP_reg9]
-    2583$C$DW$199       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R2_b2")
-    2584        .dwattr $C$DW$199, DW_AT_location[DW_OP_reg10]
-    2585$C$DW$200       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R2_b3")
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   48
-
-    2586        .dwattr $C$DW$200, DW_AT_location[DW_OP_reg11]
-    2587$C$DW$201       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R3_b0")
-    2588        .dwattr $C$DW$201, DW_AT_location[DW_OP_reg12]
-    2589$C$DW$202       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R3_b1")
-    2590        .dwattr $C$DW$202, DW_AT_location[DW_OP_reg13]
-    2591$C$DW$203       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R3_b2")
-    2592        .dwattr $C$DW$203, DW_AT_location[DW_OP_reg14]
-    2593$C$DW$204       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R3_b3")
-    2594        .dwattr $C$DW$204, DW_AT_location[DW_OP_reg15]
-    2595$C$DW$205       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R4_b0")
-    2596        .dwattr $C$DW$205, DW_AT_location[DW_OP_reg16]
-    2597$C$DW$206       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R4_b1")
-    2598        .dwattr $C$DW$206, DW_AT_location[DW_OP_reg17]
-    2599$C$DW$207       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R4_b2")
-    2600        .dwattr $C$DW$207, DW_AT_location[DW_OP_reg18]
-    2601$C$DW$208       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R4_b3")
-    2602        .dwattr $C$DW$208, DW_AT_location[DW_OP_reg19]
-    2603$C$DW$209       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R5_b0")
-    2604        .dwattr $C$DW$209, DW_AT_location[DW_OP_reg20]
-    2605$C$DW$210       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R5_b1")
-    2606        .dwattr $C$DW$210, DW_AT_location[DW_OP_reg21]
-    2607$C$DW$211       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R5_b2")
-    2608        .dwattr $C$DW$211, DW_AT_location[DW_OP_reg22]
-    2609$C$DW$212       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R5_b3")
-    2610        .dwattr $C$DW$212, DW_AT_location[DW_OP_reg23]
-    2611$C$DW$213       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R6_b0")
-    2612        .dwattr $C$DW$213, DW_AT_location[DW_OP_reg24]
-    2613$C$DW$214       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R6_b1")
-    2614        .dwattr $C$DW$214, DW_AT_location[DW_OP_reg25]
-    2615$C$DW$215       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R6_b2")
-    2616        .dwattr $C$DW$215, DW_AT_location[DW_OP_reg26]
-    2617$C$DW$216       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R6_b3")
-    2618        .dwattr $C$DW$216, DW_AT_location[DW_OP_reg27]
-    2619$C$DW$217       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R7_b0")
-    2620        .dwattr $C$DW$217, DW_AT_location[DW_OP_reg28]
-    2621$C$DW$218       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R7_b1")
-    2622        .dwattr $C$DW$218, DW_AT_location[DW_OP_reg29]
-    2623$C$DW$219       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R7_b2")
-    2624        .dwattr $C$DW$219, DW_AT_location[DW_OP_reg30]
-    2625$C$DW$220       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R7_b3")
-    2626        .dwattr $C$DW$220, DW_AT_location[DW_OP_reg31]
-    2627$C$DW$221       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R8_b0")
-    2628        .dwattr $C$DW$221, DW_AT_location[DW_OP_regx 0x20]
-    2629$C$DW$222       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R8_b1")
-    2630        .dwattr $C$DW$222, DW_AT_location[DW_OP_regx 0x21]
-    2631$C$DW$223       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R8_b2")
-    2632        .dwattr $C$DW$223, DW_AT_location[DW_OP_regx 0x22]
-    2633$C$DW$224       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R8_b3")
-    2634        .dwattr $C$DW$224, DW_AT_location[DW_OP_regx 0x23]
-    2635$C$DW$225       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R9_b0")
-    2636        .dwattr $C$DW$225, DW_AT_location[DW_OP_regx 0x24]
-    2637$C$DW$226       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R9_b1")
-    2638        .dwattr $C$DW$226, DW_AT_location[DW_OP_regx 0x25]
-    2639$C$DW$227       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R9_b2")
-    2640        .dwattr $C$DW$227, DW_AT_location[DW_OP_regx 0x26]
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   49
-
-    2641$C$DW$228       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R9_b3")
-    2642        .dwattr $C$DW$228, DW_AT_location[DW_OP_regx 0x27]
-    2643$C$DW$229       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R10_b0")
-    2644        .dwattr $C$DW$229, DW_AT_location[DW_OP_regx 0x28]
-    2645$C$DW$230       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R10_b1")
-    2646        .dwattr $C$DW$230, DW_AT_location[DW_OP_regx 0x29]
-    2647$C$DW$231       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R10_b2")
-    2648        .dwattr $C$DW$231, DW_AT_location[DW_OP_regx 0x2a]
-    2649$C$DW$232       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R10_b3")
-    2650        .dwattr $C$DW$232, DW_AT_location[DW_OP_regx 0x2b]
-    2651$C$DW$233       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R11_b0")
-    2652        .dwattr $C$DW$233, DW_AT_location[DW_OP_regx 0x2c]
-    2653$C$DW$234       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R11_b1")
-    2654        .dwattr $C$DW$234, DW_AT_location[DW_OP_regx 0x2d]
-    2655$C$DW$235       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R11_b2")
-    2656        .dwattr $C$DW$235, DW_AT_location[DW_OP_regx 0x2e]
-    2657$C$DW$236       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R11_b3")
-    2658        .dwattr $C$DW$236, DW_AT_location[DW_OP_regx 0x2f]
-    2659$C$DW$237       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R12_b0")
-    2660        .dwattr $C$DW$237, DW_AT_location[DW_OP_regx 0x30]
-    2661$C$DW$238       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R12_b1")
-    2662        .dwattr $C$DW$238, DW_AT_location[DW_OP_regx 0x31]
-    2663$C$DW$239       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R12_b2")
-    2664        .dwattr $C$DW$239, DW_AT_location[DW_OP_regx 0x32]
-    2665$C$DW$240       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R12_b3")
-    2666        .dwattr $C$DW$240, DW_AT_location[DW_OP_regx 0x33]
-    2667$C$DW$241       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R13_b0")
-    2668        .dwattr $C$DW$241, DW_AT_location[DW_OP_regx 0x34]
-    2669$C$DW$242       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R13_b1")
-    2670        .dwattr $C$DW$242, DW_AT_location[DW_OP_regx 0x35]
-    2671$C$DW$243       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R13_b2")
-    2672        .dwattr $C$DW$243, DW_AT_location[DW_OP_regx 0x36]
-    2673$C$DW$244       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R13_b3")
-    2674        .dwattr $C$DW$244, DW_AT_location[DW_OP_regx 0x37]
-    2675$C$DW$245       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R14_b0")
-    2676        .dwattr $C$DW$245, DW_AT_location[DW_OP_regx 0x38]
-    2677$C$DW$246       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R14_b1")
-    2678        .dwattr $C$DW$246, DW_AT_location[DW_OP_regx 0x39]
-    2679$C$DW$247       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R14_b2")
-    2680        .dwattr $C$DW$247, DW_AT_location[DW_OP_regx 0x3a]
-    2681$C$DW$248       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R14_b3")
-    2682        .dwattr $C$DW$248, DW_AT_location[DW_OP_regx 0x3b]
-    2683$C$DW$249       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R15_b0")
-    2684        .dwattr $C$DW$249, DW_AT_location[DW_OP_regx 0x3c]
-    2685$C$DW$250       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R15_b1")
-    2686        .dwattr $C$DW$250, DW_AT_location[DW_OP_regx 0x3d]
-    2687$C$DW$251       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R15_b2")
-    2688        .dwattr $C$DW$251, DW_AT_location[DW_OP_regx 0x3e]
-    2689$C$DW$252       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R15_b3")
-    2690        .dwattr $C$DW$252, DW_AT_location[DW_OP_regx 0x3f]
-    2691$C$DW$253       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R16_b0")
-    2692        .dwattr $C$DW$253, DW_AT_location[DW_OP_regx 0x40]
-    2693$C$DW$254       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R16_b1")
-    2694        .dwattr $C$DW$254, DW_AT_location[DW_OP_regx 0x41]
-    2695$C$DW$255       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R16_b2")
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   50
-
-    2696        .dwattr $C$DW$255, DW_AT_location[DW_OP_regx 0x42]
-    2697$C$DW$256       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R16_b3")
-    2698        .dwattr $C$DW$256, DW_AT_location[DW_OP_regx 0x43]
-    2699$C$DW$257       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R17_b0")
-    2700        .dwattr $C$DW$257, DW_AT_location[DW_OP_regx 0x44]
-    2701$C$DW$258       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R17_b1")
-    2702        .dwattr $C$DW$258, DW_AT_location[DW_OP_regx 0x45]
-    2703$C$DW$259       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R17_b2")
-    2704        .dwattr $C$DW$259, DW_AT_location[DW_OP_regx 0x46]
-    2705$C$DW$260       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R17_b3")
-    2706        .dwattr $C$DW$260, DW_AT_location[DW_OP_regx 0x47]
-    2707$C$DW$261       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R18_b0")
-    2708        .dwattr $C$DW$261, DW_AT_location[DW_OP_regx 0x48]
-    2709$C$DW$262       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R18_b1")
-    2710        .dwattr $C$DW$262, DW_AT_location[DW_OP_regx 0x49]
-    2711$C$DW$263       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R18_b2")
-    2712        .dwattr $C$DW$263, DW_AT_location[DW_OP_regx 0x4a]
-    2713$C$DW$264       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R18_b3")
-    2714        .dwattr $C$DW$264, DW_AT_location[DW_OP_regx 0x4b]
-    2715$C$DW$265       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R19_b0")
-    2716        .dwattr $C$DW$265, DW_AT_location[DW_OP_regx 0x4c]
-    2717$C$DW$266       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R19_b1")
-    2718        .dwattr $C$DW$266, DW_AT_location[DW_OP_regx 0x4d]
-    2719$C$DW$267       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R19_b2")
-    2720        .dwattr $C$DW$267, DW_AT_location[DW_OP_regx 0x4e]
-    2721$C$DW$268       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R19_b3")
-    2722        .dwattr $C$DW$268, DW_AT_location[DW_OP_regx 0x4f]
-    2723$C$DW$269       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R20_b0")
-    2724        .dwattr $C$DW$269, DW_AT_location[DW_OP_regx 0x50]
-    2725$C$DW$270       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R20_b1")
-    2726        .dwattr $C$DW$270, DW_AT_location[DW_OP_regx 0x51]
-    2727$C$DW$271       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R20_b2")
-    2728        .dwattr $C$DW$271, DW_AT_location[DW_OP_regx 0x52]
-    2729$C$DW$272       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R20_b3")
-    2730        .dwattr $C$DW$272, DW_AT_location[DW_OP_regx 0x53]
-    2731$C$DW$273       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R21_b0")
-    2732        .dwattr $C$DW$273, DW_AT_location[DW_OP_regx 0x54]
-    2733$C$DW$274       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R21_b1")
-    2734        .dwattr $C$DW$274, DW_AT_location[DW_OP_regx 0x55]
-    2735$C$DW$275       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R21_b2")
-    2736        .dwattr $C$DW$275, DW_AT_location[DW_OP_regx 0x56]
-    2737$C$DW$276       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R21_b3")
-    2738        .dwattr $C$DW$276, DW_AT_location[DW_OP_regx 0x57]
-    2739$C$DW$277       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R22_b0")
-    2740        .dwattr $C$DW$277, DW_AT_location[DW_OP_regx 0x58]
-    2741$C$DW$278       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R22_b1")
-    2742        .dwattr $C$DW$278, DW_AT_location[DW_OP_regx 0x59]
-    2743$C$DW$279       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R22_b2")
-    2744        .dwattr $C$DW$279, DW_AT_location[DW_OP_regx 0x5a]
-    2745$C$DW$280       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R22_b3")
-    2746        .dwattr $C$DW$280, DW_AT_location[DW_OP_regx 0x5b]
-    2747$C$DW$281       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R23_b0")
-    2748        .dwattr $C$DW$281, DW_AT_location[DW_OP_regx 0x5c]
-    2749$C$DW$282       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R23_b1")
-    2750        .dwattr $C$DW$282, DW_AT_location[DW_OP_regx 0x5d]
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   51
-
-    2751$C$DW$283       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R23_b2")
-    2752        .dwattr $C$DW$283, DW_AT_location[DW_OP_regx 0x5e]
-    2753$C$DW$284       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R23_b3")
-    2754        .dwattr $C$DW$284, DW_AT_location[DW_OP_regx 0x5f]
-    2755$C$DW$285       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R24_b0")
-    2756        .dwattr $C$DW$285, DW_AT_location[DW_OP_regx 0x60]
-    2757$C$DW$286       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R24_b1")
-    2758        .dwattr $C$DW$286, DW_AT_location[DW_OP_regx 0x61]
-    2759$C$DW$287       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R24_b2")
-    2760        .dwattr $C$DW$287, DW_AT_location[DW_OP_regx 0x62]
-    2761$C$DW$288       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R24_b3")
-    2762        .dwattr $C$DW$288, DW_AT_location[DW_OP_regx 0x63]
-    2763$C$DW$289       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R25_b0")
-    2764        .dwattr $C$DW$289, DW_AT_location[DW_OP_regx 0x64]
-    2765$C$DW$290       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R25_b1")
-    2766        .dwattr $C$DW$290, DW_AT_location[DW_OP_regx 0x65]
-    2767$C$DW$291       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R25_b2")
-    2768        .dwattr $C$DW$291, DW_AT_location[DW_OP_regx 0x66]
-    2769$C$DW$292       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R25_b3")
-    2770        .dwattr $C$DW$292, DW_AT_location[DW_OP_regx 0x67]
-    2771$C$DW$293       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R26_b0")
-    2772        .dwattr $C$DW$293, DW_AT_location[DW_OP_regx 0x68]
-    2773$C$DW$294       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R26_b1")
-    2774        .dwattr $C$DW$294, DW_AT_location[DW_OP_regx 0x69]
-    2775$C$DW$295       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R26_b2")
-    2776        .dwattr $C$DW$295, DW_AT_location[DW_OP_regx 0x6a]
-    2777$C$DW$296       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R26_b3")
-    2778        .dwattr $C$DW$296, DW_AT_location[DW_OP_regx 0x6b]
-    2779$C$DW$297       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R27_b0")
-    2780        .dwattr $C$DW$297, DW_AT_location[DW_OP_regx 0x6c]
-    2781$C$DW$298       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R27_b1")
-    2782        .dwattr $C$DW$298, DW_AT_location[DW_OP_regx 0x6d]
-    2783$C$DW$299       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R27_b2")
-    2784        .dwattr $C$DW$299, DW_AT_location[DW_OP_regx 0x6e]
-    2785$C$DW$300       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R27_b3")
-    2786        .dwattr $C$DW$300, DW_AT_location[DW_OP_regx 0x6f]
-    2787$C$DW$301       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R28_b0")
-    2788        .dwattr $C$DW$301, DW_AT_location[DW_OP_regx 0x70]
-    2789$C$DW$302       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R28_b1")
-    2790        .dwattr $C$DW$302, DW_AT_location[DW_OP_regx 0x71]
-    2791$C$DW$303       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R28_b2")
-    2792        .dwattr $C$DW$303, DW_AT_location[DW_OP_regx 0x72]
-    2793$C$DW$304       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R28_b3")
-    2794        .dwattr $C$DW$304, DW_AT_location[DW_OP_regx 0x73]
-    2795$C$DW$305       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R29_b0")
-    2796        .dwattr $C$DW$305, DW_AT_location[DW_OP_regx 0x74]
-    2797$C$DW$306       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R29_b1")
-    2798        .dwattr $C$DW$306, DW_AT_location[DW_OP_regx 0x75]
-    2799$C$DW$307       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R29_b2")
-    2800        .dwattr $C$DW$307, DW_AT_location[DW_OP_regx 0x76]
-    2801$C$DW$308       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R29_b3")
-    2802        .dwattr $C$DW$308, DW_AT_location[DW_OP_regx 0x77]
-    2803$C$DW$309       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R30_b0")
-    2804        .dwattr $C$DW$309, DW_AT_location[DW_OP_regx 0x78]
-    2805$C$DW$310       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R30_b1")
-PRU Assembler Unix v2.1.5 Fri Jun  5 14:14:07 2020
-
-Tools Copyright (c) 2012-2017 Texas Instruments Incorporated
-/tmp/cloud9-examples/cycle.pru0.asm                                  PAGE   52
-
-    2806        .dwattr $C$DW$310, DW_AT_location[DW_OP_regx 0x79]
-    2807$C$DW$311       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R30_b2")
-    2808        .dwattr $C$DW$311, DW_AT_location[DW_OP_regx 0x7a]
-    2809$C$DW$312       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R30_b3")
-    2810        .dwattr $C$DW$312, DW_AT_location[DW_OP_regx 0x7b]
-    2811$C$DW$313       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R31_b0")
-    2812        .dwattr $C$DW$313, DW_AT_location[DW_OP_regx 0x7c]
-    2813$C$DW$314       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R31_b1")
-    2814        .dwattr $C$DW$314, DW_AT_location[DW_OP_regx 0x7d]
-    2815$C$DW$315       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R31_b2")
-    2816        .dwattr $C$DW$315, DW_AT_location[DW_OP_regx 0x7e]
-    2817$C$DW$316       .dwtag  DW_TAG_TI_assign_register, DW_AT_name("R31_b3")
-    2818        .dwattr $C$DW$316, DW_AT_location[DW_OP_regx 0x7f]
-    2819        .dwendtag $C$DW$CU
-    2820
-
-No Assembly Errors, No Assembly Warnings
diff --git a/books/pru-cookbook/07more/code/delay-test.pru0.c b/books/pru-cookbook/07more/code/delay-test.pru0.c
deleted file mode 100644
index 337ecbb2..00000000
--- a/books/pru-cookbook/07more/code/delay-test.pru0.c
+++ /dev/null
@@ -1,28 +0,0 @@
-// Shows how to call an assembly routine with one parameter
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-// The function is defined in delay.asm in same dir
-// We just need to add a declaration here, the defination can be
-// seperately linked
-extern void my_delay_cycles(uint32_t);
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t gpio = P9_31;	// Select which pin to toggle.;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	while(1) {
-		__R30 |= gpio;		// Set the GPIO pin to 1
-		my_delay_cycles(1);
-		__R30 &= ~gpio;		// Clear the GPIO pin
-		my_delay_cycles(1);
-	}
-}
diff --git a/books/pru-cookbook/07more/code/delay-test2.pru0.c b/books/pru-cookbook/07more/code/delay-test2.pru0.c
deleted file mode 100644
index 763b3a7d..00000000
--- a/books/pru-cookbook/07more/code/delay-test2.pru0.c
+++ /dev/null
@@ -1,32 +0,0 @@
-// Shows how to call an assembly routine with a return value
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-#define	TEST	100
-
-// The function is defined in delay.asm in same dir
-// We just need to add a declaration here, the defination can be
-// seperately linked
-extern uint32_t my_delay_cycles(uint32_t);
-
-uint32_t ret;
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t gpio = P9_31;	// Select which pin to toggle.;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	while(1) {
-		__R30 |= gpio;		// Set the GPIO pin to 1
-		ret = my_delay_cycles(1);
-		__R30 &= ~gpio;		// Clear the GPIO pin
-		ret = my_delay_cycles(1);
-	}
-}
diff --git a/books/pru-cookbook/07more/code/delay.pru0.asm b/books/pru-cookbook/07more/code/delay.pru0.asm
deleted file mode 100644
index 1c1cce7d..00000000
--- a/books/pru-cookbook/07more/code/delay.pru0.asm
+++ /dev/null
@@ -1,9 +0,0 @@
-; This is an example of how to call an assembly routine from C.
-;	Mark A. Yoder, 9-July-2018
-	.global my_delay_cycles
-my_delay_cycles:
-delay:
-	sub		r14,   r14, 1		; The first argument is passed in r14
-	qbne	delay, r14, 0
-
-	jmp		r3.w2			; r3 contains the return address
\ No newline at end of file
diff --git a/books/pru-cookbook/07more/code/delay2.pru0.asm b/books/pru-cookbook/07more/code/delay2.pru0.asm
deleted file mode 100644
index e1f1da03..00000000
--- a/books/pru-cookbook/07more/code/delay2.pru0.asm
+++ /dev/null
@@ -1,15 +0,0 @@
-; This is an example of how to call an assembly routine from C with a retun value.
-;	Mark A. Yoder, 9-July-2018
-
-	.cdecls "delay-test2.pru0.c"
-
-	.global my_delay_cycles
-my_delay_cycles:
-delay:
-	sub		r14,   r14, 1		; The first argument is passed in r14
-	qbne	delay, r14, 0
-	
-	ldi		r14, TEST		; TEST is defined in delay-test2.c
-							; r14 is the return register
-
-	jmp		r3.w2			; r3 contains the return address
\ No newline at end of file
diff --git a/books/pru-cookbook/07more/code/logic.c b/books/pru-cookbook/07more/code/logic.c
deleted file mode 100644
index f774708d..00000000
--- a/books/pru-cookbook/07more/code/logic.c
+++ /dev/null
@@ -1,34 +0,0 @@
-// Access the CYCLE and STALL registers
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	// Copy lower 8 bits to r16
-	struct {
-	    uint8_t b0;
-	    uint8_t b1;
-	    uint8_t b2;
-	    uint8_t b3;
-	} r17;
-
-	// Clear SYSCFG[STANDBY_INIT] to enable OCP master port
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-	
-// 	r16.b0 = __R31.b0;
-	__asm(" mov r17.b0, r31.b0");
-	__delay_cycles(1);
-	r17.b1 = (uint32_t) __R31;
-	__delay_cycles(1);
-	r17.b2 = (uint32_t) __R31;
-	__delay_cycles(1);
-	r17.b3 = (uint32_t) __R31;
-
-    __xout(10, 16, 0, r17);
-
-	__halt();
-}
diff --git a/books/pru-cookbook/07more/code/logic_setup.sh b/books/pru-cookbook/07more/code/logic_setup.sh
deleted file mode 100644
index 2253459c..00000000
--- a/books/pru-cookbook/07more/code/logic_setup.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-#
-export PRUN=0
-export TARGET=logic
-echo PRUN=$PRUN
-echo TARGET=$TARGET
-
-# Configure the PRU pins based on which Beagle is running
-machine=$(awk '{print $NF}' /proc/device-tree/model)
-echo -n $machine
-if [ $machine = "Black" ]; then
-    echo " Found"
-    pins="P9_31 P9_29 P9_30 P9_28 P9_92 P9_27 P9_91 P9_25 "
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    pins="P1_36 P1_33 P2_32 P2_30 P1_31 P2_34 P2_28 P1_29"
-else
-    echo " Not Found"
-    pins=""
-fi
-
-for pin in $pins
-do
-    echo $pin
-    config-pin $pin pruin
-    config-pin -q $pin
-done
diff --git a/books/pru-cookbook/07more/code/resource_table_pru0.h b/books/pru-cookbook/07more/code/resource_table_pru0.h
deleted file mode 100644
index 06c14800..00000000
--- a/books/pru-cookbook/07more/code/resource_table_pru0.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *	* Redistributions of source code must retain the above copyright
- *	  notice, this list of conditions and the following disclaimer.
- *
- *	* Redistributions in binary form must reproduce the above copyright
- *	  notice, this list of conditions and the following disclaimer in the
- *	  documentation and/or other materials provided with the
- *	  distribution.
- *
- *	* Neither the name of Texas Instruments Incorporated nor the names of
- *	  its contributors may be used to endorse or promote products derived
- *	  from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- *  ======== rsc_table_pru.h ========
- *
- *  Define the resource table entries for PRU0. This will be
- *  incorporated into corresponding base images, and used by the remoteproc
- *  on the host-side to allocated/reserve resources.  Note the remoteproc
- *  driver requires that all PRU firmware be built with a resource table.
- *
- *
- */
-
-#ifndef _RSC_TABLE_PRU_H_
-#define _RSC_TABLE_PRU_H_
-
-#include <stddef.h>
-#include <rsc_types.h>
-#include "pru_virtio_ids.h"
-
-/*
- * Sizes of the virtqueues (expressed in number of buffers supported,
- * and must be power of 2)
- */
-#define PRU_RPMSG_VQ0_SIZE	2
-#define PRU_RPMSG_VQ1_SIZE	2
-
-/* flip up bits whose indices represent features we support */
-#define RPMSG_PRU_C0_FEATURES	1
-
-/* Definition for unused interrupts */
-#define HOST_UNUSED		255
-
-/* Mapping sysevts to a channel. Each pair contains a sysevt, channel */
-struct ch_map pru_intc_map[] = { {17, 1}, {18, 0}, {19, 2}, {20, 3}, {21, 0},
-	{22, 1}, {24, 4}, {25, 5}, {26, 6}, {27, 7},
-};
-
-struct my_resource_table {
-	struct resource_table base;
-
-	uint32_t offset[1]; /* Should match 'num' in actual definition */
-
-	/* intc definition */
-	struct fw_rsc_custom pru_ints;
-};
-
-#pragma DATA_SECTION(am335x_pru_remoteproc_ResourceTable, ".resource_table")
-#pragma RETAIN(am335x_pru_remoteproc_ResourceTable)
-struct my_resource_table am335x_pru_remoteproc_ResourceTable = {
-	1,	/* we're the first version that implements this */
-	1,	/* number of entries in the table */
-	0, 0,	/* reserved, must be zero */
-	/* offsets to entries */
-	{
-		offsetof(struct my_resource_table, pru_ints),
-	},
-
-	{
-		TYPE_CUSTOM, TYPE_PRU_INTS,
-		sizeof(struct fw_rsc_custom_ints),
-		{ /* PRU_INTS version */
-			0x0000,
-			/* Channel-to-host mapping, 255 for unused */
-			0, 1, 2, 3, 0, 6, 1, 7, HOST_UNUSED, HOST_UNUSED,
-			/* Number of evts being mapped to channels */
-			(sizeof(pru_intc_map) / sizeof(struct ch_map)),
-			/* Pointer to the structure containing mapped events */
-			pru_intc_map,
-		},
-	},
-};
-
-#endif /* _RSC_TABLE_PRU_H_ */
diff --git a/books/pru-cookbook/07more/code/setup.sh b/books/pru-cookbook/07more/code/setup.sh
deleted file mode 100644
index f1d0d9db..00000000
--- a/books/pru-cookbook/07more/code/setup.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-#
-export TARGET=delay-test.pru0
-export TARGETasm=delay.pru0
-echo TARGET=$TARGET
-echo TARGETasm=$TARGETasm
-
-# Configure the PRU pins based on which Beagle is running
-machine=$(awk '{print $NF}' /proc/device-tree/model)
-echo -n $machine
-if [ $machine = "Black" ]; then
-    echo " Found"
-    pins="P9_31"
-elif [ $machine = "Blue" ]; then
-    echo " Found"
-    pins=""
-elif [ $machine = "PocketBeagle" ]; then
-    echo " Found"
-    pins="P1_33"
-else
-    echo " Not Found"
-    pins=""
-fi
-
-for pin in $pins
-do
-    echo $pin
-    config-pin $pin pruout
-    config-pin -q $pin
-done
diff --git a/books/pru-cookbook/07more/code/xin.pru1.c b/books/pru-cookbook/07more/code/xin.pru1.c
deleted file mode 100644
index 56d4a682..00000000
--- a/books/pru-cookbook/07more/code/xin.pru1.c
+++ /dev/null
@@ -1,34 +0,0 @@
-// From: http://git.ti.com/pru-software-support-package/pru-software-support-package/trees/master/examples/am335x/PRU_Direct_Connect1
-#include <stdint.h>
-#include "resource_table_empty.h"
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-typedef struct {
-	uint32_t reg5;
-	uint32_t reg6;
-	uint32_t reg7;
-	uint32_t reg8;
-	uint32_t reg9;
-	uint32_t reg10;
-} bufferData;
-
-bufferData dmemBuf;
-
-/* PRU-to-ARM interrupt */
-#define PRU1_PRU0_INTERRUPT (18)
-#define PRU1_ARM_INTERRUPT (20+16)
-
-void main(void)
-{
-	/* Let PRU0 know that I am awake */
-	__R31 = PRU1_PRU0_INTERRUPT+16;
-
-	/* XFR registers R5-R10 from PRU0 to PRU1 */
-	/* 14 is the device_id that signifies a PRU to PRU transfer */
-	__xin(14, 5, 0, dmemBuf);
-
-	/* Halt the PRU core */
-	__halt();
-}
diff --git a/books/pru-cookbook/07more/code/xout-cycle.pru0.c b/books/pru-cookbook/07more/code/xout-cycle.pru0.c
deleted file mode 100644
index 339fedfc..00000000
--- a/books/pru-cookbook/07more/code/xout-cycle.pru0.c
+++ /dev/null
@@ -1,62 +0,0 @@
-// Version of xout.c with code to use CYCLE to count cycle times.
-#include <stdint.h>
-#include <pru_intc.h>
-#include <pru_ctrl.h>
-#include "resource_table_pru0.h"
-
-#define PRU0
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-typedef struct {
-	uint32_t reg5;
-	uint32_t reg6;
-	uint32_t reg7;
-	uint32_t reg8;
-	uint32_t reg9;
-	uint32_t reg10;
-} bufferData;
-
-bufferData dmemBuf;
-
-/* PRU-to-ARM interrupt */
-#define PRU1_PRU0_INTERRUPT (18)
-#define PRU0_ARM_INTERRUPT (19+16)
-
-void main(void)
-{
-	uint32_t cycleXX;		// Use a name that's easy to search
-	/* Clear the status of all interrupts */
-	CT_INTC.SECR0 = 0xFFFFFFFF;
-	CT_INTC.SECR1 = 0xFFFFFFFF;
-	
-	/* Load the buffer with default values to transfer */
-	dmemBuf.reg5 = 0xDEADBEEF;
-	dmemBuf.reg6 = 0xAAAAAAAA;
-	dmemBuf.reg7 = 0x12345678;
-	dmemBuf.reg8 = 0xBBBBBBBB;
-	dmemBuf.reg9 = 0x87654321;
-	dmemBuf.reg10 = 0xCCCCCCCC;
-
-	/* Poll until R31.30 (PRU0 interrupt) is set
-	 * This signals PRU1 is initialized */
-	while ((__R31 & (1<<30)) == 0) {
-	}
-
-	/* XFR registers R5-R10 from PRU0 to PRU1 */
-	/* 14 is the device_id that signifies a PRU to PRU transfer */
-	PRU0_CTRL.CTRL_bit.CTR_EN = 1;	// Enable cycle counter
-
-	__xout(14, 5, 0, dmemBuf);
-	
-	cycleXX = PRU0_CTRL.CYCLE;	// Read cycle and store in a register
-
-	/* Clear the status of the interrupt */
-	CT_INTC.SICR = PRU1_PRU0_INTERRUPT;
-
-	dmemBuf.reg5 = cycleXX;
-
-	/* Halt the PRU core */
-	__halt();
-}
diff --git a/books/pru-cookbook/07more/code/xout.pru0.c b/books/pru-cookbook/07more/code/xout.pru0.c
deleted file mode 100644
index bfcdbf5f..00000000
--- a/books/pru-cookbook/07more/code/xout.pru0.c
+++ /dev/null
@@ -1,52 +0,0 @@
-// From: http://git.ti.com/pru-software-support-package/pru-software-support-package/trees/master/examples/am335x/PRU_Direct_Connect0
-#include <stdint.h>
-#include <pru_intc.h>
-#include "resource_table_pru0.h"
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-typedef struct {
-	uint32_t reg5;
-	uint32_t reg6;
-	uint32_t reg7;
-	uint32_t reg8;
-	uint32_t reg9;
-	uint32_t reg10;
-} bufferData;
-
-bufferData dmemBuf;
-
-/* PRU-to-ARM interrupt */
-#define PRU1_PRU0_INTERRUPT (18)
-#define PRU0_ARM_INTERRUPT (19+16)
-
-void main(void)
-{
-	/* Clear the status of all interrupts */
-	CT_INTC.SECR0 = 0xFFFFFFFF;
-	CT_INTC.SECR1 = 0xFFFFFFFF;
-
-	/* Load the buffer with default values to transfer */
-	dmemBuf.reg5 = 0xDEADBEEF;
-	dmemBuf.reg6 = 0xAAAAAAAA;
-	dmemBuf.reg7 = 0x12345678;
-	dmemBuf.reg8 = 0xBBBBBBBB;
-	dmemBuf.reg9 = 0x87654321;
-	dmemBuf.reg10 = 0xCCCCCCCC;
-
-	/* Poll until R31.30 (PRU0 interrupt) is set
-	 * This signals PRU1 is initialized */
-	while ((__R31 & (1<<30)) == 0) {
-	}
-
-	/* XFR registers R5-R10 from PRU0 to PRU1 */
-	/* 14 is the device_id that signifies a PRU to PRU transfer */
-	__xout(14, 5, 0, dmemBuf);
-
-	/* Clear the status of the interrupt */
-	CT_INTC.SICR = PRU1_PRU0_INTERRUPT;
-
-	/* Halt the PRU core */
-	__halt();
-}
diff --git a/books/pru-cookbook/07more/code/xout_run.sh b/books/pru-cookbook/07more/code/xout_run.sh
deleted file mode 100755
index 158cf472..00000000
--- a/books/pru-cookbook/07more/code/xout_run.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-# Be sure to start PRU 0 before PRU 1.  PRU 0 will wait for PRU 1 to signal it.
-make TARGET=xout.pru0
-make TARGET=xin.pru1
diff --git a/books/pru-cookbook/08ai/code/Makefile b/books/pru-cookbook/08ai/code/Makefile
deleted file mode 100644
index a7557fda..00000000
--- a/books/pru-cookbook/08ai/code/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-include /var/lib/cloud9/common/Makefile
diff --git a/books/pru-cookbook/08ai/code/pwm1.pru2_1.c b/books/pru-cookbook/08ai/code/pwm1.pru2_1.c
deleted file mode 100644
index d35f2185..00000000
--- a/books/pru-cookbook/08ai/code/pwm1.pru2_1.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <stdint.h>
-#include <pru_cfg.h>
-#include "resource_table_empty.h"
-#include "prugpio.h"
-
-#define P9_31 (0x1<<10)
-
-volatile register uint32_t __R30;
-volatile register uint32_t __R31;
-
-void main(void)
-{
-	uint32_t gpio = P9_31;	// Select which pin to toggle.;
-
-	/* Clear SYSCFG[STANDBY_INIT] to enable OCP master port */
-	CT_CFG.SYSCFG_bit.STANDBY_INIT = 0;
-
-	while(1) {
-		__R30 |= gpio;		// Set the GPIO pin to 1
-		__delay_cycles(100000000);
-		__R30 &= ~gpio;		// Clear the GPIO pin
-		__delay_cycles(100000000);
-	}
-}
diff --git a/books/pru-cookbook/code b/books/pru-cookbook/code
new file mode 160000
index 00000000..155c7a92
--- /dev/null
+++ b/books/pru-cookbook/code
@@ -0,0 +1 @@
+Subproject commit 155c7a92ca8352a75c97beb7d54ce022220d4f03
-- 
GitLab