共2条
1/1 1 跳转至页
DSP 大虾们帮忙看看一个DSP程序语句的问题吧

问
在ccs中调试DSP系统
程序运行到下面这段时总是没有执行!
for(i=0;i<256;i++)
{
temp=*(Uint8 *)(ADDRESS + i);
*(pointer + i)=temp;
}
ADDRESS是前面定义的一个SDRAM地址
在for处设置了一个断点,
调试时,程序运行到断点处停止
这个时候如果把光标移到temp=*(Uint8 *)(ADDRESS + i)语句
并选择将程序运行到此处时,提示错误:
这不是一个有效行(it is not a valide command line )!
如果直接运行,这个语句就没有执行,c语言好像没什么问题,但就是不知道为什么,大虾们帮我分析一下吧!
bow 答 1: temp 被优化掉了, 变成
*(pointer + i)= *(Uint8 *)(ADDRESS + i); 答 2: temp前面加一个 volatiletemp前面加一个 volatile 就不会优化掉了 答 3: 顶上边两楼的很是厉害 答 4: volatile 嵌入开发程序有用的说
程序运行到下面这段时总是没有执行!
for(i=0;i<256;i++)
{
temp=*(Uint8 *)(ADDRESS + i);
*(pointer + i)=temp;
}
ADDRESS是前面定义的一个SDRAM地址
在for处设置了一个断点,
调试时,程序运行到断点处停止
这个时候如果把光标移到temp=*(Uint8 *)(ADDRESS + i)语句
并选择将程序运行到此处时,提示错误:
这不是一个有效行(it is not a valide command line )!
如果直接运行,这个语句就没有执行,c语言好像没什么问题,但就是不知道为什么,大虾们帮我分析一下吧!
bow 答 1: temp 被优化掉了, 变成
*(pointer + i)= *(Uint8 *)(ADDRESS + i); 答 2: temp前面加一个 volatiletemp前面加一个 volatile 就不会优化掉了 答 3: 顶上边两楼的很是厉害 答 4: volatile 嵌入开发程序有用的说
共2条
1/1 1 跳转至页