嗨对话框:
我的设备已经运行了几个小时了。当我试图连接到设备时,发生了一个难以解决的问题。以下是异常信息。它似乎发生在attmdb_svc_get_permission在我的代码中没有使用。
——高频状态
r0 = 0 x00000000
r1 = 0 x00000001
r2 = 0 x00000009
r3 = 0 x07fcca01
r12 = 0 x00000009
lr = 0 x07f1045f
电脑= 0 x00000000
psr = 0 x20000000
地图信息:
attmdb_att_set_permission 0x07f10373 Thumb Code 0 da14585_symbols.txt
attmdb_att_update_perm 0x07f103e7 Thumb Code 0 da14585_symbols.txt
attmdb_svc_get_permission 0x07f10455 Thumb Code 0 da14585_symbols.txt
attmdb_att_get_permission 0x07f10473 Thumb Code 0 da14585_symbols.txt
attmdb_svc_set_permission 0x07f10575 Thumb Code 0 da14585_symbols.txt
attmdb_init 0x07f10599 Thumb Code 0 da14585_symbols.txt
设备:
嗨ericxiong,
当硬件故障发生时,可以共享STATUS_BASE中存储所有寄存器的转储吗?你还在使用哪个SDK ?
由于MT_dialog
嗨MT_dialog:
它是UART输出的所有信息。SDK版本为6.0.6.427。
嗨ericxiong,
对不起,但即使我运行attmdb_svc_get_permission()直接在连接回调,我没有得到你提到的硬错误,你能够复制与添加一些代码在任何SDK示例提供?
由于MT_dialog
并不是每次都这样。我只捕捉到了一次。我的代码是否会损坏导致问题的ram内容?你能猜到是什么引起的吗?
顺便说一下,我在sdk6驱动代码中发现一些全局变量没有放在保留内存中,这可能会导致崩溃,但是它在da14580中没有引起问题。
另一个例外:
——高频状态
r0 = 0 x00000005
r1 = 0 x00000006
r2 = 0 x00000006
r3 = 0 x00000018
r12 = 0 x00000020
lr = 0 x07f1111f
电脑= 0 x00000000
psr = 0 x00000000
地图:
atts_clear_prep_data 0x07f10ae1 Thumb Code 0 da14585_symbols.txt
atts_clear_rsp_data 0x07f10b05 Thumb Code 0 da14585_symbols.txt
atts_write_rsp_send 0x07f10b55 Thumb Code 0 da14585_symbols.txt
atts_mtu_exc_req 0x07f10b75 Thumb Code 0 da14585_symbols.txt绝对
atts_l2cc_pdu_recv_handler_func 0x07f1177f拇指代码0 da14585_symbols.txt绝对
atts_allocate_pdu 0x07f11957 Thumb Code 0 da14585_symbols.txt
嗨ericxiong,
只是猜测是完全可能的,看上去可疑的是,电脑总是显示为零,那么我可以假设是当hardfault发生,在代码中一些部队个人电脑去零,并从那一刻开始会发生什么是不可预测的。所以我可以假设,在你的代码中,你正在访问一个NULL指针,或以某种方式,你正在破坏内存,在一个指针访问,指针最终为零。
由于MT_dialog