for(i = 0 ; i < 20 ; i ++ )
{
//code
}
在调试版上执行该语句的时候发现根本不会进入for循环内部执行,而同样的代码放在同一工程的另一个就能很好的执行。在调试时发现定义的变量i被存放到了reserved memory,所以在调试版上是不能正常执行for循环的,出现illegal opcode提示,而用ccs仿真时则可以正常执行。
请问
1.为什么ccs会把变量放到reserved memory呢?
3.我在程序中定义了好多数组指针,并且每个数组都较大。程序只知道有这么个指针但不清楚我会向里边放多少数据,我该怎么保证数据安全,就是不让ccs把其他变量分配到这一空间。
Yu Liu7:
不知道你是否选择了正确的芯片,最好能够提供符合芯片和硬件的cmd文件。
第二个问题需要看看链接器手册。不过如果预先知道大小不如直接定义数组。