我有4个板,被看门狗定时器重置后不久SPI flash引导。
这些板使用PAN1740模块。
通过添加GPIO切换整个代码,我确定软件调用rwip_init从来没有回报。
我在以前的文章,别人看到这个问题由于硬件(接地)问题。因为我们使用PAN1740,这有点不太可能,但还是可能的。这是复杂的事实,这个设计工作前板上运行,但这多是由一个新的供应商(新的对我们来说,他们是一个建立,良好的制造商)。
你能建议如何继续解决这些问题?我很乐意提供源代码,图表等,通过电子邮件。
谢谢,
凯文
设备:
嗨hughesk,
如果你试图运行没有睡眠模式,设备操作或未赋值时,监管机构?也尝试运行开发工具包的弗兰克-威廉姆斯和检查设备是否操作板或尝试运行示例的最新的SDK在舞台上你提到。您还可以检查(肯定)检查NMI_Handler摊位的代码()通过检查代码的摊位和监督。
由于MT_dialog
我也关注这个问题,我看到改变人们的行为可能受到一些微妙的硬件定时。
禁用睡眠不会改变行为,并使用SDK 5.0.4也没有。SPS配置文件示例DA1458x_DSPS_v_5.150.2只有Tx和Rx港口别针展品相同的行为改变,有时硬故障有时好。
自从CFG_HOST因此BLE_HOST_PRESENT都是定义,rwip_init()是不能用于步进通过rwip_init (ROM)调用堆栈,不会在源代码的版本。试图跟踪异常捕获堆栈ROM代码是不可能,除非是可用的来源。
嗨nzbackpackers
设备摊位Hardfault或敝中断(监管机构)不管你使用SDK版本?如果设备执行代码正确或不与任何特定的事件是独立的吗?你看到电脑中断最终在ROM地址相对应rwip_init不管SDK()使用(您可以检查电脑Hardfault或敝中断和匹配的地址映射文件)?
由于MT_dialog
Hardfault处理程序:看起来像smpc。obj在0 x200002280 - 0 x20002298(有关
这只发生在黑板上我手保暖DA14580时使用吹风机;如果冷却器问题消失。销重置或power-off-on重置都不可靠地恢复,有时尽管power-off-on重启并恢复。我以后再重新通过SDK5版本。
。text x20002194节0 atts_task.obj (。text)
。text x20002280节0 smpc.obj (。text)
。text x2000236c节0 smpc_task.obj (。text)
嗨nzbackpackers,
所以你必须温暖起来为了让设备有这样的行为,关于设备的重置和恢复不正常可能是相关的引导装载程序温度依赖是由于一个错误的测量的ADC在引导,但这将导致要么单个或多个引导装载程序的执行,而不是执行失败,当设备无法启动,摊在启动或它总是摊位由于Hardfault吗?
上述事实你有吹风机设备会影响参数太多,580年推荐的操作条件是在85摄氏度的温度下,但是温度会影响晶体(减少稳定时间)。请试试最新的SDK,但你应该检查确切的温度,设备达到和你开始有这些问题,也是一个烤箱将是一个比吹风机更适当的温度测试。
由于MT_dialog
故障出现随机,但是确保温暖(热手的温度,低于85度),而不是酷会增加失败的频率对应用程序的权力。有时设备从未到达hardfault,代码甚至不能走,当然运行一个调试会话影响行为。
关于ADC &引导装载程序使用温度测量你提到,我看不到任何文档的引导装载程序测试和后续行动。这是可用的吗?我看到几个值可能被测试:
DA14580 ADC
单端模式
= = = = = = = = = = = = = = = = =
0000 - 0011 = P0 [0] . . PO [3]
0100 =住客
0101 = VDD_REF
0110 = VDD_RTT
0111 = VBAT3V
1000 = VDCDC
1001 = VBAT1V
(其他人保留)
差模
= = = = = = = = = = = = = = = = =
0000 = P0 [0] vs P0 [1]
其他= P0 [2] vs P0 [3]
我也找不到电源连接细节在PAN1740 DA14580模块;你知道他们是否可用?松下数据表我没有透露具体细节。Fig.9和无花果,对话框中的12 DA14580数据表意味着VDCDC-VDCDC_RF外部连接(ADC和RF)与外部滤波电容器,但这些都是隐藏在该模块。
我测试最新的SDK,到目前为止我看到的缺点在启动时:
NVIC_ClearPendingIRQ
ble_rxdesccnt.getf
我将继续测试——谢谢你的帮助解决这个问题。
嗨nzbackpackers,
的ADC functionallity是ROM引导装载程序的一部分,不可用,就像我说的虽然不应影响设备的操作,因为温度的变化影响的次数,引导装载程序将执行顺序启动过程,而不是引导装载程序本身。由于设备运行和摊位在某些时候当代码已经引导我不认为这是你的问题。
我不知道如果锅的内部连接模块可用,但自从崩溃是随机的,据我理解你有时失去连接与调试器也许你应该检查你的电源(应该很稳定没有涟漪)或印刷电路板的组装有问题,我检查松下,我将让你知道当我有一些反馈关于你的要求,但是对这个问题最合理的解释与PCB组装。
由于MT_dialog
我终于能够重现这个问题使用对话框empty_peripheral_template SDK5软件;当它冷却好但当暖手热(小于65度)失败的代码。复苏的代码只有在冷却和重置。我嗅探包使用北欧部分。我将试着捕捉失速点失败,目前看起来像一个敝中断。
权力是干净的,我认为没有问题;供应sepatate LDO是干净的输入和输出。
一旦运行温度不是一个问题,即使很热——至少65度。
对话框empty_peripheral_template软件
从我的测试温度敏感组件是PAN1740模块因为接触加热模块没有提高周围的温度组件故障。对话框empty_peripheral_template软件用凯尔SDK5 v5.22.0.0我得到一个可重复的打破在0 0 xfffffffe从NMI_Handler x200004b2似乎起源于DA14580罗x40fffffc调用地址显示为0。直到出现控制,只需发出重置重复故障即使冷却模块。后控制冷却后轻微故障。然而在对话框中empty_peripheral_template软件NMI_Handler boot_vectors()代码。年代不调用NMI_HandlerC()和堆栈跟踪是不捕获到STATUS_BASE 0 x81850。凯尔表示NMI_Handler称为0 xfffffffe这也许意味着硬故障,尽管HardFault_Handler()似乎没有达到,所以HardFault_HandlerN()调用一次又一次不信息复制到STATUS_BASE(这个时间在0 x81800)。DEVELOPMENT_DEBUG定义,但堆栈信息显然不是保存(敝中断所有= 0)在对话框的代码。手工预先写好的测试值没有改变。除非加热略在早期文章所提到的,此代码工作正常和广播广告包如预期的那样,没有观察到当加热故障一旦成功启动。
客户的应用程序代码
在客户机的应用程序代码HardFault_HandlerN(),但没有真正的调试设备出现功能。
堆栈跟踪:
0 xfffffffe
NMI_Handler位置/值0 x200004b2类型void (f)
0 x00000000
DEVELOPMENT_DEBUG定义,但堆栈信息来自先前的失败;随后的失败在调试模式下不产生任何堆栈跟踪信息。STATUS_BASE在保留内存0 x81850敝中断和0 x81800 HardFault处理程序:
/ /栈跟踪客户的代码失败后开始
/ / = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/ / 0 x81800 0 x81850 < = = STATUS_BASE
/ /
/ / HardFault敝中断寄存器地址
/ / = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/ / 0 x00000000 0 x00000013 R0
/ / 0 x00000000 0 x00000000 R0
/ / 0 x00000000 0 x00000000 R1
/ / 0 x00000000 0 x00000000 R2
/ / 0 x00000000 0 x00000000 R3
/ / 0 x00000000 0 x00010100 R12
/ / 0 x00000000 0 x00000000 LR
/ / 0 x00000000 0 x01000000电脑
/ / 0 x00000000 0 x00000000 PSR
/ /
/ / 0 x00000000 0 x00000000 xe000ed28 CFSR 0
/ / 0 x00000000 0 x00000000 xe000ed2c HFSR 0
/ / 0 x00000000 0 x00000000 xe000ed30 DFSR 0
/ / 0 x00000000 0 x00000000 xe000ed3c AFSR 0
/ / 0 x00000000 0 x00000000 xe000ed34 MMAR 0
/ / 0 x00000000 0 x00000000 xe000ed38 BFAR 0
嗨nzbackpackers,
由于设备非功能性一旦加热低于85,你一定没有问题的电源模块,然后印刷电路板的组装是应该检查(问题当加热设备可能出现由于焊接inadequancy)。NMI_Handler()不应该发生,只要没有监督的过去,尽管模板定义的监督,不确定你是否尝试过没有监督。我不认为你所经历与SDK,因为做任何事情只要我可以告诉的错误,你也没有任何一致性和SDK提供的例子是超过测试。我假设您正在测试这个问题在多个设备。
由于MT_dialog