diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-07-11 15:56:12 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-07-11 15:56:12 +0000 |
commit | 17fe2e97f7102db7e1d44183d0483c006d52c36d (patch) | |
tree | 54c954004bcf984d1682103f7241e30a7cf2e8d6 /nuttx/arch/arm/src/lpc43xx/lpc43_irq.c | |
parent | 018badad37fb444f4ed0373a1d68136aed608d2a (diff) | |
download | px4-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.c | 11 |
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 |