Hello,
I have aBluetooth@SmartDevelopment Kit - Pro with a DA14580ATDB-P Daugherboard.
Can I run the code of the "Beacon Battery Powered" reference Design found here
http://support.dialog-semiconductor.com/reference-designs
I compiled the code with uVison 5 and started the Debugging session which loads the code into the RAM of the DA14580.
But when I run the code it stops in the hardfault_handler.c at line 121:
if ((GetWord16(SYS_STAT_REG) & DBG_IS_UP) == DBG_IS_UP)
__asm("BKPT #0\n");
else
(1);
What do I have to do to get the code running on the chip?
I imagine that the hardware of the chip is sufficient to act as a beacon.
Device:
Hi ChrisHab,
You cant debug while the application is configured to switch into sleep mode. Thats why the program stops. You can change the sleep mode configuration of the beacon by undefining the CFG_EXT_SLEEP and CFG_DEEP_SLEEP in the da14580_config.h
Thanks MT_dialog
I am having the same issue.
But I have set the following:
#undef CFG_EXT_SLEEP
#undef CFG_DEEP_SLEEP
This helped the debugger to not stop at line ..849 in arch_system.c
while ((GetWord16(SYS_STAT_REG) & DBG_IS_UP) == DBG_IS_UP) {};
ChrisHab is seeing the same as me ... hardfault_handler.c at line 121
So the question is why we are entering HardFault_HandlerC() ... ?
Sounds like some users have seen this in the past ... but solution not clear ...
http://support.dialog-semiconductor.com/da14580tag3206-keil-bug-break
http://support.dialog-semiconductor.com/da14580-cannot-work-stable
I didn't make any real changes to my working code ... exploring further though ...
Fixed my issue.
I am using UART, and my UART RX pin wire had been unplugged, and left to float. It appears it floated low.
Upon system initialization, it appears a UART RX interrupt was firing before a UART handler was ready.