aboutsummaryrefslogtreecommitdiffstats
path: root/source/troubleshooting.rst
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-08-19 14:03:06 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2011-08-19 14:07:09 -0400
commit02a32f2b79ead308306975576910ef731e760492 (patch)
tree1b733d0f2497bb180de31b2428de016e97895547 /source/troubleshooting.rst
parent653c06fed765d9748e18f289ac3f1e995c6a9486 (diff)
downloadlibrambutan-02a32f2b79ead308306975576910ef731e760492.tar.gz
librambutan-02a32f2b79ead308306975576910ef731e760492.zip
troubleshooting.rst: Add debugging pointers to "throbbing LED" item.
Diffstat (limited to 'source/troubleshooting.rst')
-rw-r--r--source/troubleshooting.rst16
1 files changed, 15 insertions, 1 deletions
diff --git a/source/troubleshooting.rst b/source/troubleshooting.rst
index 80f6df4..7654c40 100644
--- a/source/troubleshooting.rst
+++ b/source/troubleshooting.rst
@@ -17,9 +17,23 @@ This page documents common problems and their solutions.
The LED is throbbing and my program is stopped!
-----------------------------------------------
-The LED throbs when there has been a failed software :ref:`assertion
+The LED throbs when there has been a failed software :ref:`ASSERT()
<lang-assert>` or some other error.
+In the case of a failed assertion, a first debugging step you can take
+is to find out the file and line where the failed assertion took place
+(for instructions on this, see the ``ASSERT()`` documentation linked
+to above). This may give you some clue about the source of the error.
+
+:ref:`libmaple` often uses ``ASSERT()`` to halt immediately when it
+detects that something has gone wrong, so if you're not using
+assertions, then what's probably happening is that some bug is causing
+the failed ``ASSERT()`` lower down.
+
+If it's not a failed assertion, then you're likely looking at
+something like a `hard fault
+<http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337e/ch05s12s01.html>`_.
+
There are a few issues with the bootloader which mean you might not be
able to upload your program when this happens. You can still
reprogram by using :ref:`perpetual bootloader mode