亲爱的对话框半,
我在ROM中碰到一个断点0x07F22F50。我最初检查了映射文件,发现它在0x07F22C19的attm_svc_create_db_128函数附近,但是在从ROM代码中排除这个函数后,我仍然碰到这个断点,没有在源代码中重定向到这个函数。
对于调试这些断点,您有什么建议步骤吗?如果有一个带有断点的ROM地址/函数的列表以及它们周围的源代码,或者一个关于该位置上的断点意味着什么的描述,那就太好了。
在我的情况下,我每秒都在击中这个断点我连接。我连接,断开连接,然后再次连接并点击此断点。第一个连接完美且稳定,我可以读取属性并使用指示/通知,等等。断开连接后,然后尝试再次连接,连接失败了100%的时间。在目标应用程序方面,我收到on_disconnect()回调与原因62。
在Wireshark中嗅探BLE连接,可以看到连接设备发送了一个连接请求,发送了6个pdu报文后没有响应就放弃了。
我确信这是一个简单的错误配置,但是ROM断点已经使它相当难以确定。
谢谢,
迈克
关键词:
设备:
嗨mbwjr12,
请按照SmartSnippets Studio(SSS)的步骤操作。出于演示目的,使用SDK6.0.12的Prox_reporter示例。SDK6.0.12创建了一个基于Eclipse的项目。该项目是邻近记者,它位于Projects \ target_apps \ ble_examples \ prox_reporter \ eclipse sdk路径下。
1.下载并安装SmartSnippets Studio (SSS)最新版本(v2.0.10)。
2.打开工具并选择工作区目录。建议在没有.metadata文件夹的情况下按照SPEAR SDK工作区中的步骤操作。
3.打开“Eclipse IDE”并导入PXP_Reporter项目。
4.从“Project Explorer”窗口右键单击PXP_Reporter,然后选择“属性”。请检查附加的图像并取消单击“生成错误而不是警告”选项。
5.构建DA14531配置的项目。在GUI的顶部,你会发现一个“锤子”-你需要从下拉菜单中选择第一个选项。
6.当构建完成后,从“项目资源管理器”窗口中右键单击pxp_reporter项目文件夹,并选择“属性”。(参见step6.png)
7.在预处理器定义的符号中添加_EXCLUDE_ROM_CUSTS1_ _EXCLUDE_ROM_ATTM_DB_128_。(参见step7.png)
8.请“申请”和“确定”。
9.在文本编辑器中导航到\ sdk \ common_project_files \ misc sds路径和打开da14531_symbols.txt。
10.搜索__EXCLUDE_ROM_CUSTS1__和__EXCLUDE_ROM_ATTM_DB_128__
11.用cust1和attm 128数据库注释所有相关函数。
12.保存并关闭da14531_symbols.txt文件。
13.-为DA14531配置构建项目,并将其下载到RAM。
请让我知道这个程序是否有效。
谢谢,PM_Dialog
你好,对话框,
我已经成功地排除了这些部分。现在我可以在调试器中很好地单步调试被排除的代码。我可以在输出映射文件中看到,这段代码现在来自那些.o文件,而不是da14531_symbols.txt文件:
attm_svc_create_db_128 0x07fc29a5 Thumb Code 518
在第二次连接时,我仍然碰到断点0x07f22f50,没有它的源代码。我也可以在map文件中看到,在这个区域不再有任何attm或cust1函数,所以它一定是ROM中的一些其他函数。
bas_prf_itf_get 0x07f21a6d Thumb Code 0 da14531_symbols.txt绝对
suotar_prf_itf_get 0x07f22059 Thumb Code 0 da14531_symbols.txt绝对
app_gap_process_handler 0x07f2328d Thumb Code 0 da14531_symbols.txt绝对
app_entry_point_handler 0x07f232a9 Thumb Code 0 da14531_symbols.txt
谢谢,
迈克
嗨,迈克,
是否有可能在断点到达时共享屏幕截图?你有自定义代码吗,或者你正在运行由SDK6.0.12提供的prox_reporter项目。另外,能否请您指出这是否在Keil IDE中复制?
谢谢,PM_Dialog
我最终通过读取程序集找到了问题:TASK_APP状态没有设置为APP_CONNECTABLE。
我在用Keil和GCC编译时碰到了这个问题,我尝试在Keil IDE、Eclipse和Segger Ozone下进行调试,结果都是一样的。
嗨mbwjr12,
很高兴你解决了你的问题,谢谢你的暗示。
谢谢,PM_Dialog