TI技术专家:
你好!我用CCS5.5定义了一个全局变量,但下面的函数里对其赋值后,在调试过程中观察全局变量并没有
赋上值,定义时我加了volatile关键字也不行。请专家给予指点,谢谢!
rookiecalf:
请说明你的定义方式,赋值用法,以及赋值时的断点调试前后结果比照情况
TI技术专家:
你好!我用CCS5.5定义了一个全局变量,但下面的函数里对其赋值后,在调试过程中观察全局变量并没有
赋上值,定义时我加了volatile关键字也不行。请专家给予指点,谢谢!
Yingzhe Luo:
回复 rookiecalf:
你好!一下是程序的和调试结果的截图。
程序运行到第18行,data是全局变量,但data和a赋值都不正确。
谢谢!
TI技术专家:
你好!我用CCS5.5定义了一个全局变量,但下面的函数里对其赋值后,在调试过程中观察全局变量并没有
赋上值,定义时我加了volatile关键字也不行。请专家给予指点,谢谢!
rookiecalf:
回复 Yingzhe Luo:
是不是开了优化。你可以把这两个变量实际使用一下看看,别只做这两个没有什么意义的操作(就是要把那个警告消除了)。或者看一下汇编到底是什么。
TI技术专家:
你好!我用CCS5.5定义了一个全局变量,但下面的函数里对其赋值后,在调试过程中观察全局变量并没有
赋上值,定义时我加了volatile关键字也不行。请专家给予指点,谢谢!
Yingzhe Luo:
回复 rookiecalf:
谢谢解答!
我将a这个变量用return返回了一下,但还是没有赋上值。优化和汇编怎么看呢?
TI技术专家:
你好!我用CCS5.5定义了一个全局变量,但下面的函数里对其赋值后,在调试过程中观察全局变量并没有
赋上值,定义时我加了volatile关键字也不行。请专家给予指点,谢谢!
rookiecalf:
回复 Yingzhe Luo:
优化页面是属性–》ccs build–》c2000 compiler–>optimization。
汇编查看是View–》Disassembly
TI技术专家:
你好!我用CCS5.5定义了一个全局变量,但下面的函数里对其赋值后,在调试过程中观察全局变量并没有
赋上值,定义时我加了volatile关键字也不行。请专家给予指点,谢谢!
Yingzhe Luo:
回复 rookiecalf:
你好,谢谢答复!
我替换了cmd文件:F28M36x_generic_wshared_C28_RAM.cmd,原来用的是F28M36x_generic_wshared_C28_FLASHcmd。替换后,全局变量就能赋值了,
请问这是什么原因?谢谢!
TI技术专家:
你好!我用CCS5.5定义了一个全局变量,但下面的函数里对其赋值后,在调试过程中观察全局变量并没有
赋上值,定义时我加了volatile关键字也不行。请专家给予指点,谢谢!
rookiecalf:
回复 Yingzhe Luo:
不会是把用于存放变量的段放在了flash或者其他不可写的RAM的存储区了吧?
TI技术专家:
你好!我用CCS5.5定义了一个全局变量,但下面的函数里对其赋值后,在调试过程中观察全局变量并没有
赋上值,定义时我加了volatile关键字也不行。请专家给予指点,谢谢!
Yingzhe Luo:
回复 rookiecalf:
你好!
我检查了一下,是把该段放进了shared ram里面了。
TI技术专家:
你好!我用CCS5.5定义了一个全局变量,但下面的函数里对其赋值后,在调试过程中观察全局变量并没有
赋上值,定义时我加了volatile关键字也不行。请专家给予指点,谢谢!
囧:
回复 Yingzhe Luo:
你所说的share ram具体是哪个型号的哪一段?
TI技术专家:
你好!我用CCS5.5定义了一个全局变量,但下面的函数里对其赋值后,在调试过程中观察全局变量并没有
赋上值,定义时我加了volatile关键字也不行。请专家给予指点,谢谢!
Yingzhe Luo:
回复 囧:
你好,我用的DSP是F28M36x系列,存储段用的是shared rams的s0段