很抱歉听到这个消息。这只是一个猜测,因为这就是我。但是,我不明白。但我肯定熟悉问题!是绝对没有办法我发现调试。就我而言我有DA14580连接Tera术语,当错误发生时我得到一堆垃圾被打印到屏幕上;就像一个人之前上传十六进制文件。我没有发生在Windows 7,但那是我的案件显然是发生在系统初始化(之前到达app_init ())。显然你是启动和运行。我不得不说有时我得到hardfault在Windows 8。 Small changes in the organization of this struct make a big difference.
你在Windows 8吗?我得到同样的行为,但出于不同的原因。我相信这是由于STRH指示对齐内存。这应该引起hardfault而不是一个完整的重置崩溃和Windows 7我工作时得到hardfault。是的编译器应该对齐内存,但出现问题。
我在windows 8是的。这是一个严重的问题,因为对我来说是不可能的调试。我有是问题的唯一信息是一致的。
我可以试着找到一个windows 7的机器,但是你为什么认为我没有hardfault windows 8 ?有那么多区别它们呢?
所以我试着windows 7,一模一样的结果!
很抱歉听到这个消息。这只是一个猜测,因为这就是我。但是,我不明白。但我肯定熟悉问题!是绝对没有办法我发现调试。就我而言我有DA14580连接Tera术语,当错误发生时我得到一堆垃圾被打印到屏幕上;就像一个人之前上传十六进制文件。我没有发生在Windows 7,但那是我的案件显然是发生在系统初始化(之前到达app_init ())。显然你是启动和运行。我不得不说有时我得到hardfault在Windows 8。 Small changes in the organization of this struct make a big difference.
这是其他东西你可以看看。我认为你有一些缓冲,写数据。检查/ lst目录的地图。是否加载之前跳表或别的arch_main的关键。
首先寻找这样的一条线
rwip_rf 0 0 rom_symdef x0008071c数据。txt绝对
现在找你的数组。在我的情况下,结构我玩之前加载系统中这些关键任务项。即使是正确的大小,如果它被错误的灾难可能发生(显然)保持一致。缺点是我无法控制的系统负载的位置我的数组。我也在内存耗尽的边缘(我写一个完全托管中心)。如果缓冲区(假设你有一个)坐落在一些关键的像堆跳表,看看你能不能坚持一个较小的缓冲区之间的缓冲区,表。你需要使用一些缓冲或编译器会优化出来(除非你是在优化级别0)。
我不是说这将解决任何问题,但它值得一试的其他选项(不知道要做什么)。
布莱恩,
这事情,我没有缓冲来自堆栈。数据来自gattc_write_cmd_ind_handler直接从堆栈并使用attmdb_att_set_value我将其保存到数据库。
我不使用我的缓冲区在这个过程。
布赖恩谢谢你的帮助,希望有人从对话框可以或许做了一些阐述。我猜SUOTA他们使用相同的方法
你好,
这也许是由于这一事实DA14580进入睡眠模式或看门狗定时器跳跃。
你用睡眠模式?是使用的监督?
对话框蓝牙支持团队。
你好,
监管机构和扩展和深度睡眠模式都是禁用的。
你好,如果你看看我们的代码你可以看到用于调试目的敝中断处理程序(nmi_handler.c)和Harfault处理程序(hardfault_handler.c)将把手臂寄存器(包括PC和SP)在内存中。“崩溃”后你可以atach调试器和调查“最后”的状态。
对话框蓝牙支持团队。
它与调试器连接崩溃。
Hardfaults不叫,所有的寄存器都是空白的,包括电脑。
我需要尽快为客户工作所以很高兴给你方寄去我方固件和android代码如果有帮助
你好,
我怀疑这是一个栈的问题所以我增加BLE_CONNECTION_MAX_USER 2将增加堆栈(#定义NON_RET_HEAP_SIZE #定义ENV_HEAP_SIZE #定义MSG_HEAP_SIZE)
我可以发送我的数据没有崩溃。
但是如果我我发送3200字节的数据量的两倍,当然它崩溃。很明显在栈内存问题
我说过在我原来的文章,我读的特点后每个200字节,以确保数据已写的所以我不能明白为什么应该有任何堆栈溢出问题。
你能帮助吗?
你好,
我怎样才能帮助解决这个问题吗?它已经5天,唯一响应从你已经检查我已经告诉过你在我原来的职位。