TI中文支持网
TI专业的中文技术问题搜集分享网站

28335单步和连续运行加断点不一样

使用CCS5.4,单步运行传递变量地址自己变。。。提取设断点,全速跑起来又正常!这是怎么回事?

比如我程序:

main

{

 unsigned long test,i;

for(i=0;i<8;i++)

tt(&test);

这个时候看到地址假设:0x0000123。

}

单步进入到 tt(unsigned long  * pt)

{

进来后看 *pt只有第一次是 0x123,然后就是0x121,0x124,0x121。。。一直就不对了。

}

如果在main里的tt(&test)前面加断点,然后全速运行,看改变的test值,似乎又是正确的!。这个是用来xintf外设通讯的。

将stack和改大,换地方  没有什么帮助。。。请教,这会是什么原因??

Green Deng:CCS有开优化吗?有可能是开了优化以后,部分代码会优化掉,导致单步调试出问题。

使用CCS5.4,单步运行传递变量地址自己变。。。提取设断点,全速跑起来又正常!这是怎么回事?

比如我程序:

main

{

 unsigned long test,i;

for(i=0;i<8;i++)

tt(&test);

这个时候看到地址假设:0x0000123。

}

单步进入到 tt(unsigned long  * pt)

{

进来后看 *pt只有第一次是 0x123,然后就是0x121,0x124,0x121。。。一直就不对了。

}

如果在main里的tt(&test)前面加断点,然后全速运行,看改变的test值,似乎又是正确的!。这个是用来xintf外设通讯的。

将stack和改大,换地方  没有什么帮助。。。请教,这会是什么原因??

mangui zhang:全速中断后查看变量是实时更新的单步是不是更新不及时
能不能refresh

使用CCS5.4,单步运行传递变量地址自己变。。。提取设断点,全速跑起来又正常!这是怎么回事?

比如我程序:

main

{

 unsigned long test,i;

for(i=0;i<8;i++)

tt(&test);

这个时候看到地址假设:0x0000123。

}

单步进入到 tt(unsigned long  * pt)

{

进来后看 *pt只有第一次是 0x123,然后就是0x121,0x124,0x121。。。一直就不对了。

}

如果在main里的tt(&test)前面加断点,然后全速运行,看改变的test值,似乎又是正确的!。这个是用来xintf外设通讯的。

将stack和改大,换地方  没有什么帮助。。。请教,这会是什么原因??

Camel Santo:

回复 Green Deng:

您好,优化是off的。。这个和CMD的分配会不会有关系,如果有会是那一段有影响?

使用CCS5.4,单步运行传递变量地址自己变。。。提取设断点,全速跑起来又正常!这是怎么回事?

比如我程序:

main

{

 unsigned long test,i;

for(i=0;i<8;i++)

tt(&test);

这个时候看到地址假设:0x0000123。

}

单步进入到 tt(unsigned long  * pt)

{

进来后看 *pt只有第一次是 0x123,然后就是0x121,0x124,0x121。。。一直就不对了。

}

如果在main里的tt(&test)前面加断点,然后全速运行,看改变的test值,似乎又是正确的!。这个是用来xintf外设通讯的。

将stack和改大,换地方  没有什么帮助。。。请教,这会是什么原因??

Camel Santo:

回复 mangui zhang:

更新不及时 会导致每次进去看都会有不同的变换吗?每次进去都变。。。

赞(0)
未经允许不得转载:TI中文支持网 » 28335单步和连续运行加断点不一样
分享到: 更多 (0)