TIwilliam hill官网
直播中

h1654155275.5879

7年用户 201经验值
私信 关注
[问答]

CCS v5程序中数组放在函数局部与 全局的差异

在CCS v5中进行编程,开发板是6670,遇到一个比较不理解的问题,即当较大数据量(如10000以上的float类型数据)的一维数组放到函数的内部作为局部变量使用,与放在外部作为全局变量使用有很大的差异。
当数组放在函数内作为局部变量时,有时会发生读取数组出错,会读到乱码的情况。
而数组放到函数外部作为全局变量时没有读错的情况。
同时发现放作为局部变量时程序测试的时间要比作为全局变量的程序测试时间长。
请问一下这种情况是正常现象么? 是什么原因导致的呢?谢谢!

回帖(1)

杨娟

2018-6-21 03:31:04
1 局部变量是存放在stack中,全局变量存放的位置取决于cmd;
2 至于读数存在错误,可以看看是否局部数组大小超出stack大小,stack大小在cmd中有定义;
3 时间长短,取决于数据存放的位置,可以看看局部时stack及全局时相应存放的位置是在LL2还是在外部memory。
                                                                          

举报

更多回帖

发帖
×
20
完善资料,
赚取积分