你好,
我有一个蓝牙@ smart.开发套件 - 具有DA14580ATDB-P-P-P-P-P的Pro。
我可以运行这里找到的“信标电池供电”参考设计的代码
http://support.dialog-semicondiondiondiondum/reference-designs.
我用UVISON 5编译了代码,并启动了将代码加载到DA14580的RAM中的调试会话。
但是当我运行代码时,它会在121行停止在HardFault_Handler.c中:
if((getword16(sys_stat_reg)&dbg_is_up)== dbg_is_up)
__asm(“bkpt#0 \ n”);
别的
而(1);
我要做什么来获得芯片上运行的代码?
我想到芯片的硬件足以充当信标。
设备:
嗨Chrishab,
在应用程序配置为切换到睡眠模式时,您无法调试。这就是计划停止的原因。您可以通过在da14580_config.h中拒绝cfg_ext_sleep和cfg_deep_sleep来更改信标的睡眠模式配置
谢谢mt_dialog.
我有相同的问题。
但我已经确定了以下内容:
#undef cfg_ext_sleep.
#undef cfg_deep_sleep.
这有助于调试器不会在Arch_System.c中停止在线.849
而((getword16(sys_stat_reg)&dbg_is_up)== dbg_is_up){};
Chrishab与我相同... HardFault_Handler.cn 121
所以问题就是为什么我们进入hardfault_handlerc()......?
听起来有些用户过去已经看到过这个...但解决方案不明确......
http://support.dialog-semicondiondiondum/da14580tag3206-keil-bug-break.
http://support.dialog-semicondiondiondum/da14580-cannot-work-stable.
我没有对我的工作代码进行任何实际变化......虽然进一步探索......
修复了我的问题。
我正在使用UART,我的UART RX PI线已拔掉,并左侧浮动。它看起来漂浮。
在系统初始化时,在UART处理程序准备好之前触发UART RX中断。