mian.h里
ukk.c里
void ukk()
{
j++;
}
Nancy Wang:
你是指ukk()中的i,j变量无法初始化为0?我试了一下没问题,只是没加上你提到的头文件。cmd文件和GEL文件都添加了吗?
user6426306:
回复 Nancy Wang:
添加了,我运行别的函数也没有这样的问题,单独是最后一个函数出现了这样的事情,我怀疑是不是内部地址的原因,您看看那个我下面写的猜测
Nancy Wang:
回复 user6426306:
cmd文件贴出来看一下。
user6426306:
回复 Nancy Wang:
6678cmd.txt
Nancy Wang:
回复 user6426306:
你说的地址原因是指什么?
分配的地址是在DDR3。
/* 多核共享内存及 DDR3 */
#ifdef SOC_C6678MSMCSRAMo = 0x0C000000 l = 0x00400000/* 4MB多核共享内存 (DSP C6678) */DDR3o = 0x80000000 l = 0x40000000/* 1GBDDR3 (DSP C6678) */
user6426306:
回复 Nancy Wang:
如我上面提问里:问题和猜测部分:就是在.map文件里可以看到这个函数的入口地址(UKK.obj (.text)是82b9c400,里面的变量地址都是82bbb0b800000120UKK.obj (.const:$P$T0$1)82bbb1d800000120UKK.obj (.const:$P$T1$2)82bbb2f800000120UKKobj (.const:$P$T2$3)82bbb41800000120UKK.obj (.const:$P$T3$4))
可是我在函数里定义的int i,j,显示i地址是82bb45d8,j地址是82bb45dc)
怀疑1:UKK.obj (.const)的地址是不是应该和我的ij地址相同?
怀疑2:ij这里的地址有什么值吗,为啥显示的值不是我赋值的量,也就是不能赋值
Nancy Wang:
回复 user6426306:
.bss段是存放未初始化的全局变量。查一下map文件中的i j分别被分配到哪个段。你定义的局部变量i,j在没有被赋值前,系统会分配一个随机值,另外建议局部变量换一下变量名。
你将工程上传,我试一下。