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.

C6455 变量地址冲突



大家好,我遇到个奇怪的问题。

我的环境是CCS5.5, 编译器是cgt v7.4,CSL包是03.00.10.02。

我的工程只有一个c文件。

文件开头定义了一个全局变量: 

CSL_GpioHandle hGpio_tx;

执行我的GPIO初始化函数里的

hGpio_tx = CSL_gpioOpen(&gpioObj, CSL_GPIO, NULL, &status);

语句时,可以看到,hGpio_tx指向了0x0080EAA0,里面成员的地址分别是0x0080EAA0,0x0080EAA4,0x0080EAA6。如下图:

当执行到另一个函数 Gpio_Tx_Set时,如下图:

可以看到,该函数传递的参数 value的地址也是0x0080EAA4,pinNum地址是0x0080EAA8,...

明显与前面的地址重复了,而且也会同时修改。

这是怎么造成的呢?

附件是我的工程,还请各位高手能指点一二!

6558.MyTimerUart.zip