summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/lpc43xx/lpc43_irq.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-07-11 15:56:12 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-07-11 15:56:12 +0000
commit17fe2e97f7102db7e1d44183d0483c006d52c36d (patch)
tree54c954004bcf984d1682103f7241e30a7cf2e8d6 /nuttx/arch/arm/src/lpc43xx/lpc43_irq.c
parent018badad37fb444f4ed0373a1d68136aed608d2a (diff)
downloadpx4-nuttx-17fe2e97f7102db7e1d44183d0483c006d52c36d.tar.gz
px4-nuttx-17fe2e97f7102db7e1d44183d0483c006d52c36d.tar.bz2
px4-nuttx-17fe2e97f7102db7e1d44183d0483c006d52c36d.zip
LP43xx... disable debug traps on hardfaults
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4929 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/arm/src/lpc43xx/lpc43_irq.c')
-rw-r--r--nuttx/arch/arm/src/lpc43xx/lpc43_irq.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/nuttx/arch/arm/src/lpc43xx/lpc43_irq.c b/nuttx/arch/arm/src/lpc43xx/lpc43_irq.c
index ee7afd881..6455be399 100644
--- a/nuttx/arch/arm/src/lpc43xx/lpc43_irq.c
+++ b/nuttx/arch/arm/src/lpc43xx/lpc43_irq.c
@@ -271,6 +271,9 @@ static int lpc43_irqinfo(int irq, uint32_t *regaddr, uint32_t *bit)
void up_irqinitialize(void)
{
uint32_t regaddr;
+#ifdef CONFIG_DEBUG
+ uint32_t regval;
+#endif
int num_priority_registers;
/* Disable all interrupts */
@@ -357,6 +360,14 @@ void up_irqinitialize(void)
lpc43_dumpnvic("initial", LPC43M4_IRQ_NIRQS);
+ /* If a debugger is connected, try to prevent it from catching hardfaults */
+
+#ifdef CONFIG_DEBUG
+ regval = getreg32(NVIC_DEMCR);
+ regval &= ~NVIC_DEMCR_VCHARDERR;
+ putreg32(regval, NVIC_DEMCR);
+#endif
+
/* And finally, enable interrupts */
#ifndef CONFIG_SUPPRESS_INTERRUPTS