新手入门
- 积分
- 7
- 金钱
- 7
- 注册时间
- 2021-6-24
- 在线时间
- 0 小时
|
楼主 |
发表于 2021-6-24 20:20:51
|
显示全部楼层
操作系统:ucos-II 单片机型号:STM32105RBT6 内存64K现在某个任务需要一个较大的缓存区【图1】,用来登记符合条件的工作记录的(数组中的一个元素存一条记录),所以想把任务堆栈的容量调大【图2】,但是调很高了,程序也经常跑飞,或者IAR直接不能调试, 觉得可能是堆栈溢出了,就去修改了CSTACK【图3】,然后神奇的发现调高CSTACK问题不能解决!!调小后(比如600)问题却消失了!! 现在暂时用着没发现问题,比较担心以后记录多了,会不会出现什么情况。。。。 比较想问问懂的大佬的问题有两个: ①UCOS开辟的堆栈空间难道的是全局变量的空间嘛??所以把局部变量的空间调小等同于扩大了任务堆栈的空间余量嘛?? ②如果像我这种把CSTACK调小的解决方式,后期调用的记录多了(例如800条),会不会出问题呢 |
|