微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 关于cc2640r2的bim_oad_offchip_cc2640r2lp_app工程单步调试问题

关于cc2640r2的bim_oad_offchip_cc2640r2lp_app工程单步调试问题

时间:10-02 整理:3721RD 点击:

 我在开发cc2640r2的OffChip-OAD空中升级时遇到一些问题,

1、我在加载bim_oad_offchip_cc2640r2lp_app进行在线调试的时候无法无法进入main函数进行单步调试,而是进入了一个奇怪的地址,如下图所示,

这样对我的调试造成了麻烦,请问为什么加载别的工程没有问题,只有加载bim工程时会出现这样的问题?请问该怎样让调试进入main函数然后进行正常的调试呢?

请问每次跳的地址是一样的吗?看着像是你的程序正在执行不受控的指令,正好停到这个地址。由于该地址没有源代码,所以CCS发出这种诊断

是的,每一次跳的地址都是一样的,请问为什么只有在线调试BIM程序的时候会出现这样的情况,跳转到一个不受控的地址,而不是进入main函数呢?

如何才能正确进入main函数进行单步调试呢?

是的,每一次跳的地址都是一样的,请问为什么只有在线调试BIM程序的时候会出现这样的情况,跳转到一个不受控的地址,而不是进入main函数呢?

如何才能正确进入main函数进行单步调试呢?

这个问题已经找到答案了,我在startup_ccs.c的ResetISR(void)中打断点发现程序进入了ResetISR函数,继续单步调试发现卡在了    SetupTrimDevice();内部的芯片识别中,在单步调试中被错误识别成了CC2640芯片而不是CC2640r2。接着由于芯片错误停在了一个while(1)死循环中,所以在线调试无法进入main函数。

后来发现这是由于我使用了XDS100V3仿真器造成的,如果使用官方推荐的XDS110V3就不会出现这样的情况。XDS100V3在线调试时会预读芯片信息到仿真器中,导致在线仿真的时候不能正确读出芯片型号。但在脱离在线调试的环境是可以正常识别出来的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top