[rtems-docs commit] user/beagle: Add debug hardware mod
Chris Johns
chrisj at rtems.org
Tue Oct 20 04:06:00 UTC 2020
Module: rtems-docs
Branch: master
Commit: 25525dc3ac8466da664385302c9682740004777f
Changeset: http://git.rtems.org/rtems-docs/commit/?id=25525dc3ac8466da664385302c9682740004777f
Author: Chris Johns <chrisj at rtems.org>
Date: Mon Oct 19 12:15:01 2020 +1100
user/beagle: Add debug hardware mod
---
images/user/bbb-p2-debug-mod.jpg | Bin 0 -> 197206 bytes
user/bsps/arm/beagle.rst | 61 +++++++++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+)
diff --git a/images/user/bbb-p2-debug-mod.jpg b/images/user/bbb-p2-debug-mod.jpg
new file mode 100755
index 0000000..1e6692b
Binary files /dev/null and b/images/user/bbb-p2-debug-mod.jpg differ
diff --git a/user/bsps/arm/beagle.rst b/user/bsps/arm/beagle.rst
index 489e756..ac49b1c 100644
--- a/user/bsps/arm/beagle.rst
+++ b/user/bsps/arm/beagle.rst
@@ -101,3 +101,64 @@ The function prototype is given below:
uintptr_t register_base,
rtems_vector_number irq
);
+
+Debugging
+---------
+
+RTEMS's ``libdebugger`` requires the ARM debug resources be enabled for it to
+work. The TI SOC used on the ``beagleboneblack`` board provides no access for
+software to the ARM defined debug enable signal ``DBGEN``. The signal is
+negated on power up locking software out of the ARM debug hardware. The signal
+can only be accessed via the JTAG interface.
+
+The ``beagleboneblack`` BSP provides a low level solution to enable the
+``DBGEN`` signal via the JTAG interface if the board has the following
+hardware modification installed. The modification requires the addition of two
+small wire links soldered to the pads of the JTAG connect on the underside of
+the board. A small length of fine wire, a fine tip soldering iron, some good
+quality solder and a pair of fine tip pliers are required. If you are new to
+soldering I suggest you find something to practice on first.
+
+The modification details and software driver can be found in the BSP in the
+file ``bsps/arm/beagle/start/bspdebug.c``. The driver is automatically run
+and the ``DBGEN`` is asserted via JTAG when ``libdebugger`` is started.
+
+The modification is:
+
+1. Locate P2 on the bottom side of the board. It is the JTAG connector
+ pads. If you look at the underside of the board with the SD card holder to
+ the right the pads are top center left. There are 20 pads in two
+ columns. The pads are numbered 1 at the top left then 2 top right, 3 is
+ second top on the left, 4 is second top to the right, then the pin number
+ increments as you move left then right down the pads.
+
+2. Connect P2 to P5.
+
+3. Connect P7 to P13.
+
+The resulting wiring is:
+
+.. code-block::
+
+ 1 === /--=== 2
+ 3 === | === 4
+ 5 ===--/ === 6
+ 7 ===--\ === 8
+ 9 === | === 10
+ 11 === | === 12
+ 13 ===--/ === 14
+ 15 === === 16
+ 17 === === 18
+ 19 === === 20
+
+.. figure:: ../../images/user/bbb-p2-debug-mod.jpg
+ :width: 50%
+ :align: center
+ :alt: BeagleBone Black JTAG Hardware Modification
+
+ BeagleBone Black JTAG Hardware Modification
+
+If ``libdebugger`` fails to detect the registers open the ``bspdebug.c``
+source and change ``has_tdo`` to ``1``, save then rebuild and install the
+BSP. This will turn on an internal feeback to check the JTAG logic. Discard
+the edit once the hardware is working.
More information about the vc
mailing list