This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、我目前使用 GDB 9.1和 MSP430 GDB Agent 8.0.809.0调试一个测试项目、我从以下位置获得:
https://www.ti.com/tool/MSP430-GCC-OPENSOURCE
该测试项目在 MSP430FR5994 Launchpad 上运行。 当我尝试在名为 ii 的全局变量上设置观察点时、我会收到以下错误消息:
(gdb)观察 ii
硬件观察点1:II
(gdb)信息中断
数字 类型 显示 ENB 地址 内容
1 硬件观察点 保持 y ii
(gdb) c
继续。
警告:
无法插入硬件观察点1。
无法插入硬件断点:
您可能请求了过多的硬件断点/观察点。
命令已中止。
在 GDB 代理上、我收到以下消息:
CPU 名称 端口
---- ----
MSP430 :55000
启动所有内核
CPU 名称 状态
---- ----
MSP430 正在等待客户端
MSP430 客户端已连接...正在连接到目标
在 COM18上找到 USB FET
目标已连接...正在启动服务器
错误:set_breakpoint()后端调用返回65
GDB 代理似乎无法设置硬件监视点。 这是已知问题/预期行为吗? 或者我在这里做了些什么错误吗?
如果能在这方面提供任何帮助,将不胜感激。
测试项目的来源如下:
#include
volatile int ii = 10;
int abc (int a){
返回(A+4);
}
int test (int i){
ii = ii + 1;
ii = abc (ii);
退货(ii);
}
int main (void){
WDTCTL = WDTPW | WDTHOLD; //停止看门狗计时器
PM5CTL0 &=~LOCKLPM5; //禁用 GPIO 上电默认高阻抗模式
P1DIR |= 0x01; //将 P1.0设置为输出方向
for (;;){
unsigned int i; // volatile 以阻止优化
P1OUT ^= 0x01; //使用异或切换 P1.0
I = 10000; // SW 延迟
II++;
II =测试(I);
我----
while (i!= 0);
}
}